summaryrefslogtreecommitdiff
path: root/usr/src/man/man3curses
diff options
context:
space:
mode:
Diffstat (limited to 'usr/src/man/man3curses')
-rw-r--r--usr/src/man/man3curses/Makefile1140
-rw-r--r--usr/src/man/man3curses/curs_addch.3curses184
-rw-r--r--usr/src/man/man3curses/curs_addchstr.3curses107
-rw-r--r--usr/src/man/man3curses/curs_addstr.3curses98
-rw-r--r--usr/src/man/man3curses/curs_addwch.3curses195
-rw-r--r--usr/src/man/man3curses/curs_addwchstr.3curses114
-rw-r--r--usr/src/man/man3curses/curs_addwstr.3curses103
-rw-r--r--usr/src/man/man3curses/curs_alecompat.3curses103
-rw-r--r--usr/src/man/man3curses/curs_attr.3curses237
-rw-r--r--usr/src/man/man3curses/curs_beep.3curses63
-rw-r--r--usr/src/man/man3curses/curs_bkgd.3curses91
-rw-r--r--usr/src/man/man3curses/curs_border.3curses134
-rw-r--r--usr/src/man/man3curses/curs_clear.3curses110
-rw-r--r--usr/src/man/man3curses/curs_color.3curses183
-rw-r--r--usr/src/man/man3curses/curs_delch.3curses76
-rw-r--r--usr/src/man/man3curses/curs_deleteln.3curses97
-rw-r--r--usr/src/man/man3curses/curs_getch.3curses232
-rw-r--r--usr/src/man/man3curses/curs_getstr.3curses84
-rw-r--r--usr/src/man/man3curses/curs_getwch.3curses232
-rw-r--r--usr/src/man/man3curses/curs_getwstr.3curses99
-rw-r--r--usr/src/man/man3curses/curs_getyx.3curses84
-rw-r--r--usr/src/man/man3curses/curs_inch.3curses109
-rw-r--r--usr/src/man/man3curses/curs_inchstr.3curses99
-rw-r--r--usr/src/man/man3curses/curs_initscr.3curses135
-rw-r--r--usr/src/man/man3curses/curs_inopts.3curses253
-rw-r--r--usr/src/man/man3curses/curs_insch.3curses76
-rw-r--r--usr/src/man/man3curses/curs_insstr.3curses110
-rw-r--r--usr/src/man/man3curses/curs_instr.3curses96
-rw-r--r--usr/src/man/man3curses/curs_inswch.3curses81
-rw-r--r--usr/src/man/man3curses/curs_inswstr.3curses111
-rw-r--r--usr/src/man/man3curses/curs_inwch.3curses87
-rw-r--r--usr/src/man/man3curses/curs_inwchstr.3curses102
-rw-r--r--usr/src/man/man3curses/curs_inwstr.3curses97
-rw-r--r--usr/src/man/man3curses/curs_kernel.3curses178
-rw-r--r--usr/src/man/man3curses/curs_move.3curses64
-rw-r--r--usr/src/man/man3curses/curs_outopts.3curses179
-rw-r--r--usr/src/man/man3curses/curs_overlay.3curses83
-rw-r--r--usr/src/man/man3curses/curs_pad.3curses136
-rw-r--r--usr/src/man/man3curses/curs_printw.3curses85
-rw-r--r--usr/src/man/man3curses/curs_refresh.3curses119
-rw-r--r--usr/src/man/man3curses/curs_scanw.3curses90
-rw-r--r--usr/src/man/man3curses/curs_scr_dump.3curses103
-rw-r--r--usr/src/man/man3curses/curs_scroll.3curses78
-rw-r--r--usr/src/man/man3curses/curs_slk.3curses158
-rw-r--r--usr/src/man/man3curses/curs_termattrs.3curses136
-rw-r--r--usr/src/man/man3curses/curs_termcap.3curses109
-rw-r--r--usr/src/man/man3curses/curs_terminfo.3curses278
-rw-r--r--usr/src/man/man3curses/curs_touch.3curses105
-rw-r--r--usr/src/man/man3curses/curs_util.3curses140
-rw-r--r--usr/src/man/man3curses/curs_window.3curses189
-rw-r--r--usr/src/man/man3curses/curses.3curses3866
-rw-r--r--usr/src/man/man3curses/form_cursor.3curses98
-rw-r--r--usr/src/man/man3curses/form_data.3curses61
-rw-r--r--usr/src/man/man3curses/form_driver.3curses777
-rw-r--r--usr/src/man/man3curses/form_field.3curses141
-rw-r--r--usr/src/man/man3curses/form_field_attributes.3curses132
-rw-r--r--usr/src/man/man3curses/form_field_buffer.3curses128
-rw-r--r--usr/src/man/man3curses/form_field_info.3curses102
-rw-r--r--usr/src/man/man3curses/form_field_just.3curses136
-rw-r--r--usr/src/man/man3curses/form_field_new.3curses129
-rw-r--r--usr/src/man/man3curses/form_field_opts.3curses228
-rw-r--r--usr/src/man/man3curses/form_field_userptr.3curses83
-rw-r--r--usr/src/man/man3curses/form_field_validation.3curses100
-rw-r--r--usr/src/man/man3curses/form_fieldtype.3curses146
-rw-r--r--usr/src/man/man3curses/form_hook.3curses138
-rw-r--r--usr/src/man/man3curses/form_new.3curses96
-rw-r--r--usr/src/man/man3curses/form_new_page.3curses98
-rw-r--r--usr/src/man/man3curses/form_opts.3curses119
-rw-r--r--usr/src/man/man3curses/form_page.3curses158
-rw-r--r--usr/src/man/man3curses/form_post.3curses155
-rw-r--r--usr/src/man/man3curses/form_userptr.3curses82
-rw-r--r--usr/src/man/man3curses/form_win.3curses135
-rw-r--r--usr/src/man/man3curses/forms.3curses1014
-rw-r--r--usr/src/man/man3curses/menu_attributes.3curses143
-rw-r--r--usr/src/man/man3curses/menu_cursor.3curses101
-rw-r--r--usr/src/man/man3curses/menu_driver.3curses352
-rw-r--r--usr/src/man/man3curses/menu_format.3curses109
-rw-r--r--usr/src/man/man3curses/menu_hook.3curses130
-rw-r--r--usr/src/man/man3curses/menu_item_current.3curses147
-rw-r--r--usr/src/man/man3curses/menu_item_name.3curses64
-rw-r--r--usr/src/man/man3curses/menu_item_new.3curses109
-rw-r--r--usr/src/man/man3curses/menu_item_opts.3curses115
-rw-r--r--usr/src/man/man3curses/menu_item_userptr.3curses83
-rw-r--r--usr/src/man/man3curses/menu_item_value.3curses100
-rw-r--r--usr/src/man/man3curses/menu_item_visible.3curses53
-rw-r--r--usr/src/man/man3curses/menu_items.3curses127
-rw-r--r--usr/src/man/man3curses/menu_mark.3curses94
-rw-r--r--usr/src/man/man3curses/menu_new.3curses109
-rw-r--r--usr/src/man/man3curses/menu_opts.3curses182
-rw-r--r--usr/src/man/man3curses/menu_pattern.3curses108
-rw-r--r--usr/src/man/man3curses/menu_post.3curses153
-rw-r--r--usr/src/man/man3curses/menu_userptr.3curses84
-rw-r--r--usr/src/man/man3curses/menu_win.3curses135
-rw-r--r--usr/src/man/man3curses/menus.3curses290
-rw-r--r--usr/src/man/man3curses/panel_above.3curses70
-rw-r--r--usr/src/man/man3curses/panel_move.3curses63
-rw-r--r--usr/src/man/man3curses/panel_new.3curses67
-rw-r--r--usr/src/man/man3curses/panel_show.3curses76
-rw-r--r--usr/src/man/man3curses/panel_top.3curses66
-rw-r--r--usr/src/man/man3curses/panel_update.3curses54
-rw-r--r--usr/src/man/man3curses/panel_userptr.3curses70
-rw-r--r--usr/src/man/man3curses/panel_window.3curses67
-rw-r--r--usr/src/man/man3curses/panels.3curses100
103 files changed, 18895 insertions, 0 deletions
diff --git a/usr/src/man/man3curses/Makefile b/usr/src/man/man3curses/Makefile
new file mode 100644
index 0000000000..38c70c783e
--- /dev/null
+++ b/usr/src/man/man3curses/Makefile
@@ -0,0 +1,1140 @@
+#
+# This file and its contents are supplied under the terms of the
+# Common Development and Distribution License ("CDDL"), version 1.0.
+# You may only use this file in accordance with the terms of version
+# 1.0 of the CDDL.
+#
+# A full copy of the text of the CDDL should have accompanied this
+# source. A copy of the CDDL is also available via the Internet
+# at http://www.illumos.org/license/CDDL.
+#
+
+# Copyright 2011, Richard Lowe
+
+include ../../Makefile.master
+
+MANSECT = 3curses
+
+MANFILES = curs_addch.3curses \
+ curs_addchstr.3curses \
+ curs_addstr.3curses \
+ curs_addwch.3curses \
+ curs_addwchstr.3curses \
+ curs_addwstr.3curses \
+ curs_alecompat.3curses \
+ curs_attr.3curses \
+ curs_beep.3curses \
+ curs_bkgd.3curses \
+ curs_border.3curses \
+ curs_clear.3curses \
+ curs_color.3curses \
+ curs_delch.3curses \
+ curs_deleteln.3curses \
+ curs_getch.3curses \
+ curs_getstr.3curses \
+ curs_getwch.3curses \
+ curs_getwstr.3curses \
+ curs_getyx.3curses \
+ curs_inch.3curses \
+ curs_inchstr.3curses \
+ curs_initscr.3curses \
+ curs_inopts.3curses \
+ curs_insch.3curses \
+ curs_insstr.3curses \
+ curs_instr.3curses \
+ curs_inswch.3curses \
+ curs_inswstr.3curses \
+ curs_inwch.3curses \
+ curs_inwchstr.3curses \
+ curs_inwstr.3curses \
+ curs_kernel.3curses \
+ curs_move.3curses \
+ curs_outopts.3curses \
+ curs_overlay.3curses \
+ curs_pad.3curses \
+ curs_printw.3curses \
+ curs_refresh.3curses \
+ curs_scanw.3curses \
+ curs_scr_dump.3curses \
+ curs_scroll.3curses \
+ curs_slk.3curses \
+ curs_termattrs.3curses \
+ curs_termcap.3curses \
+ curs_terminfo.3curses \
+ curs_touch.3curses \
+ curs_util.3curses \
+ curs_window.3curses \
+ curses.3curses \
+ form_cursor.3curses \
+ form_data.3curses \
+ form_driver.3curses \
+ form_field.3curses \
+ form_field_attributes.3curses \
+ form_field_buffer.3curses \
+ form_field_info.3curses \
+ form_field_just.3curses \
+ form_field_new.3curses \
+ form_field_opts.3curses \
+ form_field_userptr.3curses \
+ form_field_validation.3curses \
+ form_fieldtype.3curses \
+ form_hook.3curses \
+ form_new.3curses \
+ form_new_page.3curses \
+ form_opts.3curses \
+ form_page.3curses \
+ form_post.3curses \
+ form_userptr.3curses \
+ form_win.3curses \
+ forms.3curses \
+ menu_attributes.3curses \
+ menu_cursor.3curses \
+ menu_driver.3curses \
+ menu_format.3curses \
+ menu_hook.3curses \
+ menu_item_current.3curses \
+ menu_item_name.3curses \
+ menu_item_new.3curses \
+ menu_item_opts.3curses \
+ menu_item_userptr.3curses \
+ menu_item_value.3curses \
+ menu_item_visible.3curses \
+ menu_items.3curses \
+ menu_mark.3curses \
+ menu_new.3curses \
+ menu_opts.3curses \
+ menu_pattern.3curses \
+ menu_post.3curses \
+ menu_userptr.3curses \
+ menu_win.3curses \
+ menus.3curses \
+ panel_above.3curses \
+ panel_move.3curses \
+ panel_new.3curses \
+ panel_show.3curses \
+ panel_top.3curses \
+ panel_update.3curses \
+ panel_userptr.3curses \
+ panel_window.3curses \
+ panels.3curses
+
+MANSOFILES = addch.3curses \
+ addchnstr.3curses \
+ addchstr.3curses \
+ addnstr.3curses \
+ addnwstr.3curses \
+ addstr.3curses \
+ addwch.3curses \
+ addwchnstr.3curses \
+ addwchstr.3curses \
+ addwstr.3curses \
+ adjcurspos.3curses \
+ attroff.3curses \
+ attron.3curses \
+ attrset.3curses \
+ baudrate.3curses \
+ beep.3curses \
+ bkgd.3curses \
+ bkgdset.3curses \
+ border.3curses \
+ bottom_panel.3curses \
+ box.3curses \
+ can_change_color.3curses \
+ cbreak.3curses \
+ clear.3curses \
+ clearok.3curses \
+ clrtobot.3curses \
+ clrtoeol.3curses \
+ color_content.3curses \
+ copywin.3curses \
+ current_field.3curses \
+ current_item.3curses \
+ curs_set.3curses \
+ data_ahead.3curses \
+ data_behind.3curses \
+ def_prog_mode.3curses \
+ def_shell_mode.3curses \
+ del_curterm.3curses \
+ del_panel.3curses \
+ delay_output.3curses \
+ delch.3curses \
+ deleteln.3curses \
+ delscreen.3curses \
+ delwin.3curses \
+ derwin.3curses \
+ doupdate.3curses \
+ dup_field.3curses \
+ dupwin.3curses \
+ dynamic_field_info.3curses \
+ echo.3curses \
+ echochar.3curses \
+ echowchar.3curses \
+ endwin.3curses \
+ erase.3curses \
+ erasechar.3curses \
+ field_arg.3curses \
+ field_back.3curses \
+ field_buffer.3curses \
+ field_count.3curses \
+ field_fore.3curses \
+ field_index.3curses \
+ field_info.3curses \
+ field_init.3curses \
+ field_just.3curses \
+ field_opts.3curses \
+ field_opts_off.3curses \
+ field_opts_on.3curses \
+ field_pad.3curses \
+ field_status.3curses \
+ field_term.3curses \
+ field_type.3curses \
+ field_userptr.3curses \
+ filter.3curses \
+ flash.3curses \
+ flushinp.3curses \
+ form_fields.3curses \
+ form_init.3curses \
+ form_opts_off.3curses \
+ form_opts_on.3curses \
+ form_sub.3curses \
+ form_term.3curses \
+ free_field.3curses \
+ free_fieldtype.3curses \
+ free_form.3curses \
+ free_item.3curses \
+ free_menu.3curses \
+ getbegyx.3curses \
+ getch.3curses \
+ getmaxyx.3curses \
+ getnwstr.3curses \
+ getparyx.3curses \
+ getstr.3curses \
+ getsyx.3curses \
+ getwch.3curses \
+ getwin.3curses \
+ getwstr.3curses \
+ getyx.3curses \
+ halfdelay.3curses \
+ has_colors.3curses \
+ has_ic.3curses \
+ has_il.3curses \
+ hide_panel.3curses \
+ idcok.3curses \
+ idlok.3curses \
+ immedok.3curses \
+ inch.3curses \
+ inchnstr.3curses \
+ inchstr.3curses \
+ init_color.3curses \
+ init_pair.3curses \
+ initscr.3curses \
+ innstr.3curses \
+ innwstr.3curses \
+ insch.3curses \
+ insdelln.3curses \
+ insertln.3curses \
+ insnstr.3curses \
+ insnwstr.3curses \
+ insstr.3curses \
+ instr.3curses \
+ inswch.3curses \
+ inswstr.3curses \
+ intrflush.3curses \
+ inwch.3curses \
+ inwchnstr.3curses \
+ inwchstr.3curses \
+ inwstr.3curses \
+ is_linetouched.3curses \
+ is_wintouched.3curses \
+ isendwin.3curses \
+ item_count.3curses \
+ item_description.3curses \
+ item_index.3curses \
+ item_init.3curses \
+ item_name.3curses \
+ item_opts.3curses \
+ item_opts_off.3curses \
+ item_opts_on.3curses \
+ item_term.3curses \
+ item_userptr.3curses \
+ item_value.3curses \
+ item_visible.3curses \
+ keyname.3curses \
+ keypad.3curses \
+ killchar.3curses \
+ leaveok.3curses \
+ link_field.3curses \
+ link_fieldtype.3curses \
+ longname.3curses \
+ menu_back.3curses \
+ menu_fore.3curses \
+ menu_grey.3curses \
+ menu_init.3curses \
+ menu_opts_off.3curses \
+ menu_opts_on.3curses \
+ menu_pad.3curses \
+ menu_sub.3curses \
+ menu_term.3curses \
+ meta.3curses \
+ move.3curses \
+ move_field.3curses \
+ move_panel.3curses \
+ movenextch.3curses \
+ moveprevch.3curses \
+ mvaddch.3curses \
+ mvaddchnstr.3curses \
+ mvaddchstr.3curses \
+ mvaddnstr.3curses \
+ mvaddnwstr.3curses \
+ mvaddstr.3curses \
+ mvaddwch.3curses \
+ mvaddwchnstr.3curses \
+ mvaddwchstr.3curses \
+ mvaddwstr.3curses \
+ mvcur.3curses \
+ mvdelch.3curses \
+ mvderwin.3curses \
+ mvgetch.3curses \
+ mvgetnwstr.3curses \
+ mvgetstr.3curses \
+ mvgetwch.3curses \
+ mvgetwstr.3curses \
+ mvinch.3curses \
+ mvinchnstr.3curses \
+ mvinchstr.3curses \
+ mvinnstr.3curses \
+ mvinnwstr.3curses \
+ mvinsch.3curses \
+ mvinsnstr.3curses \
+ mvinsnwstr.3curses \
+ mvinsstr.3curses \
+ mvinstr.3curses \
+ mvinswch.3curses \
+ mvinswstr.3curses \
+ mvinwch.3curses \
+ mvinwchnstr.3curses \
+ mvinwchstr.3curses \
+ mvinwstr.3curses \
+ mvprintw.3curses \
+ mvscanw.3curses \
+ mvwaddch.3curses \
+ mvwaddchnstr.3curses \
+ mvwaddchstr.3curses \
+ mvwaddnstr.3curses \
+ mvwaddnwstr.3curses \
+ mvwaddstr.3curses \
+ mvwaddwch.3curses \
+ mvwaddwchnstr.3curses \
+ mvwaddwchstr.3curses \
+ mvwaddwstr.3curses \
+ mvwdelch.3curses \
+ mvwgetch.3curses \
+ mvwgetnwstr.3curses \
+ mvwgetstr.3curses \
+ mvwgetwch.3curses \
+ mvwgetwstr.3curses \
+ mvwin.3curses \
+ mvwinch.3curses \
+ mvwinchnstr.3curses \
+ mvwinchstr.3curses \
+ mvwinnstr.3curses \
+ mvwinnwstr.3curses \
+ mvwinsch.3curses \
+ mvwinsnstr.3curses \
+ mvwinsnwstr.3curses \
+ mvwinsstr.3curses \
+ mvwinstr.3curses \
+ mvwinswch.3curses \
+ mvwinswstr.3curses \
+ mvwinwch.3curses \
+ mvwinwchnstr.3curses \
+ mvwinwchstr.3curses \
+ mvwinwstr.3curses \
+ mvwprintw.3curses \
+ mvwscanw.3curses \
+ napms.3curses \
+ new_field.3curses \
+ new_fieldtype.3curses \
+ new_form.3curses \
+ new_item.3curses \
+ new_menu.3curses \
+ new_page.3curses \
+ new_panel.3curses \
+ newpad.3curses \
+ newterm.3curses \
+ newwin.3curses \
+ nl.3curses \
+ nocbreak.3curses \
+ nodelay.3curses \
+ noecho.3curses \
+ nonl.3curses \
+ noqiflush.3curses \
+ noraw.3curses \
+ notimeout.3curses \
+ overlay.3curses \
+ overwrite.3curses \
+ pair_content.3curses \
+ panel_below.3curses \
+ panel_hidden.3curses \
+ pechochar.3curses \
+ pechowchar.3curses \
+ pnoutrefresh.3curses \
+ pos_form_cursor.3curses \
+ pos_menu_cursor.3curses \
+ post_form.3curses \
+ post_menu.3curses \
+ prefresh.3curses \
+ printw.3curses \
+ putp.3curses \
+ putwin.3curses \
+ qiflush.3curses \
+ raw.3curses \
+ redrawwin.3curses \
+ refresh.3curses \
+ replace_panel.3curses \
+ reset_prog_mode.3curses \
+ reset_shell_mode.3curses \
+ resetty.3curses \
+ restartterm.3curses \
+ ripoffline.3curses \
+ savetty.3curses \
+ scale_form.3curses \
+ scale_menu.3curses \
+ scanw.3curses \
+ scr_dump.3curses \
+ scr_init.3curses \
+ scr_restore.3curses \
+ scr_set.3curses \
+ scrl.3curses \
+ scroll.3curses \
+ scrollok.3curses \
+ set_current_field.3curses \
+ set_current_item.3curses \
+ set_curterm.3curses \
+ set_field_back.3curses \
+ set_field_buffer.3curses \
+ set_field_fore.3curses \
+ set_field_init.3curses \
+ set_field_just.3curses \
+ set_field_opts.3curses \
+ set_field_pad.3curses \
+ set_field_status.3curses \
+ set_field_term.3curses \
+ set_field_type.3curses \
+ set_field_userptr.3curses \
+ set_fieldtype_arg.3curses \
+ set_fieldtype_choice.3curses \
+ set_form_fields.3curses \
+ set_form_init.3curses \
+ set_form_opts.3curses \
+ set_form_page.3curses \
+ set_form_sub.3curses \
+ set_form_term.3curses \
+ set_form_userptr.3curses \
+ set_form_win.3curses \
+ set_item_init.3curses \
+ set_item_opts.3curses \
+ set_item_term.3curses \
+ set_item_userptr.3curses \
+ set_item_value.3curses \
+ set_max_field.3curses \
+ set_menu_back.3curses \
+ set_menu_fore.3curses \
+ set_menu_format.3curses \
+ set_menu_grey.3curses \
+ set_menu_init.3curses \
+ set_menu_items.3curses \
+ set_menu_mark.3curses \
+ set_menu_opts.3curses \
+ set_menu_pad.3curses \
+ set_menu_pattern.3curses \
+ set_menu_sub.3curses \
+ set_menu_term.3curses \
+ set_menu_userptr.3curses \
+ set_menu_win.3curses \
+ set_new_page.3curses \
+ set_panel_userptr.3curses \
+ set_term.3curses \
+ set_top_row.3curses \
+ setscrreg.3curses \
+ setsyx.3curses \
+ setterm.3curses \
+ setupterm.3curses \
+ show_panel.3curses \
+ slk_attroff.3curses \
+ slk_attron.3curses \
+ slk_attrset.3curses \
+ slk_clear.3curses \
+ slk_init.3curses \
+ slk_label.3curses \
+ slk_noutrefresh.3curses \
+ slk_refresh.3curses \
+ slk_restore.3curses \
+ slk_set.3curses \
+ slk_touch.3curses \
+ standend.3curses \
+ standout.3curses \
+ start_color.3curses \
+ subpad.3curses \
+ subwin.3curses \
+ syncok.3curses \
+ termattrs.3curses \
+ termname.3curses \
+ tgetent.3curses \
+ tgetflag.3curses \
+ tgetnum.3curses \
+ tgetstr.3curses \
+ tgoto.3curses \
+ tigetflag.3curses \
+ tigetnum.3curses \
+ tigetstr.3curses \
+ timeout.3curses \
+ top_panel.3curses \
+ top_row.3curses \
+ touchline.3curses \
+ touchwin.3curses \
+ tparm.3curses \
+ tputs.3curses \
+ typeahead.3curses \
+ unctrl.3curses \
+ ungetch.3curses \
+ ungetwch.3curses \
+ unpost_form.3curses \
+ unpost_menu.3curses \
+ untouchwin.3curses \
+ update_panels.3curses \
+ use_env.3curses \
+ vidattr.3curses \
+ vidputs.3curses \
+ vwprintw.3curses \
+ vwscanw.3curses \
+ waddch.3curses \
+ waddchnstr.3curses \
+ waddchstr.3curses \
+ waddnstr.3curses \
+ waddnwstr.3curses \
+ waddstr.3curses \
+ waddwch.3curses \
+ waddwchnstr.3curses \
+ waddwchstr.3curses \
+ waddwstr.3curses \
+ wadjcurspos.3curses \
+ wattroff.3curses \
+ wattron.3curses \
+ wattrset.3curses \
+ wbkgd.3curses \
+ wbkgdset.3curses \
+ wborder.3curses \
+ wclear.3curses \
+ wclrtobot.3curses \
+ wclrtoeol.3curses \
+ wcursyncup.3curses \
+ wdelch.3curses \
+ wdeleteln.3curses \
+ wechochar.3curses \
+ wechowchar.3curses \
+ werase.3curses \
+ wgetch.3curses \
+ wgetnstr.3curses \
+ wgetnwstr.3curses \
+ wgetstr.3curses \
+ wgetwch.3curses \
+ wgetwstr.3curses \
+ whline.3curses \
+ winch.3curses \
+ winchnstr.3curses \
+ winchstr.3curses \
+ winnstr.3curses \
+ winnwstr.3curses \
+ winsch.3curses \
+ winsdelln.3curses \
+ winsertln.3curses \
+ winsnstr.3curses \
+ winsnwstr.3curses \
+ winsstr.3curses \
+ winstr.3curses \
+ winswch.3curses \
+ winswstr.3curses \
+ winwch.3curses \
+ winwchnstr.3curses \
+ winwchstr.3curses \
+ winwstr.3curses \
+ wmove.3curses \
+ wmovenextch.3curses \
+ wmoveprevch.3curses \
+ wnoutrefresh.3curses \
+ wprintw.3curses \
+ wredrawln.3curses \
+ wrefresh.3curses \
+ wscanw.3curses \
+ wscrl.3curses \
+ wsetscrreg.3curses \
+ wstandend.3curses \
+ wstandout.3curses \
+ wsyncdown.3curses \
+ wsyncup.3curses \
+ wtimeout.3curses \
+ wtouchln.3curses \
+ wvline.3curses
+
+MANFILES += $(MANSOFILES)
+
+addch.3curses := SOSRC = man3curses/curs_addch.3curses
+echochar.3curses := SOSRC = man3curses/curs_addch.3curses
+mvaddch.3curses := SOSRC = man3curses/curs_addch.3curses
+mvwaddch.3curses := SOSRC = man3curses/curs_addch.3curses
+waddch.3curses := SOSRC = man3curses/curs_addch.3curses
+wechochar.3curses := SOSRC = man3curses/curs_addch.3curses
+
+addchnstr.3curses := SOSRC = man3curses/curs_addchstr.3curses
+addchstr.3curses := SOSRC = man3curses/curs_addchstr.3curses
+mvaddchnstr.3curses := SOSRC = man3curses/curs_addchstr.3curses
+mvaddchstr.3curses := SOSRC = man3curses/curs_addchstr.3curses
+mvwaddchnstr.3curses := SOSRC = man3curses/curs_addchstr.3curses
+mvwaddchstr.3curses := SOSRC = man3curses/curs_addchstr.3curses
+waddchnstr.3curses := SOSRC = man3curses/curs_addchstr.3curses
+waddchstr.3curses := SOSRC = man3curses/curs_addchstr.3curses
+
+addnstr.3curses := SOSRC = man3curses/curs_addstr.3curses
+addstr.3curses := SOSRC = man3curses/curs_addstr.3curses
+mvaddnstr.3curses := SOSRC = man3curses/curs_addstr.3curses
+mvaddstr.3curses := SOSRC = man3curses/curs_addstr.3curses
+mvwaddnstr.3curses := SOSRC = man3curses/curs_addstr.3curses
+mvwaddstr.3curses := SOSRC = man3curses/curs_addstr.3curses
+waddnstr.3curses := SOSRC = man3curses/curs_addstr.3curses
+waddstr.3curses := SOSRC = man3curses/curs_addstr.3curses
+
+addwch.3curses := SOSRC = man3curses/curs_addwch.3curses
+echowchar.3curses := SOSRC = man3curses/curs_addwch.3curses
+mvaddwch.3curses := SOSRC = man3curses/curs_addwch.3curses
+mvwaddwch.3curses := SOSRC = man3curses/curs_addwch.3curses
+waddwch.3curses := SOSRC = man3curses/curs_addwch.3curses
+wechowchar.3curses := SOSRC = man3curses/curs_addwch.3curses
+
+addwchnstr.3curses := SOSRC = man3curses/curs_addwchstr.3curses
+addwchstr.3curses := SOSRC = man3curses/curs_addwchstr.3curses
+mvaddwchnstr.3curses := SOSRC = man3curses/curs_addwchstr.3curses
+mvaddwchstr.3curses := SOSRC = man3curses/curs_addwchstr.3curses
+mvwaddwchnstr.3curses := SOSRC = man3curses/curs_addwchstr.3curses
+mvwaddwchstr.3curses := SOSRC = man3curses/curs_addwchstr.3curses
+waddwchnstr.3curses := SOSRC = man3curses/curs_addwchstr.3curses
+waddwchstr.3curses := SOSRC = man3curses/curs_addwchstr.3curses
+
+addnwstr.3curses := SOSRC = man3curses/curs_addwstr.3curses
+addwstr.3curses := SOSRC = man3curses/curs_addwstr.3curses
+mvaddnwstr.3curses := SOSRC = man3curses/curs_addwstr.3curses
+mvaddwstr.3curses := SOSRC = man3curses/curs_addwstr.3curses
+mvwaddnwstr.3curses := SOSRC = man3curses/curs_addwstr.3curses
+mvwaddwstr.3curses := SOSRC = man3curses/curs_addwstr.3curses
+waddnwstr.3curses := SOSRC = man3curses/curs_addwstr.3curses
+waddwstr.3curses := SOSRC = man3curses/curs_addwstr.3curses
+
+adjcurspos.3curses := SOSRC = man3curses/curs_alecompat.3curses
+movenextch.3curses := SOSRC = man3curses/curs_alecompat.3curses
+moveprevch.3curses := SOSRC = man3curses/curs_alecompat.3curses
+wadjcurspos.3curses := SOSRC = man3curses/curs_alecompat.3curses
+wmovenextch.3curses := SOSRC = man3curses/curs_alecompat.3curses
+wmoveprevch.3curses := SOSRC = man3curses/curs_alecompat.3curses
+
+attroff.3curses := SOSRC = man3curses/curs_attr.3curses
+attron.3curses := SOSRC = man3curses/curs_attr.3curses
+attrset.3curses := SOSRC = man3curses/curs_attr.3curses
+standend.3curses := SOSRC = man3curses/curs_attr.3curses
+standout.3curses := SOSRC = man3curses/curs_attr.3curses
+wattroff.3curses := SOSRC = man3curses/curs_attr.3curses
+wattron.3curses := SOSRC = man3curses/curs_attr.3curses
+wattrset.3curses := SOSRC = man3curses/curs_attr.3curses
+wstandend.3curses := SOSRC = man3curses/curs_attr.3curses
+wstandout.3curses := SOSRC = man3curses/curs_attr.3curses
+
+beep.3curses := SOSRC = man3curses/curs_beep.3curses
+flash.3curses := SOSRC = man3curses/curs_beep.3curses
+
+bkgd.3curses := SOSRC = man3curses/curs_bkgd.3curses
+bkgdset.3curses := SOSRC = man3curses/curs_bkgd.3curses
+wbkgd.3curses := SOSRC = man3curses/curs_bkgd.3curses
+wbkgdset.3curses := SOSRC = man3curses/curs_bkgd.3curses
+
+border.3curses := SOSRC = man3curses/curs_border.3curses
+box.3curses := SOSRC = man3curses/curs_border.3curses
+wborder.3curses := SOSRC = man3curses/curs_border.3curses
+whline.3curses := SOSRC = man3curses/curs_border.3curses
+wvline.3curses := SOSRC = man3curses/curs_border.3curses
+
+clear.3curses := SOSRC = man3curses/curs_clear.3curses
+clrtobot.3curses := SOSRC = man3curses/curs_clear.3curses
+clrtoeol.3curses := SOSRC = man3curses/curs_clear.3curses
+erase.3curses := SOSRC = man3curses/curs_clear.3curses
+wclear.3curses := SOSRC = man3curses/curs_clear.3curses
+wclrtobot.3curses := SOSRC = man3curses/curs_clear.3curses
+wclrtoeol.3curses := SOSRC = man3curses/curs_clear.3curses
+werase.3curses := SOSRC = man3curses/curs_clear.3curses
+
+can_change_color.3curses := SOSRC = man3curses/curs_color.3curses
+color_content.3curses := SOSRC = man3curses/curs_color.3curses
+has_colors.3curses := SOSRC = man3curses/curs_color.3curses
+init_color.3curses := SOSRC = man3curses/curs_color.3curses
+init_pair.3curses := SOSRC = man3curses/curs_color.3curses
+pair_content.3curses := SOSRC = man3curses/curs_color.3curses
+start_color.3curses := SOSRC = man3curses/curs_color.3curses
+
+delch.3curses := SOSRC = man3curses/curs_delch.3curses
+mvdelch.3curses := SOSRC = man3curses/curs_delch.3curses
+mvwdelch.3curses := SOSRC = man3curses/curs_delch.3curses
+wdelch.3curses := SOSRC = man3curses/curs_delch.3curses
+
+deleteln.3curses := SOSRC = man3curses/curs_deleteln.3curses
+insdelln.3curses := SOSRC = man3curses/curs_deleteln.3curses
+insertln.3curses := SOSRC = man3curses/curs_deleteln.3curses
+wdeleteln.3curses := SOSRC = man3curses/curs_deleteln.3curses
+winsdelln.3curses := SOSRC = man3curses/curs_deleteln.3curses
+winsertln.3curses := SOSRC = man3curses/curs_deleteln.3curses
+
+getch.3curses := SOSRC = man3curses/curs_getch.3curses
+mvgetch.3curses := SOSRC = man3curses/curs_getch.3curses
+mvwgetch.3curses := SOSRC = man3curses/curs_getch.3curses
+ungetch.3curses := SOSRC = man3curses/curs_getch.3curses
+wgetch.3curses := SOSRC = man3curses/curs_getch.3curses
+
+getstr.3curses := SOSRC = man3curses/curs_getstr.3curses
+mvgetstr.3curses := SOSRC = man3curses/curs_getstr.3curses
+mvwgetstr.3curses := SOSRC = man3curses/curs_getstr.3curses
+wgetnstr.3curses := SOSRC = man3curses/curs_getstr.3curses
+wgetstr.3curses := SOSRC = man3curses/curs_getstr.3curses
+
+getwch.3curses := SOSRC = man3curses/curs_getwch.3curses
+mvgetwch.3curses := SOSRC = man3curses/curs_getwch.3curses
+mvwgetwch.3curses := SOSRC = man3curses/curs_getwch.3curses
+ungetwch.3curses := SOSRC = man3curses/curs_getwch.3curses
+wgetwch.3curses := SOSRC = man3curses/curs_getwch.3curses
+
+getnwstr.3curses := SOSRC = man3curses/curs_getwstr.3curses
+getwstr.3curses := SOSRC = man3curses/curs_getwstr.3curses
+mvgetnwstr.3curses := SOSRC = man3curses/curs_getwstr.3curses
+mvgetwstr.3curses := SOSRC = man3curses/curs_getwstr.3curses
+mvwgetnwstr.3curses := SOSRC = man3curses/curs_getwstr.3curses
+mvwgetwstr.3curses := SOSRC = man3curses/curs_getwstr.3curses
+wgetnwstr.3curses := SOSRC = man3curses/curs_getwstr.3curses
+wgetwstr.3curses := SOSRC = man3curses/curs_getwstr.3curses
+
+getbegyx.3curses := SOSRC = man3curses/curs_getyx.3curses
+getmaxyx.3curses := SOSRC = man3curses/curs_getyx.3curses
+getparyx.3curses := SOSRC = man3curses/curs_getyx.3curses
+getyx.3curses := SOSRC = man3curses/curs_getyx.3curses
+
+inch.3curses := SOSRC = man3curses/curs_inch.3curses
+mvinch.3curses := SOSRC = man3curses/curs_inch.3curses
+mvwinch.3curses := SOSRC = man3curses/curs_inch.3curses
+winch.3curses := SOSRC = man3curses/curs_inch.3curses
+
+inchnstr.3curses := SOSRC = man3curses/curs_inchstr.3curses
+inchstr.3curses := SOSRC = man3curses/curs_inchstr.3curses
+mvinchnstr.3curses := SOSRC = man3curses/curs_inchstr.3curses
+mvinchstr.3curses := SOSRC = man3curses/curs_inchstr.3curses
+mvwinchnstr.3curses := SOSRC = man3curses/curs_inchstr.3curses
+mvwinchstr.3curses := SOSRC = man3curses/curs_inchstr.3curses
+winchnstr.3curses := SOSRC = man3curses/curs_inchstr.3curses
+winchstr.3curses := SOSRC = man3curses/curs_inchstr.3curses
+
+delscreen.3curses := SOSRC = man3curses/curs_initscr.3curses
+endwin.3curses := SOSRC = man3curses/curs_initscr.3curses
+initscr.3curses := SOSRC = man3curses/curs_initscr.3curses
+isendwin.3curses := SOSRC = man3curses/curs_initscr.3curses
+newterm.3curses := SOSRC = man3curses/curs_initscr.3curses
+set_term.3curses := SOSRC = man3curses/curs_initscr.3curses
+
+cbreak.3curses := SOSRC = man3curses/curs_inopts.3curses
+echo.3curses := SOSRC = man3curses/curs_inopts.3curses
+halfdelay.3curses := SOSRC = man3curses/curs_inopts.3curses
+intrflush.3curses := SOSRC = man3curses/curs_inopts.3curses
+keypad.3curses := SOSRC = man3curses/curs_inopts.3curses
+meta.3curses := SOSRC = man3curses/curs_inopts.3curses
+nocbreak.3curses := SOSRC = man3curses/curs_inopts.3curses
+nodelay.3curses := SOSRC = man3curses/curs_inopts.3curses
+noecho.3curses := SOSRC = man3curses/curs_inopts.3curses
+noqiflush.3curses := SOSRC = man3curses/curs_inopts.3curses
+noraw.3curses := SOSRC = man3curses/curs_inopts.3curses
+notimeout.3curses := SOSRC = man3curses/curs_inopts.3curses
+qiflush.3curses := SOSRC = man3curses/curs_inopts.3curses
+raw.3curses := SOSRC = man3curses/curs_inopts.3curses
+timeout.3curses := SOSRC = man3curses/curs_inopts.3curses
+typeahead.3curses := SOSRC = man3curses/curs_inopts.3curses
+wtimeout.3curses := SOSRC = man3curses/curs_inopts.3curses
+
+insch.3curses := SOSRC = man3curses/curs_insch.3curses
+mvinsch.3curses := SOSRC = man3curses/curs_insch.3curses
+mvwinsch.3curses := SOSRC = man3curses/curs_insch.3curses
+winsch.3curses := SOSRC = man3curses/curs_insch.3curses
+
+insnstr.3curses := SOSRC = man3curses/curs_insstr.3curses
+insstr.3curses := SOSRC = man3curses/curs_insstr.3curses
+mvinsnstr.3curses := SOSRC = man3curses/curs_insstr.3curses
+mvinsstr.3curses := SOSRC = man3curses/curs_insstr.3curses
+mvwinsnstr.3curses := SOSRC = man3curses/curs_insstr.3curses
+mvwinsstr.3curses := SOSRC = man3curses/curs_insstr.3curses
+winsnstr.3curses := SOSRC = man3curses/curs_insstr.3curses
+winsstr.3curses := SOSRC = man3curses/curs_insstr.3curses
+
+innstr.3curses := SOSRC = man3curses/curs_instr.3curses
+instr.3curses := SOSRC = man3curses/curs_instr.3curses
+mvinnstr.3curses := SOSRC = man3curses/curs_instr.3curses
+mvinstr.3curses := SOSRC = man3curses/curs_instr.3curses
+mvwinnstr.3curses := SOSRC = man3curses/curs_instr.3curses
+mvwinstr.3curses := SOSRC = man3curses/curs_instr.3curses
+winnstr.3curses := SOSRC = man3curses/curs_instr.3curses
+winstr.3curses := SOSRC = man3curses/curs_instr.3curses
+
+inswch.3curses := SOSRC = man3curses/curs_inswch.3curses
+mvinswch.3curses := SOSRC = man3curses/curs_inswch.3curses
+mvwinswch.3curses := SOSRC = man3curses/curs_inswch.3curses
+winswch.3curses := SOSRC = man3curses/curs_inswch.3curses
+
+insnwstr.3curses := SOSRC = man3curses/curs_inswstr.3curses
+inswstr.3curses := SOSRC = man3curses/curs_inswstr.3curses
+mvinsnwstr.3curses := SOSRC = man3curses/curs_inswstr.3curses
+mvinswstr.3curses := SOSRC = man3curses/curs_inswstr.3curses
+mvwinsnwstr.3curses := SOSRC = man3curses/curs_inswstr.3curses
+mvwinswstr.3curses := SOSRC = man3curses/curs_inswstr.3curses
+winsnwstr.3curses := SOSRC = man3curses/curs_inswstr.3curses
+winswstr.3curses := SOSRC = man3curses/curs_inswstr.3curses
+
+inwch.3curses := SOSRC = man3curses/curs_inwch.3curses
+mvinwch.3curses := SOSRC = man3curses/curs_inwch.3curses
+mvwinwch.3curses := SOSRC = man3curses/curs_inwch.3curses
+winwch.3curses := SOSRC = man3curses/curs_inwch.3curses
+
+inwchnstr.3curses := SOSRC = man3curses/curs_inwchstr.3curses
+inwchstr.3curses := SOSRC = man3curses/curs_inwchstr.3curses
+mvinwchnstr.3curses := SOSRC = man3curses/curs_inwchstr.3curses
+mvinwchstr.3curses := SOSRC = man3curses/curs_inwchstr.3curses
+mvwinwchnstr.3curses := SOSRC = man3curses/curs_inwchstr.3curses
+mvwinwchstr.3curses := SOSRC = man3curses/curs_inwchstr.3curses
+winwchnstr.3curses := SOSRC = man3curses/curs_inwchstr.3curses
+winwchstr.3curses := SOSRC = man3curses/curs_inwchstr.3curses
+
+innwstr.3curses := SOSRC = man3curses/curs_inwstr.3curses
+inwstr.3curses := SOSRC = man3curses/curs_inwstr.3curses
+mvinnwstr.3curses := SOSRC = man3curses/curs_inwstr.3curses
+mvinwstr.3curses := SOSRC = man3curses/curs_inwstr.3curses
+mvwinnwstr.3curses := SOSRC = man3curses/curs_inwstr.3curses
+mvwinwstr.3curses := SOSRC = man3curses/curs_inwstr.3curses
+winnwstr.3curses := SOSRC = man3curses/curs_inwstr.3curses
+winwstr.3curses := SOSRC = man3curses/curs_inwstr.3curses
+
+curs_set.3curses := SOSRC = man3curses/curs_kernel.3curses
+def_prog_mode.3curses := SOSRC = man3curses/curs_kernel.3curses
+def_shell_mode.3curses := SOSRC = man3curses/curs_kernel.3curses
+getsyx.3curses := SOSRC = man3curses/curs_kernel.3curses
+napms.3curses := SOSRC = man3curses/curs_kernel.3curses
+reset_prog_mode.3curses := SOSRC = man3curses/curs_kernel.3curses
+reset_shell_mode.3curses := SOSRC = man3curses/curs_kernel.3curses
+resetty.3curses := SOSRC = man3curses/curs_kernel.3curses
+ripoffline.3curses := SOSRC = man3curses/curs_kernel.3curses
+savetty.3curses := SOSRC = man3curses/curs_kernel.3curses
+setsyx.3curses := SOSRC = man3curses/curs_kernel.3curses
+
+move.3curses := SOSRC = man3curses/curs_move.3curses
+wmove.3curses := SOSRC = man3curses/curs_move.3curses
+
+clearok.3curses := SOSRC = man3curses/curs_outopts.3curses
+idcok.3curses := SOSRC = man3curses/curs_outopts.3curses
+idlok.3curses := SOSRC = man3curses/curs_outopts.3curses
+immedok.3curses := SOSRC = man3curses/curs_outopts.3curses
+leaveok.3curses := SOSRC = man3curses/curs_outopts.3curses
+nl.3curses := SOSRC = man3curses/curs_outopts.3curses
+nonl.3curses := SOSRC = man3curses/curs_outopts.3curses
+scrollok.3curses := SOSRC = man3curses/curs_outopts.3curses
+setscrreg.3curses := SOSRC = man3curses/curs_outopts.3curses
+wsetscrreg.3curses := SOSRC = man3curses/curs_outopts.3curses
+
+copywin.3curses := SOSRC = man3curses/curs_overlay.3curses
+overlay.3curses := SOSRC = man3curses/curs_overlay.3curses
+overwrite.3curses := SOSRC = man3curses/curs_overlay.3curses
+
+newpad.3curses := SOSRC = man3curses/curs_pad.3curses
+pechochar.3curses := SOSRC = man3curses/curs_pad.3curses
+pechowchar.3curses := SOSRC = man3curses/curs_pad.3curses
+pnoutrefresh.3curses := SOSRC = man3curses/curs_pad.3curses
+prefresh.3curses := SOSRC = man3curses/curs_pad.3curses
+subpad.3curses := SOSRC = man3curses/curs_pad.3curses
+
+mvprintw.3curses := SOSRC = man3curses/curs_printw.3curses
+mvwprintw.3curses := SOSRC = man3curses/curs_printw.3curses
+printw.3curses := SOSRC = man3curses/curs_printw.3curses
+vwprintw.3curses := SOSRC = man3curses/curs_printw.3curses
+wprintw.3curses := SOSRC = man3curses/curs_printw.3curses
+
+doupdate.3curses := SOSRC = man3curses/curs_refresh.3curses
+redrawwin.3curses := SOSRC = man3curses/curs_refresh.3curses
+refresh.3curses := SOSRC = man3curses/curs_refresh.3curses
+wnoutrefresh.3curses := SOSRC = man3curses/curs_refresh.3curses
+wredrawln.3curses := SOSRC = man3curses/curs_refresh.3curses
+wrefresh.3curses := SOSRC = man3curses/curs_refresh.3curses
+
+mvscanw.3curses := SOSRC = man3curses/curs_scanw.3curses
+mvwscanw.3curses := SOSRC = man3curses/curs_scanw.3curses
+scanw.3curses := SOSRC = man3curses/curs_scanw.3curses
+vwscanw.3curses := SOSRC = man3curses/curs_scanw.3curses
+wscanw.3curses := SOSRC = man3curses/curs_scanw.3curses
+
+scr_dump.3curses := SOSRC = man3curses/curs_scr_dump.3curses
+scr_init.3curses := SOSRC = man3curses/curs_scr_dump.3curses
+scr_restore.3curses := SOSRC = man3curses/curs_scr_dump.3curses
+scr_set.3curses := SOSRC = man3curses/curs_scr_dump.3curses
+
+scrl.3curses := SOSRC = man3curses/curs_scroll.3curses
+scroll.3curses := SOSRC = man3curses/curs_scroll.3curses
+wscrl.3curses := SOSRC = man3curses/curs_scroll.3curses
+
+slk_attroff.3curses := SOSRC = man3curses/curs_slk.3curses
+slk_attron.3curses := SOSRC = man3curses/curs_slk.3curses
+slk_attrset.3curses := SOSRC = man3curses/curs_slk.3curses
+slk_clear.3curses := SOSRC = man3curses/curs_slk.3curses
+slk_init.3curses := SOSRC = man3curses/curs_slk.3curses
+slk_label.3curses := SOSRC = man3curses/curs_slk.3curses
+slk_noutrefresh.3curses := SOSRC = man3curses/curs_slk.3curses
+slk_refresh.3curses := SOSRC = man3curses/curs_slk.3curses
+slk_restore.3curses := SOSRC = man3curses/curs_slk.3curses
+slk_set.3curses := SOSRC = man3curses/curs_slk.3curses
+slk_touch.3curses := SOSRC = man3curses/curs_slk.3curses
+
+baudrate.3curses := SOSRC = man3curses/curs_termattrs.3curses
+erasechar.3curses := SOSRC = man3curses/curs_termattrs.3curses
+has_ic.3curses := SOSRC = man3curses/curs_termattrs.3curses
+has_il.3curses := SOSRC = man3curses/curs_termattrs.3curses
+killchar.3curses := SOSRC = man3curses/curs_termattrs.3curses
+longname.3curses := SOSRC = man3curses/curs_termattrs.3curses
+termattrs.3curses := SOSRC = man3curses/curs_termattrs.3curses
+termname.3curses := SOSRC = man3curses/curs_termattrs.3curses
+
+tgetent.3curses := SOSRC = man3curses/curs_termcap.3curses
+tgetflag.3curses := SOSRC = man3curses/curs_termcap.3curses
+tgetnum.3curses := SOSRC = man3curses/curs_termcap.3curses
+tgetstr.3curses := SOSRC = man3curses/curs_termcap.3curses
+tgoto.3curses := SOSRC = man3curses/curs_termcap.3curses
+
+del_curterm.3curses := SOSRC = man3curses/curs_terminfo.3curses
+mvcur.3curses := SOSRC = man3curses/curs_terminfo.3curses
+putp.3curses := SOSRC = man3curses/curs_terminfo.3curses
+restartterm.3curses := SOSRC = man3curses/curs_terminfo.3curses
+set_curterm.3curses := SOSRC = man3curses/curs_terminfo.3curses
+setterm.3curses := SOSRC = man3curses/curs_terminfo.3curses
+setupterm.3curses := SOSRC = man3curses/curs_terminfo.3curses
+tigetflag.3curses := SOSRC = man3curses/curs_terminfo.3curses
+tigetnum.3curses := SOSRC = man3curses/curs_terminfo.3curses
+tigetstr.3curses := SOSRC = man3curses/curs_terminfo.3curses
+tparm.3curses := SOSRC = man3curses/curs_terminfo.3curses
+tputs.3curses := SOSRC = man3curses/curs_terminfo.3curses
+vidattr.3curses := SOSRC = man3curses/curs_terminfo.3curses
+vidputs.3curses := SOSRC = man3curses/curs_terminfo.3curses
+
+is_linetouched.3curses := SOSRC = man3curses/curs_touch.3curses
+is_wintouched.3curses := SOSRC = man3curses/curs_touch.3curses
+touchline.3curses := SOSRC = man3curses/curs_touch.3curses
+touchwin.3curses := SOSRC = man3curses/curs_touch.3curses
+untouchwin.3curses := SOSRC = man3curses/curs_touch.3curses
+wtouchln.3curses := SOSRC = man3curses/curs_touch.3curses
+
+delay_output.3curses := SOSRC = man3curses/curs_util.3curses
+filter.3curses := SOSRC = man3curses/curs_util.3curses
+flushinp.3curses := SOSRC = man3curses/curs_util.3curses
+getwin.3curses := SOSRC = man3curses/curs_util.3curses
+keyname.3curses := SOSRC = man3curses/curs_util.3curses
+putwin.3curses := SOSRC = man3curses/curs_util.3curses
+unctrl.3curses := SOSRC = man3curses/curs_util.3curses
+use_env.3curses := SOSRC = man3curses/curs_util.3curses
+
+delwin.3curses := SOSRC = man3curses/curs_window.3curses
+derwin.3curses := SOSRC = man3curses/curs_window.3curses
+dupwin.3curses := SOSRC = man3curses/curs_window.3curses
+mvderwin.3curses := SOSRC = man3curses/curs_window.3curses
+mvwin.3curses := SOSRC = man3curses/curs_window.3curses
+newwin.3curses := SOSRC = man3curses/curs_window.3curses
+subwin.3curses := SOSRC = man3curses/curs_window.3curses
+syncok.3curses := SOSRC = man3curses/curs_window.3curses
+wcursyncup.3curses := SOSRC = man3curses/curs_window.3curses
+wsyncdown.3curses := SOSRC = man3curses/curs_window.3curses
+wsyncup.3curses := SOSRC = man3curses/curs_window.3curses
+
+pos_form_cursor.3curses := SOSRC = man3curses/form_cursor.3curses
+
+data_ahead.3curses := SOSRC = man3curses/form_data.3curses
+data_behind.3curses := SOSRC = man3curses/form_data.3curses
+
+field_count.3curses := SOSRC = man3curses/form_field.3curses
+form_fields.3curses := SOSRC = man3curses/form_field.3curses
+move_field.3curses := SOSRC = man3curses/form_field.3curses
+set_form_fields.3curses := SOSRC = man3curses/form_field.3curses
+
+field_back.3curses := SOSRC = man3curses/form_field_attributes.3curses
+field_fore.3curses := SOSRC = man3curses/form_field_attributes.3curses
+field_pad.3curses := SOSRC = man3curses/form_field_attributes.3curses
+set_field_back.3curses := SOSRC = man3curses/form_field_attributes.3curses
+set_field_fore.3curses := SOSRC = man3curses/form_field_attributes.3curses
+set_field_pad.3curses := SOSRC = man3curses/form_field_attributes.3curses
+
+field_buffer.3curses := SOSRC = man3curses/form_field_buffer.3curses
+field_status.3curses := SOSRC = man3curses/form_field_buffer.3curses
+set_field_buffer.3curses := SOSRC = man3curses/form_field_buffer.3curses
+set_field_status.3curses := SOSRC = man3curses/form_field_buffer.3curses
+set_max_field.3curses := SOSRC = man3curses/form_field_buffer.3curses
+
+dynamic_field_info.3curses := SOSRC = man3curses/form_field_info.3curses
+field_info.3curses := SOSRC = man3curses/form_field_info.3curses
+field_just.3curses := SOSRC = man3curses/form_field_just.3curses
+set_field_just.3curses := SOSRC = man3curses/form_field_just.3curses
+
+dup_field.3curses := SOSRC = man3curses/form_field_new.3curses
+free_field.3curses := SOSRC = man3curses/form_field_new.3curses
+link_field.3curses := SOSRC = man3curses/form_field_new.3curses
+new_field.3curses := SOSRC = man3curses/form_field_new.3curses
+
+field_opts.3curses := SOSRC = man3curses/form_field_opts.3curses
+field_opts_off.3curses := SOSRC = man3curses/form_field_opts.3curses
+field_opts_on.3curses := SOSRC = man3curses/form_field_opts.3curses
+set_field_opts.3curses := SOSRC = man3curses/form_field_opts.3curses
+
+field_userptr.3curses := SOSRC = man3curses/form_field_userptr.3curses
+set_field_userptr.3curses := SOSRC = man3curses/form_field_userptr.3curses
+
+field_arg.3curses := SOSRC = man3curses/form_field_validation.3curses
+field_type.3curses := SOSRC = man3curses/form_field_validation.3curses
+set_field_type.3curses := SOSRC = man3curses/form_field_validation.3curses
+
+free_fieldtype.3curses := SOSRC = man3curses/form_fieldtype.3curses
+link_fieldtype.3curses := SOSRC = man3curses/form_fieldtype.3curses
+new_fieldtype.3curses := SOSRC = man3curses/form_fieldtype.3curses
+set_fieldtype_arg.3curses := SOSRC = man3curses/form_fieldtype.3curses
+set_fieldtype_choice.3curses := SOSRC = man3curses/form_fieldtype.3curses
+
+field_init.3curses := SOSRC = man3curses/form_hook.3curses
+field_term.3curses := SOSRC = man3curses/form_hook.3curses
+form_init.3curses := SOSRC = man3curses/form_hook.3curses
+form_term.3curses := SOSRC = man3curses/form_hook.3curses
+set_field_init.3curses := SOSRC = man3curses/form_hook.3curses
+set_field_term.3curses := SOSRC = man3curses/form_hook.3curses
+set_form_init.3curses := SOSRC = man3curses/form_hook.3curses
+set_form_term.3curses := SOSRC = man3curses/form_hook.3curses
+
+free_form.3curses := SOSRC = man3curses/form_new.3curses
+new_form.3curses := SOSRC = man3curses/form_new.3curses
+
+new_page.3curses := SOSRC = man3curses/form_new_page.3curses
+set_new_page.3curses := SOSRC = man3curses/form_new_page.3curses
+
+form_opts_off.3curses := SOSRC = man3curses/form_opts.3curses
+form_opts_on.3curses := SOSRC = man3curses/form_opts.3curses
+set_form_opts.3curses := SOSRC = man3curses/form_opts.3curses
+
+current_field.3curses := SOSRC = man3curses/form_page.3curses
+field_index.3curses := SOSRC = man3curses/form_page.3curses
+set_current_field.3curses := SOSRC = man3curses/form_page.3curses
+set_form_page.3curses := SOSRC = man3curses/form_page.3curses
+
+post_form.3curses := SOSRC = man3curses/form_post.3curses
+unpost_form.3curses := SOSRC = man3curses/form_post.3curses
+
+set_form_userptr.3curses := SOSRC = man3curses/form_userptr.3curses
+
+form_sub.3curses := SOSRC = man3curses/form_win.3curses
+scale_form.3curses := SOSRC = man3curses/form_win.3curses
+set_form_sub.3curses := SOSRC = man3curses/form_win.3curses
+set_form_win.3curses := SOSRC = man3curses/form_win.3curses
+
+menu_back.3curses := SOSRC = man3curses/menu_attributes.3curses
+menu_fore.3curses := SOSRC = man3curses/menu_attributes.3curses
+menu_grey.3curses := SOSRC = man3curses/menu_attributes.3curses
+menu_pad.3curses := SOSRC = man3curses/menu_attributes.3curses
+set_menu_back.3curses := SOSRC = man3curses/menu_attributes.3curses
+set_menu_fore.3curses := SOSRC = man3curses/menu_attributes.3curses
+set_menu_grey.3curses := SOSRC = man3curses/menu_attributes.3curses
+set_menu_pad.3curses := SOSRC = man3curses/menu_attributes.3curses
+
+pos_menu_cursor.3curses := SOSRC = man3curses/menu_cursor.3curses
+set_menu_format.3curses := SOSRC = man3curses/menu_format.3curses
+
+item_init.3curses := SOSRC = man3curses/menu_hook.3curses
+item_term.3curses := SOSRC = man3curses/menu_hook.3curses
+menu_init.3curses := SOSRC = man3curses/menu_hook.3curses
+menu_term.3curses := SOSRC = man3curses/menu_hook.3curses
+set_item_init.3curses := SOSRC = man3curses/menu_hook.3curses
+set_item_term.3curses := SOSRC = man3curses/menu_hook.3curses
+set_menu_init.3curses := SOSRC = man3curses/menu_hook.3curses
+set_menu_term.3curses := SOSRC = man3curses/menu_hook.3curses
+
+current_item.3curses := SOSRC = man3curses/menu_item_current.3curses
+item_index.3curses := SOSRC = man3curses/menu_item_current.3curses
+set_current_item.3curses := SOSRC = man3curses/menu_item_current.3curses
+set_top_row.3curses := SOSRC = man3curses/menu_item_current.3curses
+top_row.3curses := SOSRC = man3curses/menu_item_current.3curses
+
+item_description.3curses := SOSRC = man3curses/menu_item_name.3curses
+item_name.3curses := SOSRC = man3curses/menu_item_name.3curses
+
+free_item.3curses := SOSRC = man3curses/menu_item_new.3curses
+new_item.3curses := SOSRC = man3curses/menu_item_new.3curses
+
+item_opts.3curses := SOSRC = man3curses/menu_item_opts.3curses
+item_opts_off.3curses := SOSRC = man3curses/menu_item_opts.3curses
+item_opts_on.3curses := SOSRC = man3curses/menu_item_opts.3curses
+set_item_opts.3curses := SOSRC = man3curses/menu_item_opts.3curses
+
+item_userptr.3curses := SOSRC = man3curses/menu_item_userptr.3curses
+set_item_userptr.3curses := SOSRC = man3curses/menu_item_userptr.3curses
+
+item_value.3curses := SOSRC = man3curses/menu_item_value.3curses
+set_item_value.3curses := SOSRC = man3curses/menu_item_value.3curses
+
+item_visible.3curses := SOSRC = man3curses/menu_item_visible.3curses
+
+item_count.3curses := SOSRC = man3curses/menu_items.3curses
+set_menu_items.3curses := SOSRC = man3curses/menu_items.3curses
+
+set_menu_mark.3curses := SOSRC = man3curses/menu_mark.3curses
+
+free_menu.3curses := SOSRC = man3curses/menu_new.3curses
+new_menu.3curses := SOSRC = man3curses/menu_new.3curses
+
+menu_opts_off.3curses := SOSRC = man3curses/menu_opts.3curses
+menu_opts_on.3curses := SOSRC = man3curses/menu_opts.3curses
+set_menu_opts.3curses := SOSRC = man3curses/menu_opts.3curses
+
+set_menu_pattern.3curses := SOSRC = man3curses/menu_pattern.3curses
+
+post_menu.3curses := SOSRC = man3curses/menu_post.3curses
+unpost_menu.3curses := SOSRC = man3curses/menu_post.3curses
+
+set_menu_userptr.3curses := SOSRC = man3curses/menu_userptr.3curses
+
+menu_sub.3curses := SOSRC = man3curses/menu_win.3curses
+scale_menu.3curses := SOSRC = man3curses/menu_win.3curses
+set_menu_sub.3curses := SOSRC = man3curses/menu_win.3curses
+set_menu_win.3curses := SOSRC = man3curses/menu_win.3curses
+
+panel_below.3curses := SOSRC = man3curses/panel_above.3curses
+
+move_panel.3curses := SOSRC = man3curses/panel_move.3curses
+
+del_panel.3curses := SOSRC = man3curses/panel_new.3curses
+new_panel.3curses := SOSRC = man3curses/panel_new.3curses
+
+hide_panel.3curses := SOSRC = man3curses/panel_show.3curses
+panel_hidden.3curses := SOSRC = man3curses/panel_show.3curses
+show_panel.3curses := SOSRC = man3curses/panel_show.3curses
+
+bottom_panel.3curses := SOSRC = man3curses/panel_top.3curses
+top_panel.3curses := SOSRC = man3curses/panel_top.3curses
+
+update_panels.3curses := SOSRC = man3curses/panel_update.3curses
+
+set_panel_userptr.3curses := SOSRC = man3curses/panel_userptr.3curses
+
+replace_panel.3curses := SOSRC = man3curses/panel_window.3curses
+
+.KEEP_STATE:
+
+include ../Makefile.man
+
+install: $(ROOTMANFILES)
+
+
diff --git a/usr/src/man/man3curses/curs_addch.3curses b/usr/src/man/man3curses/curs_addch.3curses
new file mode 100644
index 0000000000..dd9dcc176e
--- /dev/null
+++ b/usr/src/man/man3curses/curs_addch.3curses
@@ -0,0 +1,184 @@
+'\" te
+.\" Copyright 1989 AT&T
+.\" Portions Copyright (c) 1996, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH curs_addch 3CURSES "31 Dec 1996" "SunOS 5.11" "Curses Library Functions"
+.SH NAME
+curs_addch, addch, waddch, mvaddch, mvwaddch, echochar, wechochar \- add a
+character (with attributes) to a curses window and advance cursor
+.SH SYNOPSIS
+.LP
+.nf
+\fBcc\fR [ \fIflag\fR ... ] \fIfile\fR ... \fB-lcurses\fR [ \fIlibrary\fR .. ]
+#include <curses.h>
+
+\fBint\fR \fBaddch\fR(\fBchtype\fR \fIch\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBwaddch\fR(\fBWINDOW *\fR\fIwin\fR, \fBchtype\fR \fIch\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBmvaddch\fR(\fBint\fR \fIy\fR, \fBint\fR \fIx\fR, \fBchtype\fR \fIch\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBmvwaddch\fR(\fBWINDOW *\fR\fIwin\fR, \fBint\fR \fIy\fR, \fBint\fR \fIx\fR, \fBchtype\fR \fIch\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBechochar\fR(\fBchtype\fR \fIch\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBwechochar\fR(\fBWINDOW *\fR\fIwin\fR, \fBchtype\fR \fIch\fR);
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+With the \fBaddch()\fR, \fBwaddch()\fR, \fBmvaddch()\fR, and \fBmvwaddch()\fR
+routines, the character \fIch\fR is put into the window at the current cursor
+position of the window and the position of the window cursor is advanced. Its
+function is similar to that of \fBputchar()\fR. At the right margin, an
+automatic newline is performed. At the bottom of the scrolling region, if
+\fBscrollok()\fR is enabled, the scrolling region is scrolled up one line.
+.sp
+.LP
+If \fIch\fR is a tab, newline, or backspace, the cursor is moved appropriately
+within the window. A newline also does a \fBclrtoeol()\fR before moving. Tabs
+are considered to be at every eighth column. If \fIch\fR is another control
+character, it is drawn in the \fB^\fR\fIX\fR notation. Calling \fBwinch()\fR
+after adding a control character does not return the control character, but
+instead returns the representation of the control character. See
+\fBcurs_inch\fR(3CURSES).
+.sp
+.LP
+Video attributes can be combined with a character by OR-ing them into the
+parameter. This results in these attributes also being set. (The intent here is
+that text, including attributes, can be copied from one place to another using
+\fBinch()\fR and \fBaddch()\fR.) (see \fBstandout()\fR, predefined video
+attribute constants, on the \fBcurs_attr\fR(3CURSES) page).
+.sp
+.LP
+The \fBechochar()\fR and \fBwechochar()\fR routines are functionally equivalent
+to a call to \fBaddch()\fR followed by a call to \fBrefresh()\fR, or a call to
+\fBwaddch\fR followed by a call to \fBwrefresh()\fR. The knowledge that only a
+single character is being output is taken into consideration and, for
+non-control characters, a considerable performance gain might be seen by using
+these routines instead of their equivalents.
+.SS "Line Graphics"
+.sp
+.LP
+The following variables may be used to add line drawing characters to the
+screen with routines of the \fBaddch()\fR family. When variables are defined
+for the terminal, the \fBA_ALTCHARSET\fR bit is turned on (see
+\fBcurs_attr\fR(3CURSES)). Otherwise, the default character listed below is
+stored in the variable. The names chosen are consistent with the VT100
+nomenclature.
+.sp
+
+.sp
+.TS
+tab() box;
+cw(1.83i) |cw(1.25i) |cw(2.42i)
+lw(1.83i) |lw(1.25i) |lw(2.42i)
+.
+NameDefaultGlyph Description
+_
+ACS_ULCORNER+upper left-hand corner
+_
+ACS_LLCORNER+lower left-hand corner
+_
+ACS_URCORNER+upper right-hand corner
+_
+ACS_LRCORNER+lower right-hand corner
+_
+ACS_RTEE+right tee
+_
+ACS_LTEE+left tee
+_
+ACS_BTEE+bottom tee
+_
+ACS_TTEE+top tee
+_
+ACS_HLINE-horizontal line
+_
+ACS_VLINE|vertical line
+_
+ACS_PLUS+plus
+_
+ACS_S1-scan line 1
+_
+ACS_S9-scan line 9
+_
+ACS_DIAMOND+diamond
+_
+ACS_CKBOARD:checker board (stipple)
+_
+ACS_DEGREE\&'degree symbol
+_
+ACS_PLMINUS#plus/minus
+_
+ACS_BULLETobullet
+_
+ACS_LARROW<arrow pointing left
+_
+ACS_RARROW>arrow pointing right
+_
+ACS_DARROWvarrow pointing down
+_
+ACS_UARROW^arrow pointing up
+_
+ACS_BOARD#board of squares
+_
+ACS_LANTERN#lantern symbol
+_
+ACS_BLOCK #solid square block
+.TE
+
+.SH RETURN VALUES
+.sp
+.LP
+All routines return the integer \fBERR\fR upon failure and an integer value
+other than \fBERR\fR upon successful completion.
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+MT-LevelUnsafe
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBcurs_attr\fR(3CURSES), \fBcurs_clear\fR(3CURSES), \fBcurs_inch\fR(3CURSES),
+\fBcurs_outopts\fR(3CURSES), \fBcurs_refresh\fR(3CURSES),
+\fBcurses\fR(3CURSES), \fBputc\fR(3C), \fBattributes\fR(5)
+.SH NOTES
+.sp
+.LP
+The header <\fBcurses.h\fR> automatically includes the headers <\fBstdio.h\fR>
+and <\fBunctrl.h\fR>.
+.sp
+.LP
+Note that \fBaddch()\fR, \fBmvaddch()\fR, \fBmvwaddch()\fR, and
+\fBechochar()\fR may be macros.
diff --git a/usr/src/man/man3curses/curs_addchstr.3curses b/usr/src/man/man3curses/curs_addchstr.3curses
new file mode 100644
index 0000000000..c069d9acfa
--- /dev/null
+++ b/usr/src/man/man3curses/curs_addchstr.3curses
@@ -0,0 +1,107 @@
+'\" te
+.\" Copyright 1989 AT&T
+.\" Portions Copyright (c) 1996, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH curs_addchstr 3CURSES "31 Dec 1996" "SunOS 5.11" "Curses Library Functions"
+.SH NAME
+curs_addchstr, addchstr, addchnstr, waddchstr, waddchnstr, mvaddchstr,
+mvaddchnstr, mvwaddchstr, mvwaddchnstr \- add string of characters and
+attributes to a curses window
+.SH SYNOPSIS
+.LP
+.nf
+\fBcc\fR [ \fIflag\fR ... ] \fIfile\fR ... \fB-lcurses\fR [ \fIlibrary\fR ... ]
+#include <curses.h>
+
+\fBint\fR \fBaddchstr\fR(\fBchtype *\fR\fIchstr\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBaddchnstr\fR(\fBchtype *\fR\fIchstr\fR, \fBint\fR \fIn\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBwaddchstr\fR(\fBWINDOW *\fR\fIwin\fR, \fBchtype *\fR\fIchstr\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBwaddchnstr\fR(\fBWINDOW *\fR\fIwin\fR, \fBchtype *\fR\fIchstr\fR, \fBint\fR \fIn\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBmvaddchstr\fR(\fBint\fR \fIy\fR, \fBint\fR \fIx\fR, \fBchtype *\fR\fIchstr\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBmvaddchnstr\fR(\fBint\fR \fIy\fR, \fBint\fR \fIx\fR, \fBchtype *\fR\fIchstr\fR, \fBint\fR \fIn\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBmvwaddchstr\fR(\fBWINDOW *\fR\fIwin\fR, \fBint\fR \fIy\fR, \fBint\fR \fIx\fR, \fBchtype *\fR\fIchstr\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBmvwaddchnstr\fR(\fBWINDOW *\fR\fIwin\fR, \fBint\fR \fIy\fR, \fBint\fR \fIx\fR, \fBchtype *\fR\fIchstr\fR, \fBint\fR \fIn\fR);
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+All of these routines copy \fIchstr\fR directly into the window image structure
+starting at the current cursor position. The four routines with \fIn\fR as the
+last argument copy at most \fIn\fR elements, but no more than will fit on the
+line. If \fIn\fR=\fB-1\fR then the whole string is copied, to the maximum
+number that fit on the line.
+.sp
+.LP
+The position of the window cursor is \fBnot\fR advanced. These routines works
+faster than \fBwaddnstr()\fR (see \fBcurs_addstr\fR(3CURSES)) because they
+merely copy \fIchstr\fR into the window image structure. On the other hand,
+care must be taken when using these functions because they do not perform any
+kind of checking (such as for the newline character), they do not advance the
+current cursor position, and they truncate the string, rather then wrapping it
+around to the next line.
+.SH RETURN VALUES
+.sp
+.LP
+All routines return the integer \fBERR\fR upon failure and an integer value
+other than \fBERR\fR upon successful completion.
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+MT-LevelUnsafe
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBcurs_addstr\fR(3CURSES), \fBcurses\fR(3CURSES), \fBattributes\fR(5)
+.SH NOTES
+.sp
+.LP
+The header <\fBcurses.h\fR> automatically includes the headers <\fBstdio.h\fR>
+and <\fBunctrl.h\fR>.
+.sp
+.LP
+Note that all routines except \fBwaddchnstr()\fR and \fBwaddchstr()\fR may be
+macros.
diff --git a/usr/src/man/man3curses/curs_addstr.3curses b/usr/src/man/man3curses/curs_addstr.3curses
new file mode 100644
index 0000000000..a449c98470
--- /dev/null
+++ b/usr/src/man/man3curses/curs_addstr.3curses
@@ -0,0 +1,98 @@
+'\" te
+.\" Copyright 1989 AT&T
+.\" Portions Copyright (c) 1996, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH curs_addstr 3CURSES "31 Dec 1996" "SunOS 5.11" "Curses Library Functions"
+.SH NAME
+curs_addstr, addstr, addnstr, waddstr, waddnstr, mvaddstr, mvaddnstr,
+mvwaddstr, mvwaddnstr \- add a string of characters to a curses window and
+advance cursor
+.SH SYNOPSIS
+.LP
+.nf
+\fBcc\fR [ \fIflag\fR ... ] \fIfile\fR ... \fB-lcurses\fR [ \fIlibrary\fR ... ]
+#include <curses.h>
+
+\fBint\fR \fBaddstr\fR(\fBchar *\fR\fIstr\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBaddnstr\fR(\fBchar *\fR\fIstr\fR, \fBint\fR \fIn\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBwaddstr\fR(\fBWINDOW *\fR\fIwin\fR, \fBchar *\fR\fIstr\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBwaddnstr\fR(\fBWINDOW *\fR\fIwin\fR, \fBchar *\fR\fIstr\fR, \fBint\fR \fIn\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBmvaddstr\fR(\fBint\fR \fIy\fR, \fBint\fR \fIx\fR, \fBchar *\fR\fIstr\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBmvaddnstr\fR(\fBint\fR \fIy\fR, \fBint\fR \fIx\fR, \fBchar *\fR\fIstr\fR, \fBint\fR \fIn\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBmvwaddstr\fR(\fBWINDOW *\fR\fIwin\fR, \fBint\fR \fIy\fR, \fBint\fR \fIx\fR, \fBchar *\fR\fIstr\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBmvwaddnstr\fR(\fBWINDOW *\fR\fIwin\fR, \fBint\fR \fIy\fR, \fBint\fR \fIx\fR, \fBchar *\fR\fIstr\fR, \fBint\fR \fIn\fR);
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+All of these routines write all the characters of the null terminated character
+string \fIstr\fR on the given window. It is similar to calling \fBwaddch()\fR
+once for each character in the string. The four routines with \fIn\fR as the
+last argument write at most \fIn\fR characters. If \fIn\fR is negative, then
+the entire string will be added.
+.SH RETURN VALUES
+.sp
+.LP
+All routines return the integer \fBERR\fR upon failure and an integer value
+other than \fBERR\fR upon successful completion.
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+MT-LevelUnsafe
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBcurs_addch\fR(3CURSES), \fBcurses\fR(3CURSES), \fBattributes\fR(5)
+.SH NOTES
+.sp
+.LP
+The header <\fBcurses.h\fR> automatically includes the headers <\fBstdio.h\fR>
+and <\fBunctrl.h\fR>.
+.sp
+.LP
+Note that all routines except \fBwaddstr()\fR and \fBwaddnstr()\fR may not be
+macros.
diff --git a/usr/src/man/man3curses/curs_addwch.3curses b/usr/src/man/man3curses/curs_addwch.3curses
new file mode 100644
index 0000000000..a79df5e3ec
--- /dev/null
+++ b/usr/src/man/man3curses/curs_addwch.3curses
@@ -0,0 +1,195 @@
+'\" te
+.\" Copyright 1989 AT&T
+.\" Portions Copyright (c) 1996, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH curs_addwch 3CURSES "31 Dec 1996" "SunOS 5.11" "Curses Library Functions"
+.SH NAME
+curs_addwch, addwch, waddwch, mvaddwch, mvwaddwch, echowchar, wechowchar \- add
+a wchar_t character (with attributes) to a curses window and advance cursor
+.SH SYNOPSIS
+.LP
+.nf
+\fBcc\fR [\fIflag\fR]... \fIfile\fR... \fB-lcurses\fR [\fIlibrary\fR]...
+.fi
+
+.LP
+.nf
+#include<curses.h>
+
+\fBint\fR \fBaddwch\fR(\fBchtype\fR \fIwch\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBwaddwch\fR(\fBWINDOW *\fR\fIwin\fR, \fBchtype\fR \fIwch\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBmvaddwch\fR(\fBint\fR \fIy\fR, \fBint\fR \fIx\fR, \fBchtype\fR \fIwch\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBmvwaddwch\fR(\fBWINDOW *\fR\fIwin\fR, \fBint\fR \fIy\fR, \fBint\fR \fIx\fR, \fBchtype\fR \fIwch\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBechowchar\fR(\fBchtype\fR \fIwch\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBwechowchar\fR(\fBWINDOW *\fR\fIwin\fR, \fBchtype\fR \fIwch\fR);
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBaddwch()\fR,\fBwaddwch()\fR,\fBmvaddwch()\fR, and \fBmvwaddwch()\fR
+routines put the character \fIwch\fR, holding a \fBwchar_t\fR character, into
+the window at the current cursor position of the window and advance the
+position of the window cursor. Their function is similar to that of
+\fBputwchar\fR(3C) in the C multibyte library. At the right margin, an
+automatic newline is performed. At the bottom of the scrolling region, if
+\fBscrollok\fR is enabled, the scrolling region is scrolled up one line.
+.sp
+.LP
+If \fIwch\fR is a tab, newline, or backspace, the cursor is moved
+appropriately within the window. A newline also does a \fBclrtoeol\fR(3CURSES)
+before moving. Tabs are considered to be at every eighth column. If \fIwch\fR
+is another control character, it is drawn in the \fB^\fR\fIX\fR notation.
+Calling \fBwinwch\fR(3CURSES) after adding a control character does not return
+the control character, but instead returns the representation of the control
+character.
+.sp
+.LP
+Video attributes can be combined with a \fBwchar_t\fR character by OR-ing them
+into the parameter. This results in these attributes also being set. (The
+intent here is that text, including attributes, can be copied from one place to
+another using \fBinwch()\fR and \fBaddwch()\fR.) See
+\fBstandout\fR(3CURSES), predefined video attribute constants.
+.sp
+.LP
+The \fBechowchar()\fR and \fBwechowchar()\fR routines are functionally
+equivalent to a call to \fBaddwch()\fR followed by a call to
+\fBrefresh\fR(3CURSES), or a call to \fBwaddwch()\fR followed by a call to
+\fBwrefresh\fR(3CURSES). The knowledge that only a single character is being
+output is taken into consideration and, for non-control characters, a
+considerable performance gain might be seen by using these routines instead of
+their equivalents.
+.SS "Line Graphics"
+.sp
+.LP
+The following variables may be used to add line drawing characters to the
+screen with routines of the \fBaddwch()\fR family. When variables are defined
+for the terminal, the \fBA_ALTCHARSET\fR bit is turned on. (See
+\fBcurs_attr\fR(3CURSES)). Otherwise, the default character listed below is
+stored in the variable. The names chosen are consistent with the VT100
+nomenclature.
+.sp
+
+.sp
+.TS
+tab() box;
+cw(1.83i) |cw(1.83i) |cw(1.83i)
+lw(1.83i) |lw(1.83i) |lw(1.83i)
+.
+NameDefaultGlyph Description
+_
+ACS_ULCORNER+upper left-hand corner
+_
+ACS_LLCORNER+lower left-hand corner
+_
+ACS_URCORNER+upper right-hand corner
+_
+ACS_LRCORNER+lower right-hand corner
+_
+ACS_RTEE+right tee
+_
+ACS_LTEE+left tee
+_
+ACS_BTEE+bottom tee
+_
+ACS_TTEE+top tee
+_
+ACS_HLINE-horizontal line
+_
+ACS_VLINE|vertical line
+_
+ACS_PLUS+plus
+_
+ACS_S1-scan line 1
+_
+ACS_S9-scan line 9
+_
+ACS_DIAMOND+diamond
+_
+ACS_CKBOARD:checker board (stipple)
+_
+ACS_DEGREE\&'degree symbol
+_
+ACS_PLMINUS#plus/minus
+_
+ACS_BULLETobullet
+_
+ACS_LARROW<arrow pointing left
+_
+ACS_RARRROW>arrow pointing right
+_
+ACS_DARROWvarrow pointing down
+_
+ACS_UARROW^arrow pointing up
+_
+ACS_BOARD#board of squares
+_
+ACS_LANTERN#lantern symbol
+_
+ACS_BLOCK#solid square block
+.TE
+
+.SH RETURN VALUE
+.sp
+.LP
+All routines return the integer \fBERR\fR upon failure and an integer value
+other than \fBERR\fR upon successful completion, unless otherwise noted in the
+preceding routine descriptions.
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+MT-LevelUnsafe
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBputwchar\fR(3C), \fBclrtoeol\fR(3CURSES), \fBcurses\fR(3CURSES),
+\fBcurs_attr\fR(3CURSES), \fBcurs_inwch\fR(3CURSES),
+\fBcurs_outopts\fR(3CURSES), \fBrefresh\fR(3CURSES), \fBstandout\fR(3CURSES),
+\fBwinwch\fR(3CURSES), \fBwrefresh\fR(3CURSES), \fBattributes\fR(5)
+.SH NOTES
+.sp
+.LP
+The header file <\fBcurses.h\fR> automatically includes the header files
+<\fBstdio.h\fR>, <\fBunctrl.h\fR> and <\fBwidec.h\fR>.
+.sp
+.LP
+Note that \fBaddwch()\fR,\fB mvaddwch()\fR, \fBmvwaddwch()\fR, and
+\fBechowchar()\fR may be macros.
+.sp
+.LP
+None of these routines can use the color attribute in \fBchtype\fR.
diff --git a/usr/src/man/man3curses/curs_addwchstr.3curses b/usr/src/man/man3curses/curs_addwchstr.3curses
new file mode 100644
index 0000000000..f3a06e5386
--- /dev/null
+++ b/usr/src/man/man3curses/curs_addwchstr.3curses
@@ -0,0 +1,114 @@
+'\" te
+.\" Copyright 1989 AT&T
+.\" Portions Copyright (c) 1996, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH curs_addwchstr 3CURSES "31 Dec 1996" "SunOS 5.11" "Curses Library Functions"
+.SH NAME
+curs_addwchstr, addwchstr, addwchnstr, waddwchstr, waddwchnstr, mvaddwchstr,
+mvaddwchnstr, mvwaddwchstr, mvwaddwchnstr \- add string of wchar_t characters
+(and attributes) to a curses window
+.SH SYNOPSIS
+.LP
+.nf
+\fBcc\fR [\fIflag\fR]... \fIfile\fR... \fB-lcurses\fR [\fIlibrary\fR]...
+.fi
+
+.LP
+.nf
+#include<curses.h>
+
+\fBint\fR \fBaddwchstr\fR(\fBchtype *\fR\fIwchstr\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBaddwchnstr\fR(\fBchtype *\fR\fIwchstr\fR, \fBint\fR \fIn\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBwaddwchstr\fR(\fBWINDOW *\fR\fIwin\fR, \fBchtype *\fR\fIwchstr\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBwaddwchnstr\fR(\fBWINDOW *\fR\fIwin\fR, \fBchtype *\fR\fIwchstr\fR, \fBint\fR \fIn\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBmvaddwchstr\fR(\fBint\fR \fIy\fR, \fBint\fR \fIx\fR, \fBchtype *\fR\fIwchstr\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBmvaddwchnstr\fR(\fBint\fR \fIy\fR, \fB int\fR \fIx\fR, \fBchtype *\fR\fIwchstr\fR, \fBint\fR \fIn\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBmvwaddwchstr\fR(\fBWINDOW *\fR\fIwin\fR, \fBint\fR \fIy\fR, \fBint\fR \fIx\fR, \fB\fR\fI chtype *\fRwchstr);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBmvwaddwchnstr\fR(\fBWINDOW *\fR\fIwin\fR, \fBint\fR \fIy\fR, \fBint\fR \fIx\fR , \fBchtype *\fR\fIwchstr\fR, \fBint\fR \fIn\fR);
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+All of these routines copy \fIwchstr\fR, which points to a string of
+\fBwchar_t\fR characters, directly into the window image structure starting at
+the current cursor position. The four routines with \fIn\fR as the last
+argument copy at most \fIn\fR elements, but no more than will fit on the line.
+If \fIn\fR=\fB\(mi1\fR then the whole string is copied, to the maximum number
+that fit on the line.
+.sp
+.LP
+The position of the window cursor is not advanced. These routines work faster
+than \fBwaddnwstr\fR(3CURSES) because they merely copy \fIwchstr\fR into the
+window image structure. On the other hand, care must be taken when using these
+functions because they don't perform any kind of checking (such as for the
+newline character), they do not advance the current cursor position, and they
+truncate the string, rather than wrapping it around to the new line.
+.SH RETURN VALUE
+.sp
+.LP
+All routines return the integer \fBERR\fR upon failure and an integer value
+other than \fBERR\fR upon successful completion, unless otherwise noted in the
+preceding routine descriptions.
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+MT-LevelUnsafe
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBcurses\fR(3CURSES), \fBwaddnwstr\fR(3CURSES), \fBattributes\fR(5)
+.SH NOTES
+.sp
+.LP
+The header file <\fBcurses.h\fR> automatically includes the header files
+<\fBstdio.h\fR>, <\fBunctrl.h\fR> and <\fBwidec.h\fR>.
+.sp
+.LP
+Note that all routines except \fBwaddwchnstr()\fR may be macros.
+.sp
+.LP
+None of these routines can use the color attribute in \fBchtype\fR.
diff --git a/usr/src/man/man3curses/curs_addwstr.3curses b/usr/src/man/man3curses/curs_addwstr.3curses
new file mode 100644
index 0000000000..bfccff1bba
--- /dev/null
+++ b/usr/src/man/man3curses/curs_addwstr.3curses
@@ -0,0 +1,103 @@
+'\" te
+.\" Copyright 1989 AT&T
+.\" Portions Copyright (c) 1996, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH curs_addwstr 3CURSES "31 Dec 1996" "SunOS 5.11" "Curses Library Functions"
+.SH NAME
+curs_addwstr, addwstr, addnwstr, waddwstr, waddnwstr, mvaddwstr, mvaddnwstr,
+mvwaddwstr, mvwaddnwstr \- add a string of wchar_t characters to a curses
+window and advance cursor
+.SH SYNOPSIS
+.LP
+.nf
+\fBcc\fR [\fIflag\fR]... \fIfile\fR... \fB-lcurses\fR [\fIlibrary\fR]...
+.fi
+
+.LP
+.nf
+#include<curses.h>
+
+\fBint\fR \fBaddwstr\fR(\fBwchar_t *\fR\fIwstr\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBaddnwstr\fR(\fBwchar_t *\fR\fIwstr\fR, \fBint\fR \fIn\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBwaddwstr\fR(\fBWINDOW *\fR\fIwin\fR, \fBwchar_t *\fR\fIwstr\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBwaddnwstr\fR(\fBWINDOW *\fR\fIwin\fR, \fBwchar_t *\fR\fIwstr\fR, \fBint\fR \fIn\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBmvaddwstr\fR(\fBint\fR \fIy\fR, \fBint\fR \fIx\fR, \fBwchar_t *\fR\fIwstr\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBmvaddnwstr\fR(\fBint\fR \fIy\fR, \fBint\fR \fIx\fR, \fBwchar_t *\fR\fIwstr\fR, \fBint\fR \fIn\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBmvwaddwstr\fR(\fBWINDOW *\fR\fIwin\fR, \fBint\fR \fIy\fR, \fBint\fR \fIx\fR , \fBwchar_t *\fR\fIwstr\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBmvwaddnwstr\fR(\fBWINDOW *\fR\fIwin\fR, \fBint\fR \fIy\fR, \fBint\fR \fIx\fR, \fBwchar_t *\fR\fIwstr\fR, \fBint\fR \fIn\fR);
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+All of these routines write all the characters of the null-terminated
+\fBwchar_t\fR character string \fBwstr\fR on the given window. The effect is
+similar to calling \fBwaddwch\fR(3CURSES) once for each \fBwchar_t\fR
+character in the string. The four routines with \fIn\fR as the last argument
+write at most \fIn\fR \fBwchar_t\fR characters. If \fIn\fR is negative, then
+the entire string will be added.
+.SH RETURN VALUE
+.sp
+.LP
+All routines return the integer \fBERR\fR upon failure and an integer value
+other than \fBERR\fR upon successful completion.
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+MT-LevelUnsafe
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBcurses\fR(3CURSES), \fBwaddwch\fR(3CURSES), \fBattributes\fR(5)
+.SH NOTES
+.sp
+.LP
+The header file <\fBcurses.h\fR> automatically includes the header files
+<\fBstdio.h\fR>, <\fBnctrl.h\fR> and <\fBwidec.h\fR>.
+.sp
+.LP
+Note that all of these routines except \fBwaddwstr()\fR and \fBwaddnwstr()\fR
+may be macros.
diff --git a/usr/src/man/man3curses/curs_alecompat.3curses b/usr/src/man/man3curses/curs_alecompat.3curses
new file mode 100644
index 0000000000..d21dfbe6fb
--- /dev/null
+++ b/usr/src/man/man3curses/curs_alecompat.3curses
@@ -0,0 +1,103 @@
+'\" te
+.\" Copyright 1989 AT&T
+.\" Portions Copyright (c) 1996, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH curs_alecompat 3CURSES "31 Dec 1996" "SunOS 5.11" "Curses Library Functions"
+.SH NAME
+curs_alecompat, movenextch, wmovenextch, moveprevch, wmoveprevch, adjcurspos,
+wadjcurspos \- these functions are added to ALE curses library for moving the
+cursor by character.
+.SH SYNOPSIS
+.LP
+.nf
+\fBcc\fR [ \fIflag\fR ... ] \fIfile\fR ... \fB-lcurses\fR [ \fIlibrary\fR .. ]
+#include <curses.h>
+
+\fBint\fR \fBmovenextch\fR(\fBvoid\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBwmovenextch\fR(\fBWINDOW *\fR\fIwin\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBmoveprevch\fR(\fBvoid\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBwmoveprevch\fR(\fBWINDOW *\fR\fIwin\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBadjcurspos\fR(\fBvoid\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBwadjcurspos\fR(\fBWINDOW *\fR\fIwin\fR);
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBmovenextch()\fR and \fBwmovenextch()\fR move the cursor to the next
+character to the right. If the next character is a multicolumn character, the
+cursor is positioned on the first (left-most) column of that character. The
+new cursor position will be on the next character, even if the cursor was
+originally positioned on the left-most column of a multicolumn character.
+Note that the simple cursor increment (\fB++x\fR) does not guarantee movement
+to the next character, if the cursor was originally positioned on a
+multicolumn character. \fBgetyx\fR(3CURSES) can be used to find the new
+position.
+.sp
+.LP
+\fBmoveprevc()\fR and \fBwmoveprevch()\fR routines are the opposite of
+\fBmovenextch()\fR and \fBwmovenextch()\fR, moving the cursor to the left-most
+column of the previous character.
+.sp
+.LP
+\fBadjcurspos()\fR and \fBwadjcurspos()\fR move the cursor to the
+first(left-most) column of the multicolumn character that the cursor is
+presently on. If the cursor is already on the first column, or if the cursor
+is on a single-column character, these routines will have no effect.
+.SH RETURN VALUE
+.sp
+.LP
+All routines return the integer \fBERR\fR upon failure and an integer value
+other than \fBERR\fR upon successful completion.
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+MT-LevelUnsafe
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBcurses\fR(3CURSES), \fBgetyx\fR(3CURSES), \fBattributes\fR(5)
+.SH NOTES
+.sp
+.LP
+The header file \fB<curses.h>\fR automatically includes the header files
+\fB<stdio.h>\fR , \fB<unctrl.h>\fR and \fB<widec.h>\fR\&.
+.sp
+.LP
+Note that \fBmovenextch()\fR,\fB moveprevch()\fR, and \fBadjcurspos()\fR may
+be macros.
diff --git a/usr/src/man/man3curses/curs_attr.3curses b/usr/src/man/man3curses/curs_attr.3curses
new file mode 100644
index 0000000000..32198d94b3
--- /dev/null
+++ b/usr/src/man/man3curses/curs_attr.3curses
@@ -0,0 +1,237 @@
+'\" te
+.\" Copyright 1989 AT&T
+.\" Portions Copyright (c) 1996, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH curs_attr 3CURSES "31 Dec 1996" "SunOS 5.11" "Curses Library Functions"
+.SH NAME
+curs_attr, attroff, wattroff, attron, wattron, attrset, wattrset, standend,
+wstandend, standout, wstandout \- curses character and window attribute control
+routines
+.SH SYNOPSIS
+.LP
+.nf
+\fBcc\fR [ \fIflag\fR ... ] \fIfile\fR ... \fB-lcurses\fR [ \fIlibrary\fR ... ]
+#include <curses.h>
+
+\fBint\fR \fBattroff\fR(\fBint\fR \fIattrs\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBwattroff\fR(\fBWINDOW *\fR\fIwin\fR, \fBint\fR \fIattrs\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBattron\fR(\fBint\fR \fIattrs\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBwattron\fR(\fBWINDOW *\fR\fIwin\fR, \fBint\fR \fIattrs\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBattrset\fR(\fBint\fR \fIattrs\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBwattrset\fR(\fBWINDOW *\fR\fIwin\fR, \fBint\fR \fIattrs\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBstandend\fR(\fBvoid\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBwstandend\fR(\fBWINDOW *\fR\fIwin\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBstandout\fR(\fBvoid\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBwstandout\fR(\fBWINDOW *\fR\fIwin\fR);
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+All of these routines manipulate the current attributes of the named window.
+The current attributes of a window are applied to all characters that are
+written into the window with \fBwaddch()\fR, \fBwaddstr()\fR, and
+\fBwprintw()\fR. Attributes are a property of the character, and move with the
+character through any scrolling and insert/delete line/character operations. To
+the extent possible on the particular terminal, they are displayed as the
+graphic rendition of characters put on the screen.
+.sp
+.LP
+The routine \fBattrset()\fR sets the current attributes of the given window to
+\fIattrs\fR. The routine \fBattroff()\fR turns off the named attributes without
+turning any other attributes on or off. The routine \fBattron()\fR turns on the
+named attributes without affecting any others. The routine \fBstandout()\fR is
+the same as \fBattron(\fR\fBA_STANDOUT)\fR. The routine \fBstandend()\fR is the
+same as \fBattrset()\fR, that is, it turns off all attributes.
+.SS "Attributes"
+.sp
+.LP
+The following video attributes, defined in \fB<curses.h>\fR, can be passed to
+the routines \fBattron()\fR, \fBattroff()\fR, and \fBattrset()\fR, or OR-ed
+with the characters passed to \fBaddch()\fR.
+.sp
+.ne 2
+.mk
+.na
+\fBA_STANDOUT\fR
+.ad
+.RS 17n
+.rt
+Best highlighting mode of the terminal
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBA_UNDERLINE\fR
+.ad
+.RS 17n
+.rt
+Underlining
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBA_REVERSE\fR
+.ad
+.RS 17n
+.rt
+Reverse video
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBA_BLINK\fR
+.ad
+.RS 17n
+.rt
+Blinking
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBA_DIM\fR
+.ad
+.RS 17n
+.rt
+Half bright
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBA_BOLD\fR
+.ad
+.RS 17n
+.rt
+Extra bright or bold
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBA_ALTCHARSET\fR
+.ad
+.RS 17n
+.rt
+Alternate character set
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBA_CHARTEXT\fR
+.ad
+.RS 17n
+.rt
+Bit-mask to extract a character
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBCOLOR_PAIR(\fIn\fR)\fR
+.ad
+.RS 17n
+.rt
+Color-pair number \fIn\fR
+.RE
+
+.sp
+.LP
+The following macro is the reverse of \fBCOLOR_PAIR(\fR\fIn\fR\fB):\fR
+.sp
+.ne 2
+.mk
+.na
+\fBPAIR_NUMBER(\fIattrs\fR)\fR
+.ad
+.RS 22n
+.rt
+Returns the pair number associated with the \fBCOLOR_PAIR(\fR\fIn\fR) attribute
+.RE
+
+.SH RETURN VALUES
+.sp
+.LP
+These routines always return 1.
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+MT-LevelUnsafe
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBcurs_addch\fR(3CURSES), \fBcurs_addstr\fR(3CURSES),
+\fBcurs_printw\fR(3CURSES), \fBcurses\fR(3CURSES), \fBattributes\fR(5)
+.SH NOTES
+.sp
+.LP
+The header <\fBcurses.h\fR> automatically includes the headers <\fBstdio.h\fR>
+and <\fBunctrl.h\fR>.
+.sp
+.LP
+Note that \fBattroff()\fR, \fBwattroff()\fR, \fBattron()\fR, \fBwattron()\fR,
+\fBwattrset()\fR, \fBstandend()\fR, and \fBstandout()\fR may be macros.
diff --git a/usr/src/man/man3curses/curs_beep.3curses b/usr/src/man/man3curses/curs_beep.3curses
new file mode 100644
index 0000000000..307dea9fe2
--- /dev/null
+++ b/usr/src/man/man3curses/curs_beep.3curses
@@ -0,0 +1,63 @@
+'\" te
+.\" Copyright 1989 AT&T
+.\" Portions Copyright (c) 1996, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH curs_beep 3CURSES "31 Dec 1996" "SunOS 5.11" "Curses Library Functions"
+.SH NAME
+curs_beep, beep, flash \- curses bell and screen flash routines
+.SH SYNOPSIS
+.LP
+.nf
+\fBcc\fR [ \fIflag\fR ... ] \fIfile\fR ... \fB-lcurses\fR [ \fIlibrary\fR ... ]
+#include <curses.h>
+
+\fBint\fR \fBbeep\fR(\fBvoid\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBflash\fR(\fBvoid\fR);
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBbeep()\fR and \fBflash()\fR routines are used to signal the terminal
+user. The routine \fBbeep()\fR sounds the audible alarm on the terminal, if
+possible; if that is not possible, it flashes the screen (visible bell), if
+that is possible. The routine \fBflash()\fR flashes the screen, and if that is
+not possible, sounds the audible signal. If neither signal is possible, nothing
+happens. Nearly all terminals have an audible signal (bell or beep), but only
+some can flash the screen.
+.SH RETURN VALUES
+.sp
+.LP
+These routines always return \fBOK\fR.
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+MT-LevelUnsafe
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBcurses\fR(3CURSES), \fBattributes\fR(5)
+.SH NOTES
+.sp
+.LP
+The header <\fBcurses.h\fR> automatically includes the headers <\fBstdio.h\fR>
+and <\fBunctrl.h\fR>.
diff --git a/usr/src/man/man3curses/curs_bkgd.3curses b/usr/src/man/man3curses/curs_bkgd.3curses
new file mode 100644
index 0000000000..cfa7540668
--- /dev/null
+++ b/usr/src/man/man3curses/curs_bkgd.3curses
@@ -0,0 +1,91 @@
+'\" te
+.\" Copyright 1989 AT&T
+.\" Portions Copyright (c) 1996, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH curs_bkgd 3CURSES "31 Dec 1996" "SunOS 5.11" "Curses Library Functions"
+.SH NAME
+curs_bkgd, bkgd, bkgdset, wbkgdset, wbkgd \- curses window background
+manipulation routines
+.SH SYNOPSIS
+.LP
+.nf
+\fBcc\fR [ \fIflag\fR ... ] \fIfile\fR ... \fB-lcurses\fR [ \fIlibrary\fR ... ]
+#include <curses.h>
+
+\fBint\fR \fBbkgd\fR(\fBchtype\fR \fIch\fR);
+.fi
+
+.LP
+.nf
+\fBvoid\fR \fBbkgdset\fR(\fBchtype\fR \fIch\fR);
+.fi
+
+.LP
+.nf
+\fBvoid\fR \fBwbkgdset\fR(\fBWINDOW *\fR\fIwin\fR, \fBchtype\fR \fIch\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBwbkgd\fR(\fBWINDOW *\fR\fIwin\fR, \fBchtype\fR \fIch\fR);
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBbkgdsets()\fR and \fBwbkgdset()\fR routines manipulate the background of
+the named window. Background is a \fBchtype\fR consisting of any combination of
+attributes and a character. The attribute part of the background is combined
+(ORed) with all non-blank characters that are written into the window with
+\fBwaddch()\fR. Both the character and attribute parts of the background are
+combined with the blank characters. The background becomes a property of the
+character and moves with the character through any scrolling and insert/delete
+line/character operations. To the extent possible on a particular terminal, the
+attribute part of the background is displayed as the graphic rendition of the
+character put on the screen.
+.sp
+.LP
+The \fBbkgd()\fR and \fBwbkgd()\fR routines combine the new background with
+every position in the window. Background is any combination of attributes and a
+character. Only the attribute part is used to set the background of non-blank
+characters, while both character and attributes are used for blank positions.
+To the extent possible on a particular terminal, the attribute part of the
+background is displayed as the graphic rendition of the character put on the
+screen.
+.SH RETURN VALUES
+.sp
+.LP
+\fBbkgd()\fR and \fBwbkgd()\fR return the integer \fBOK\fR, or a non-negative
+integer, if \fBimmedok()\fR is set. See \fBcurs_outopts\fR(3CURSES).
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+MT-LevelUnsafe
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBcurs_addch\fR(3CURSES), \fBcurs_outopts\fR(3CURSES), \fBcurses\fR(3CURSES),
+\fBattributes\fR(5)
+.SH NOTES
+.sp
+.LP
+The header <\fBcurses.h\fR> automatically includes the headers <\fBstdio.h\fR>
+and <\fBunctrl.h\fR>.
+.sp
+.LP
+Note that \fBbkgdset()\fR and \fBbkgd()\fR may be macros.
diff --git a/usr/src/man/man3curses/curs_border.3curses b/usr/src/man/man3curses/curs_border.3curses
new file mode 100644
index 0000000000..3ee6c28929
--- /dev/null
+++ b/usr/src/man/man3curses/curs_border.3curses
@@ -0,0 +1,134 @@
+'\" te
+.\" Copyright 1989 AT&T
+.\" Portions Copyright (c) 1996, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH curs_border 3CURSES "31 Dec 1996" "SunOS 5.11" "Curses Library Functions"
+.SH NAME
+curs_border, border, wborder, box, whline, wvline \- create curses borders,
+horizontal and vertical lines
+.SH SYNOPSIS
+.LP
+.nf
+\fBcc\fR [ \fIflag\fR ... ] \fIfile\fR ... \fB-lcurses\fR [ \fIlibrary\fR ... ]
+#include <curses.h>
+
+\fBint\fR \fBborder\fR(\fBchtype\fR \fIls\fR, \fBchtype\fR \fIrs\fR, \fBchtype\fR \fIts\fR, \fBchtype\fR \fIbs\fR, \fBchtype\fR \fItl\fR,
+ \fBchtype\fR \fItr\fR, \fBchtype\fR \fIbl\fR,\fBchtype\fR \fIbr\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBwborder\fR(\fBWINDOW *\fR\fIwin\fR, \fBchtype\fR \fIls\fR, \fBchtype\fR \fIrs\fR, \fBchtype\fR \fIts\fR,
+ \fBchtype\fR \fIbs\fR, \fBchtype\fR \fItl\fR, \fBchtype\fR \fItr\fR, \fBchtype\fR \fIbl\fR, \fBchtype\fR \fIbr\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBbox\fR(\fBWINDOW *\fR\fIwin\fR, \fBchtype\fR \fIverch\fR, \fBchtype\fR \fIhorch\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBhline\fR(\fBchtype\fR \fIch\fR, \fBint\fR \fIn\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBwhline\fR(\fBWINDOW *\fR\fIwin\fR, \fBchtype\fR \fIch\fR, \fBint\fR \fIn\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBvline\fR(\fBchtype\fR \fIch\fR, \fBint\fR \fIn\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBwvline\fR(\fBWINDOW *\fR\fIwin\fR, \fBchtype\fR \fIch\fR, \fBint\fR \fIn\fR);
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+With the \fBborder()\fR, \fBwborder()\fR, and \fBbox()\fR routines, a border
+is drawn around the edges of the window. The arguments and attributes are:
+.sp
+
+.sp
+.TS
+tab();
+lw(2.75i) lw(2.75i)
+lw(2.75i) lw(2.75i)
+.
+\fBls\fRleft side of the border
+\fBrs\fRright side of the border
+\fBts\fRtop side of the border
+\fBbs\fRbottom side of the border
+\fBtl\fRtop left-hand corner
+\fBtr\fRtop right-hand corner
+\fBbl\fRbottom left-hand corner
+\fBbr\fRbottom right-hand corner
+.TE
+
+.sp
+.LP
+If any of these arguments is zero, then the following default values (defined
+in <\fBcurses.h\fR>) are used respectively instead: \fBACS_VLINE\fR,
+\fBACS_VLINE\fR, \fBACS_HLINE\fR, \fBACS_HLINE\fR, \fBACS_ULCORNER\fR,
+\fBACS_URCORNER\fR, \fBACS_BLCORNER\fR, \fBACS_BRCORNER\fR.
+.sp
+.LP
+\fBbox(\fR\fIwin\fR\fB,\fR \fIverch\fR\fB,\fR \fIhorch\fR\fB)\fR is a shorthand
+for the following call:
+.sp
+.LP
+\fBwborder(\fR\fIwin\fR\fB,\fR \fIverch\fR\fB,\fR \fIverch\fR\fB,\fR
+\fIhorch\fR\fB,\fR \fBhorch , 0, 0, 0, 0)\fR
+.sp
+.LP
+\fBhline()\fR and \fBwhline()\fR draw a horizontal (left to right) line using
+\fIch\fR starting at the current cursor position in the window. The current
+cursor position is not changed. The line is at most \fIn\fR characters long, or
+as many as fit into the window.
+.sp
+.LP
+\fBvline()\fR and \fBwvline()\fR draw a vertical (top to bottom) line using
+\fIch\fR starting at the current cursor position in the window. The current
+cursor position is not changed. The line is at most \fIn\fR characters long, or
+as many as fit into the window.
+.SH RETURN VALUES
+.sp
+.LP
+All routines return the integer \fBOK\fR, or a non-negative integer if
+\fBimmedok()\fR is set. See \fBcurs_outopts\fR(3CURSES).
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+MT-LevelUnsafe
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBcurs_outopts\fR(3CURSES), \fBcurses\fR(3CURSES), \fBattributes\fR(5)
+.SH NOTES
+.sp
+.LP
+The header <\fBcurses.h\fR> automatically includes the headers <\fBstdio.h\fR>
+and <\fBunctrl.h\fR>.
+.sp
+.LP
+Note that \fBborder()\fR and \fBbox()\fR may be macros.
diff --git a/usr/src/man/man3curses/curs_clear.3curses b/usr/src/man/man3curses/curs_clear.3curses
new file mode 100644
index 0000000000..9e8496820e
--- /dev/null
+++ b/usr/src/man/man3curses/curs_clear.3curses
@@ -0,0 +1,110 @@
+'\" te
+.\" Copyright 1989 AT&T
+.\" Portions Copyright (c) 1996, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH curs_clear 3CURSES "31 Dec 1996" "SunOS 5.11" "Curses Library Functions"
+.SH NAME
+curs_clear, erase, werase, clear, wclear, clrtobot, wclrtobot, clrtoeol,
+wclrtoeol \- clear all or part of a curses window
+.SH SYNOPSIS
+.LP
+.nf
+\fBcc\fR [ \fIflag\fR... ] \fIfile\fR ... \fB-lcurses\fR [ \fIlibrary\fR ... ]
+#include <curses.h>
+
+\fBint\fR \fBerase\fR(\fBvoid\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBwerase\fR(\fBWINDOW *\fR\fIwin\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBclear\fR(\fBvoid\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBwclear\fR(\fBWINDOW *\fR\fIwin\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBclrtobot\fR(\fBvoid\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBwclrtobot\fR(\fBWINDOW *\fR\fIwin\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBclrtoeol\fR(\fBvoid\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBwclrtoeol\fR(\fBWINDOW *\fR\fIwin\fR);
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBerase()\fR and \fBwerase()\fR routines copy blanks to every position in
+the window.
+.sp
+.LP
+The \fBclear()\fR and \fBwclear()\fR routines are like \fBerase()\fR and
+\fBwerase()\fR, but they also call \fBclearok()\fR \fB,\fR so that the screen
+is cleared completely on the next call to \fBwrefresh()\fR for that window and
+repainted from scratch.
+.sp
+.LP
+The \fBclrtobot()\fR and \fBwclrtobot()\fR routines erase all lines below the
+cursor in the window. Also, the current line to the right of the cursor,
+inclusive, is erased.
+.sp
+.LP
+The \fBclrtoeol()\fR and \fBwclrtoeol()\fR routines erase the current line to
+the right of the cursor, inclusive.
+.SH RETURN VALUES
+.sp
+.LP
+All routines return the integer \fBOK\fR, or a non-negative integer if
+\fBimmedok()\fR is set. See \fBcurs_outopts\fR(3CURSES).
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+MT-LevelUnsafe
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBcurs_outopts\fR(3CURSES), \fBcurs_refresh\fR(3CURSES),
+\fBcurses\fR(3CURSES), \fBattributes\fR(5)
+.SH NOTES
+.sp
+.LP
+The header <\fBcurses.h\fR> automatically includes the headers <\fBstdio.h\fR>
+and <\fBunctrl.h\fR>.
+.sp
+.LP
+Note that \fBerase()\fR, \fBwerase()\fR, \fBclear()\fR, \fBwclear()\fR,
+\fBclrtobot()\fR, and \fBclrtoeol()\fR may be macros.
diff --git a/usr/src/man/man3curses/curs_color.3curses b/usr/src/man/man3curses/curs_color.3curses
new file mode 100644
index 0000000000..c42acccd58
--- /dev/null
+++ b/usr/src/man/man3curses/curs_color.3curses
@@ -0,0 +1,183 @@
+'\" te
+.\" Copyright 1989 AT&T
+.\" Portions Copyright (c) 1996, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH curs_color 3CURSES "31 Dec 1996" "SunOS 5.11" "Curses Library Functions"
+.SH NAME
+curs_color, start_color, init_pair, init_color, has_colors, can_change_color,
+color_content, pair_content \- curses color manipulation functions
+.SH SYNOPSIS
+.LP
+.nf
+\fBcc\fR [ \fIflag\fR ... ] \fIfile\fR ... \fB-lcurses\fR [ \fIlibrary\fR ... ]
+#include <curses.h>
+
+\fBint\fR \fBstart_color\fR(\fBvoid\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBinit_pair\fR(\fBshort\fR \fIpair\fR, \fBshort\fR \fIfg\fR, \fBshort\fR \fIbg\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBinit_color\fR(\fBshort\fR \fIcolor\fR, \fBshort\fR \fIred\fR, \fBshort\fR \fIgreen\fR, \fBshort\fR \fIblue\fR);
+.fi
+
+.LP
+.nf
+\fBbool\fR \fBhas_colors\fR(\fBvoid\fR);
+.fi
+
+.LP
+.nf
+\fBbool\fR \fBcan_change_color\fR(\fBvoid\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBcolor_content\fR(\fBshort\fR \fIcolor\fR, \fBshort *\fR\fIredp\fR, \fBshort *\fR\fIgreenp\fR, \fBshort *\fR\fIbluep\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBpair_content\fR(\fBshort\fR \fIpair\fR, \fBshort *\fR\fIfgp\fR, \fBshort *\fR\fIbgp\fR);
+.fi
+
+.SH DESCRIPTION
+.SS "Overview"
+.sp
+.LP
+\fBcurses\fR provides routines that manipulate color on color alphanumeric
+terminals. To use these routines \fBstart_color()\fR must be called, usually
+right after \fBinitscr()\fR. See \fBcurs_initscr\fR(3CURSES). Colors are always
+used in pairs (referred to as color-pairs). A color-pair consists of a
+foreground color (for characters) and a background color (for the field on
+which the characters are displayed). A programmer initializes a color-pair with
+the routine \fBinit_pair\fR. After it has been initialized,
+\fBCOLOR_PAIR(\fR\fIn\fR\fB),\fR a macro defined in \fB<curses.h>\fR, can be
+used in the same ways other video attributes can be used. If a terminal is
+capable of redefining colors, the programmer can use the routine
+\fBinit_color()\fR to change the definition of a color. The routines
+\fBhas_colors()\fR and \fBcan_change_color()\fR return \fBTRUE\fR or
+\fBFALSE\fR, depending on whether the terminal has color capabilities and
+whether the programmer can change the colors. The routine \fBcolor_content()\fR
+allows a programmer to identify the amounts of red, green, and blue components
+in an initialized color. The routine \fBpair_content()\fR allows a programmer
+to find out how a given color-pair is currently defined.
+.SS "Routine Descriptions"
+.sp
+.LP
+The \fBstart_color()\fR routine requires no arguments. It must be called if the
+programmer wants to use colors, and before any other color manipulation routine
+is called. It is good practice to call this routine right after
+\fBinitscr()\fR. \fBstart_color()\fR initializes eight basic colors (black,
+red, green, yellow, blue, magenta, cyan, and white), and two global variables,
+\fBCOLORS\fR and \fBCOLOR_PAIRS\fR (respectively defining the maximum number of
+colors and color-pairs the terminal can support). It also restores the colors
+on the terminal to the values they had when the terminal was just turned on.
+.sp
+.LP
+The \fBinit_pair()\fR routine changes the definition of a color-pair. It takes
+three arguments: the number of the color-pair to be changed, the foreground
+color number, and the background color number. The value of the first argument
+must be between \fB1\fR and \fBCOLOR_PAIRS\fR\(mi1. The value of the second and
+third arguments must be between 0 and \fBCOLORS\fR. If the color-pair was
+previously initialized, the screen is refreshed and all occurrences of that
+color-pair is changed to the new definition.
+.sp
+.LP
+The \fBinit_color()\fR routine changes the definition of a color. It takes four
+arguments: the number of the color to be changed followed by three \fBRGB\fR
+values (for the amounts of red, green, and blue components). The value of the
+first argument must be between \fB0\fR and \fBCOLORS\fR. (See the section
+\fBColors\fR for the default color index.) Each of the last three arguments
+must be a value between 0 and 1000. When \fBinit_color()\fR is used, all
+occurrences of that color on the screen immediately change to the new
+definition.
+.sp
+.LP
+The \fBhas_colors()\fR routine requires no arguments. It returns \fBTRUE\fR if
+the terminal can manipulate colors; otherwise, it returns \fBFALSE\fR. This
+routine facilitates writing terminal-independent programs. For example, a
+programmer can use it to decide whether to use color or some other video
+attribute.
+.sp
+.LP
+The \fBcan_change_color()\fR routine requires no arguments. It returns
+\fBTRUE\fR if the terminal supports colors and can change their definitions;
+other, it returns \fBFALSE\fR. This routine facilitates writing
+terminal-independent programs.
+.sp
+.LP
+The \fBcolor_content()\fR routine gives users a way to find the intensity of
+the red, green, and blue (RGB) components in a color. It requires four
+arguments: the color number, and three addresses of \fBshort\fRs for storing
+the information about the amounts of red, green, and blue components in the
+given color. The value of the first argument must be between 0 and
+\fBCOLORS\fR. The values that are stored at the addresses pointed to by the
+last three arguments are between 0 (no component) and 1000 (maximum amount of
+component).
+.sp
+.LP
+The \fBpair_content()\fR routine allows users to find out what colors a given
+color-pair consists of. It requires three arguments: the color-pair number, and
+two addresses of \fBshort\fRs for storing the foreground and the background
+color numbers. The value of the first argument must be between 1 and
+\fBCOLOR_PAIRS\fR\(mi1. The values that are stored at the addresses pointed to
+by the second and third arguments are between 0 and \fBCOLORS\fR.
+.SS "Colors"
+.sp
+.LP
+In \fB<curses.h>\fR the following macros are defined. These are the default
+colors. \fBcurses\fR also assumes that \fBCOLOR_BLACK\fR is the default
+background color for all terminals.
+.sp
+.in +2
+.nf
+\fBCOLOR_BLACK
+COLOR_RED
+COLOR_GREEN
+COLOR_YELLOW
+COLOR_BLUE
+COLOR_MAGENTA
+COLOR_CYAN
+COLOR_WHITE\fR
+.fi
+.in -2
+
+.SH RETURN VALUES
+.sp
+.LP
+All routines that return an integer return \fBERR\fR upon failure and \fBOK\fR
+upon successful completion.
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+MT-LevelUnsafe
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBcurs_attr\fR(3CURSES), \fBcurs_initscr\fR(3CURSES), \fBcurses\fR(3CURSES),
+\fBattributes\fR(5)
+.SH NOTES
+.sp
+.LP
+The header <\fBcurses.h\fR> automatically includes the headers <\fBstdio.h\fR>
+and <\fBunctrl.h\fR>.
diff --git a/usr/src/man/man3curses/curs_delch.3curses b/usr/src/man/man3curses/curs_delch.3curses
new file mode 100644
index 0000000000..4025948ce0
--- /dev/null
+++ b/usr/src/man/man3curses/curs_delch.3curses
@@ -0,0 +1,76 @@
+'\" te
+.\" Copyright 1989 AT&T
+.\" Portions Copyright (c) 1996, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH curs_delch 3CURSES "31 Dec 1996" "SunOS 5.11" "Curses Library Functions"
+.SH NAME
+curs_delch, delch, wdelch, mvdelch, mvwdelch \- delete character under cursor
+in a curses window
+.SH SYNOPSIS
+.LP
+.nf
+\fBcc\fR [ \fIflag\fR ... ] \fIfile\fR ... \fB-lcurses\fR [ \fIlibrary\fR ... ]
+#include <curses.h>
+
+\fBint\fR \fBdelch\fR(\fBvoid\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBwdelch\fR(\fBWINDOW *\fR\fIwin\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBmvdelch\fR(\fBint\fR \fIy\fR, \fBint\fR \fIx\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBmvwdelch\fR(\fBWINDOW *\fR\fIwin\fR, \fBint\fR \fIy\fR, \fBint\fR \fIx\fR);
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+With these routines the character under the cursor in the window is deleted;
+all characters to the right of the cursor on the same line are moved to the
+left one position and the last character on the line is filled with a blank.
+The cursor position does not change (after moving to \fIy\fR, \fIx\fR, if
+specified). This does not imply use of the hardware delete character feature.
+.SH RETURN VALUES
+.sp
+.LP
+All routines return the integer \fBERR\fR upon failure and an integer value
+other than \fBERR\fR upon successful completion.
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+MT-LevelUnsafe
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBcurses\fR(3CURSES), \fBattributes\fR(5)
+.SH NOTES
+.sp
+.LP
+The header <\fBcurses.h\fR> automatically includes the headers <\fBstdio.h\fR>
+and <\fBunctrl.h\fR>.
+.sp
+.LP
+Note that \fBdelch()\fR, \fBmvdelch()\fR, and \fBmvwdelch()\fR may be macros.
diff --git a/usr/src/man/man3curses/curs_deleteln.3curses b/usr/src/man/man3curses/curs_deleteln.3curses
new file mode 100644
index 0000000000..1a4c0c7e1e
--- /dev/null
+++ b/usr/src/man/man3curses/curs_deleteln.3curses
@@ -0,0 +1,97 @@
+'\" te
+.\" Copyright 1989 AT&T
+.\" Portions Copyright (c) 1996, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH curs_deleteln 3CURSES "31 Dec 1996" "SunOS 5.11" "Curses Library Functions"
+.SH NAME
+curs_deleteln, deleteln, wdeleteln, insdelln, winsdelln, insertln, winsertln \-
+delete and insert lines in a curses window
+.SH SYNOPSIS
+.LP
+.nf
+\fBcc\fR [ \fIflag\fR ... ] \fIfile\fR ... \fB-lcurses\fR [ \fIlibrary\fR ... ]
+#include <curses.h>
+
+\fBint\fR \fBdeleteln\fR(\fBvoid\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBwdeleteln\fR(\fBWINDOW *\fR\fIwin\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBinsdelln\fR(\fBint\fR \fIn\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBwinsdelln\fR(\fBWINDOW *\fR\fIwin\fR, \fBint\fR \fIn\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBinsertln\fR(\fBvoid\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBwinsertln\fR(\fBWINDOW *\fR\fIwin\fR);
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+With the \fBdeleteln()\fR and \fBwdeleteln()\fR routines, the line under the
+cursor in the window is deleted; all lines below the current line are moved up
+one line. The bottom line of the window is cleared. The cursor position does
+not change. This does not imply use of a hardware delete line feature.
+.sp
+.LP
+With the \fBinsdelln()\fR and \fBwinsdelln()\fR routines, for positive
+\fIn\fR, insert \fIn\fR lines into the specified window above the current line.
+The \fIn\fR bottom lines are lost. For negative \fIn\fR, delete \fIn\fR lines
+(starting with the one under the cursor), and move the remaining lines up. The
+bottom \fIn\fR lines are cleared. The current cursor position remains the same.
+.sp
+.LP
+With the \fBinsertln()\fR and \fBinsertln()\fR routines, a blank line is
+inserted above the current line and the bottom line is lost. This does not
+imply use of a hardware insert line feature.
+.SH RETURN VALUES
+.sp
+.LP
+All routines return the integer \fBERR\fR upon failure and an integer value
+other than \fBERR\fR upon successful completion.
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+MT-LevelUnsafe
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBcurses\fR(3CURSES), \fBattributes\fR(5)
+.SH NOTES
+.sp
+.LP
+The header <\fBcurses.h\fR> automatically includes the headers <\fBstdio.h\fR>
+and <\fBunctrl.h\fR>.
+.sp
+.LP
+Note that all but \fBwinsdelln()\fR may be macros.
diff --git a/usr/src/man/man3curses/curs_getch.3curses b/usr/src/man/man3curses/curs_getch.3curses
new file mode 100644
index 0000000000..d3b7360e1d
--- /dev/null
+++ b/usr/src/man/man3curses/curs_getch.3curses
@@ -0,0 +1,232 @@
+'\" te
+.\" Copyright 1989 AT&T
+.\" Portions Copyright (c) 1996, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH curs_getch 3CURSES "31 Dec 1996" "SunOS 5.11" "Curses Library Functions"
+.SH NAME
+curs_getch, getch, wgetch, mvgetch, mvwgetch, ungetch \- get (or push back)
+characters from curses terminal keyboard
+.SH SYNOPSIS
+.LP
+.nf
+\fBcc\fR [ \fIflag\fR ... ] \fIfile\fR ... \fB-lcurses\fR [ \fIlibrary\fR ... ]
+#include <curses.h>
+
+\fBint\fR \fBgetch\fR(\fBvoid\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBwgetch\fR(\fBWINDOW *\fR\fIwin\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBmvgetch\fR(\fBint\fR \fIy\fR, \fBint\fR \fIx\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBmvwgetch\fR(\fBWINDOW *\fR\fIwin\fR, \fBint\fR \fIy\fR, \fBint\fR \fIx\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBungetch\fR(\fBint\fR \fIch\fR);
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+With the \fBgetch()\fR, \fBwgetch()\fR, \fBmvgetch()\fR, and \fBmvwgetch()\fR
+routines a character is read from the terminal associated with the window. In
+no-delay mode, if no input is waiting, the value \fBERR\fR is returned. In
+delay mode, the program waits until the system passes text through to the
+program. Depending on the setting of \fBcbreak()\fR, this is after one
+character (cbreak mode), or after the first newline (nocbreak mode). In
+half-delay mode, the program waits until a character is typed or the specified
+timeout has been reached. Unless \fBnoecho()\fR has been set, the character
+will also be echoed into the designated window.
+.sp
+.LP
+If the window is not a pad, and it has been moved or modified since the last
+call to \fBwrefresh()\fR, \fBwrefresh()\fR will be called before another
+character is read.
+.sp
+.LP
+If \fBkeypad()\fR is \fBTRUE\fR, and a function key is pressed, the token for
+that function key is returned instead of the raw characters. Possible function
+keys are defined in \fB<curses.h>\fR with integers beginning with \fB0401\fR,
+whose names begin with \fBKEY_\fR. If a character that could be the beginning
+of a function key (such as escape) is received, \fBcurses\fR sets a timer. If
+the remainder of the sequence does not come in within the designated time, the
+character is passed through; otherwise, the function key value is returned. For
+this reason, many terminals experience a delay between the time a user presses
+the escape key and the escape is returned to the program. Since tokens returned
+by these routines are outside the \fBASCII\fR range, they are not printable.
+.sp
+.LP
+The \fBungetch()\fR routine places \fIch\fR back onto the input queue to be
+returned by the next call to \fBwgetch()\fR.
+.SS "Function Keys"
+.sp
+.LP
+The following function keys, defined in \fB<curses.h>\fR, might be returned by
+\fBgetch()\fR if \fBkeypad()\fR has been enabled. Note that not all of these
+may be supported on a particular terminal if the terminal does not transmit a
+unique code when the key is pressed or if the definition for the key is not
+present in the \fIterminfo\fR database.
+.sp
+
+.sp
+.TS
+tab();
+cw(2.75i) cw(2.75i)
+lw(2.75i) lw(2.75i)
+.
+\fBName\fR\fBKey name\fR
+_
+KEY_BREAKBreak key
+KEY_DOWNThe four arrow keys \|.\|.\|.
+KEY_UP
+KEY_LEFT
+KEY_RIGHT
+KEY_HOMEHome key (upward+left arrow)
+KEY_BACKSPACEBackspace
+KEY_F0T{
+Function keys; space for 64 keys is reserved.
+T}
+KEY_F(\fBn\fR)For 0 \(<= \fBn\fR \(<= 63
+KEY_DLDelete line
+KEY_ILInsert line
+KEY_DCDelete character
+KEY_ICInsert char or enter insert mode
+KEY_EICExit insert char mode
+KEY_CLEARClear screen
+KEY_EOSClear to end of screen
+KEY_EOLClear to end of line
+KEY_SFScroll 1 line forward
+ KEY_SRScroll 1 line backward (reverse)
+KEY_NPAGENext page
+KEY_PPAGEPrevious page
+KEY_STABSet tab
+KEY_CTABClear tab
+KEY_CATABClear all tabs
+KEY_ENTEREnter or send
+KEY_SRESETSoft (partial) reset
+KEY_RESETReset or hard reset
+KEY_PRINTPrint or copy
+KEY_LLT{
+Home down or bottom (lower left). Keypad is arranged like this: (Row 1) A1 up A3 (Row 2) left B2 right (Row 3) C1 down C3
+T}
+KEY_A1Upper left of keypad
+KEY_A3Upper right of keypad
+KEY_B2Center of keypad
+KEY_C1Lower left of keypad
+KEY_C3Lower right of keypad
+KEY_BTABBack tab key
+KEY_BEGBeg(inning) key
+KEY_CANCELCancel key
+KEY_CLOSEClose key
+KEY_COMMANDCmd (command) key
+KEY_COPYCopy key
+KEY_CREATECreate key
+KEY_ENDEnd key
+KEY_EXITExit key
+KEY_FINDFind key
+KEY_HELPHelp key
+KEY_MARKMark key
+KEY_MESSAGEMessage key
+KEY_MOVEMove key
+KEY_NEXTNext object key
+KEY_OPENOpen key
+KEY_OPTIONSOptions key
+KEY_PREVIOUSPrevious object key
+KEY_REDORedo key
+KEY_REFERENCEReference key
+KEY_REFRESH Refresh key
+KEY_REPLACEReplace key
+KEY_RESTARTRestart key
+KEY_RESUMEResume key
+KEY_SAVESave key
+KEY_SBEGShifted beginning key
+KEY_SCANCELShifted cancel key
+KEY_SCOMMANDShifted command key
+KEY_SCOPYShifted copy key
+KEY_SCREATEShifted create key
+KEY_SDCShifted delete char key
+KEY_SDLShifted delete line key
+KEY_SELECTSelect key
+KEY_SENDShifted end key
+KEY_SEOLShifted clear line key
+KEY_SEXITShifted exit key
+KEY_SFINDShifted find key
+KEY_SHELPShifted help key
+KEY_SHOMEShifted home key
+KEY_SICShifted input key
+KEY_SLEFTShifted left arrow key
+KEY_SMESSAGEShifted message key
+KEY_SMOVEShifted move key
+KEY_SNEXTShifted next key
+KEY_SOPTIONSShifted options key
+KEY_SPREVIOUSShifted prev key
+KEY_SPRINTShifted print key
+KEY_SREDOShifted redo key
+KEY_SREPLACEShifted replace key
+KEY_SRIGHTShifted right arrow
+KEY_SRSUMEShifted resume key
+KEY_SSAVEShifted save key
+KEY_SSUSPENDShifted suspend key
+KEY_SUNDOShifted undo key
+KEY_SUSPENDSuspend key
+KEY_UNDOUndo key
+.TE
+
+.SH RETURN VALUES
+.sp
+.LP
+All routines return the integer \fBERR\fR upon failure. The \fBungetch()\fR
+routine returns an integer value other than \fBERR\fR upon successful
+completion. The other routines return the next input character or function key
+code upon successful completion.
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+MT-LevelUnsafe
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBcurs_inopts\fR(3CURSES), \fBcurs_move\fR(3CURSES),
+\fBcurs_refresh\fR(3CURSES), \fBcurses\fR(3CURSES), \fBattributes\fR(5)
+.SH NOTES
+.sp
+.LP
+The header <\fBcurses.h\fR> automatically includes the headers <\fBstdio.h\fR>
+and <\fBunctrl.h\fR>.
+.sp
+.LP
+Use of the escape key for a single character function is discouraged.
+.sp
+.LP
+When using \fBgetch()\fR, \fBwgetch()\fR, \fBmvgetch()\fR, or \fBmvwgetch()\fR,
+\fBnocbreak\fR mode (\fBnocbreak()\fR) and \fBecho\fR mode (\fBecho()\fR)
+should not be used at the same time. Depending on the state of the tty driver
+when each character is typed, the program may produce undesirable results.
+.sp
+.LP
+Note that \fBgetch()\fR, \fBmvgetch()\fR, and \fBmvwgetch()\fR may be macros.
diff --git a/usr/src/man/man3curses/curs_getstr.3curses b/usr/src/man/man3curses/curs_getstr.3curses
new file mode 100644
index 0000000000..31afdd7ecc
--- /dev/null
+++ b/usr/src/man/man3curses/curs_getstr.3curses
@@ -0,0 +1,84 @@
+'\" te
+.\" Copyright 1989 AT&T
+.\" Portions Copyright (c) 1996, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH curs_getstr 3CURSES "31 Dec 1996" "SunOS 5.11" "Curses Library Functions"
+.SH NAME
+curs_getstr, getstr, wgetstr, mvgetstr, mvwgetstr, wgetnstr \- get character
+strings from curses terminal keyboard
+.SH SYNOPSIS
+.LP
+.nf
+\fBcc\fR [ \fIflag\fR ... ] \fIfile\fR ... \fB-lcurses\fR [ \fIlibrary\fR ... ]
+#include <curses.h>
+
+\fBint\fR \fBgetstr\fR(\fBchar *\fR\fIstr\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBwgetstr\fR(\fBWINDOW *\fR\fIwin\fR, \fBchar *\fR\fIstr\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBmvgetstr\fR(\fBint\fR \fIy\fR, \fBint\fR \fIx\fR, \fBchar *\fR\fIstr\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBmvwgetstr\fR(\fBWINDOW *\fR\fIwin\fR, \fBint\fR \fIy\fR, \fBint\fR \fIx\fR, \fBchar *\fR\fIstr\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBwgetnstr\fR(\fBWINDOW *\fR\fIwin\fR, \fBchar *\fR\fIstr\fR, \fBint\fR \fIn\fR);
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The effect of \fBgetstr()\fR is as though a series of calls to \fBgetch()\fR
+were made, until a newline or carriage return is received. The resulting value
+is placed in the area pointed to by the character pointer \fIstr\fR.
+\fBwgetnstr()\fR reads at most \fIn\fR characters, thus preventing a possible
+overflow of the input buffer. The user's erase and kill characters are
+interpreted, as well as any special keys (such as function keys, HOME key, and
+CLEAR key.)
+.SH RETURN VALUES
+.sp
+.LP
+All routines return the integer \fBERR\fR upon failure and an integer value
+other than \fBERR\fR upon successful completion.
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+MT-LevelUnsafe
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBcurs_getch\fR(3CURSES), \fBcurses\fR(3CURSES), \fBattributes\fR(5)
+.SH NOTES
+.sp
+.LP
+The header <\fBcurses.h\fR> automatically includes the headers <\fBstdio.h\fR>
+and <\fBunctrl.h\fR>.
+.sp
+.LP
+Note that \fBgetstr()\fR, \fBmvgetstr()\fR, and \fBmvwgetstr()\fR may be
+macros.
diff --git a/usr/src/man/man3curses/curs_getwch.3curses b/usr/src/man/man3curses/curs_getwch.3curses
new file mode 100644
index 0000000000..fcb1a259d6
--- /dev/null
+++ b/usr/src/man/man3curses/curs_getwch.3curses
@@ -0,0 +1,232 @@
+'\" te
+.\" Copyright 1989 AT&T
+.\" Portions Copyright (c) 1996, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH curs_getwch 3CURSES "31 Dec 1996" "SunOS 5.11" "Curses Library Functions"
+.SH NAME
+curs_getwch, getwch, wgetwch, mvgetwch, mvwgetwch, ungetwch \- get (or push
+back) wchar_t characters from curses terminal keyboard
+.SH SYNOPSIS
+.LP
+.nf
+\fBcc\fR [ \fIflag\fR ... ] \fIfile\fR ... \fB-lcurses\fR [ \fIlibrary\fR .. ]
+#include <curses.h>
+
+\fBint\fR \fBgetwch\fR(\fBvoid\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBwgetwch\fR(\fBWINDOW *\fR\fIwin\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBmvgetwch\fR(\fBint\fR \fIy\fR, \fBint\fR \fIx\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBmvwgetwch\fR(\fBWINDOW *\fR\fIwin\fR, \fBint\fR \fIy\fR, \fBint\fR \fIx\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBungetwch\fR(\fBint\fR \fIwch\fR);
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBgetwch()\fR, \fBwgetwch()\fR, \fBmvgetwch()\fR, and \fBmvwgetwch()\fR
+routines read an EUC character from the terminal associated with the window,
+transform it into a \fBwchar_t\fR character, and return a \fBwchar_t\fR
+character. In no-delay mode, if no input is waiting, the value \fBERR\fR is
+returned. In delay mode, the program waits until the system passes text through
+to the program. Depending on the setting of \fBcbreak\fR, this is after one
+character ( \fBcbreak\fR mode ), or after the first newline (\fBnocbreak\fR
+mode ). In \fBhalf-delay\fR mode, the program waits until a character is typed
+or the specified timeout has been reached. Unless \fBnoecho\fR has been set,
+the character will also be echoed into the designated window.
+.sp
+.LP
+If the window is not a pad, and it has been moved or modified since the last
+call to \fBwrefresh\fR(3CURSES), \fBwrefresh\fR will be called before another
+character is read.
+.sp
+.LP
+If \fBkeypad\fR is \fBTRUE\fR, and a function key is pressed, the token for
+that function key is returned instead of the raw characters. Possible function
+keys are defined in \fB<curses.h>\fR with integers beginning with \fB0401\fR,
+whose names begin with \fBKEY_.\fR If a character that could be the beginning
+of a function key (such as escape) is received, \fBcurses\fR(3CURSES) sets a
+timer. If the remainder of the sequence does not come in within the designated
+time, the character is passed through; otherwise, the function key value is
+returned. For this reason, many terminals experience a delay between the time a
+user presses the escape key and the escape is returned to the program.
+.sp
+.LP
+The \fBungetwch()\fR routine places \fBwch\fR back onto the input queue to be
+returned by the next call to \fBwgetwch()\fR.
+.SS "Function Keys"
+.sp
+.LP
+The following function keys, defined in \fB<curses.h>\fR, might be returned by
+\fBgetwch()\fR if \fBkeypad\fR has been enabled. Note that not all of these
+may be supported on a particular terminal if the terminal does not transmit a
+unique code when the key is pressed or if the definition for the key is not
+present in the \fBterminfo\fR(4) database.
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) cw(2.75i)
+lw(2.75i) lw(2.75i)
+.
+\fIName\fR\fIKey name\fR
+_
+KEY_BREAKBreak key
+KEY_DOWNThe four arrow keys \|.\|.\|.
+KEY_UP
+KEY_LEFT
+KEY_RIGHT
+KEY_HOMEHome key (upward+left arrow)
+KEY_BACKSPACEBackspace
+KEY_F0T{
+Function keys; space for 64 keys is reserved.
+T}
+KEY_F(\fIn\fR)For 0 \(<= \fIn\fR \(<= 63
+KEY_DLDelete line
+KEY_ILInsert line
+KEY_DCDelete character
+KEY_ICInsert char or enter insert mode
+KEY_EICExit insert char mode
+KEY_CLEARClear screen
+KEY_EOSClear to end of screen
+KEY_EOLClear to end of line
+KEY_SFScroll 1 line forward
+ KEY_SRScroll 1 line backward (reverse)
+KEY_NPAGENext page
+KEY_PPAGEPrevious page
+KEY_STABSet tab
+KEY_CTABClear tab
+KEY_CATABClear all tabs
+KEY_ENTEREnter or send
+KEY_SRESETSoft (partial) reset
+KEY_RESETReset or hard reset
+KEY_PRINTPrint or copy
+KEY_LLT{
+Home down or bottom (lower left). Keypad is arranged like this: A1 up A3 left B2 right C1 down C3
+T}
+KEY_A1Upper left of keypad
+KEY_A3Upper right of keypad
+KEY_B2Center of keypad
+KEY_C1Lower left of keypad
+KEY_C3Lower right of keypad
+KEY_BTABBack tab key
+KEY_BEGBeg(inning) key
+KEY_CANCELCancel key
+KEY_CLOSEClose key
+KEY_COMMANDCmd (command) key
+KEY_COPYCopy key
+KEY_CREATECreate key
+KEY_ENDEnd key
+KEY_EXITExit key
+KEY_FINDFind key
+KEY_HELPHelp key
+KEY_MARKMark key
+KEY_MESSAGEMessage key
+KEY_MOVEMove key
+KEY_NEXTNext object key
+KEY_OPENOpen key
+KEY_OPTIONSOptions key
+KEY_PREVIOUSPrevious object key
+KEY_REDORedo key
+KEY_REFERENCEReference key
+KEY_REFRESH Refresh key
+KEY_REPLACEReplace key
+KEY_RESTARTRestart key
+KEY_RESUMEResume key
+KEY_SAVESave key
+KEY_SBEGShifted beginning key
+KEY_SCANCELShifted cancel key
+KEY_SCOMMANDShifted command key
+KEY_SCOPYShifted copy key
+KEY_SCREATEShifted create key
+KEY_SDCShifted delete char key
+KEY_SDLShifted delete line key
+KEY_SELECTSelect key
+KEY_SENDShifted end key
+KEY_SEOLShifted clear line key
+KEY_SEXITShifted exit key
+KEY_SFINDShifted find key
+KEY_SHELPShifted help key
+KEY_SHOMEShifted home key
+KEY_SICShifted input key
+KEY_SLEFTShifted left arrow key
+KEY_SMESSAGEShifted message key
+KEY_SMOVEShifted move key
+KEY_SNEXTShifted next key
+KEY_SOPTIONSShifted options key
+KEY_SPREVIOUSShifted prev key
+KEY_SPRINTShifted print key
+KEY_SREDOShifted redo key
+KEY_SREPLACEShifted replace key
+KEY_SRIGHTShifted right arrow
+KEY_SRSUMEShifted resume key
+KEY_SSAVEShifted save key
+KEY_SSUSPENDShifted suspend key
+KEY_SUNDOShifted undo key
+KEY_SUSPENDSuspend key
+KEY_UNDOUndo key
+.TE
+
+.SH RETURN VALUE
+.sp
+.LP
+All routines return the integer \fBERR\fR upon failure and an integer value
+other than \fBERR\fR upon successful completion.
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+MT-LevelUnsafe
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBcurses\fR(3CURSES), \fBcurs_inopts\fR(3CURSES), \fBcurs_move\fR(3CURSES),
+\fBwrefresh\fR(3CURSES), \fBterminfo\fR(4), \fBattributes\fR(5)
+.SH NOTES
+.sp
+.LP
+The header file <\fBcurses.h\fR> automatically includes the header files
+<\fBstdio.h\fR>, <\fBunctrl.h\fR> and <\fBwidec.h\fR>.
+.sp
+.LP
+Use of the escape key by a programmer for a single character function is
+discouraged.
+.sp
+.LP
+When using \fBgetwch()\fR, \fBwgetwch()\fR, \fBmvgetwch()\fR, or
+\fBmvwgetwch()\fR, \fBnocbreak\fR mode and \fBecho\fR mode should not be used
+at the same time. Depending on the state of the tty driver when each character
+is typed, the program may produce undesirable results.
+.sp
+.LP
+Note that \fBgetwch()\fR, \fBmvgetwch()\fR, and \fBmvwgetwch()\fR may be
+macros.
diff --git a/usr/src/man/man3curses/curs_getwstr.3curses b/usr/src/man/man3curses/curs_getwstr.3curses
new file mode 100644
index 0000000000..f3683acb29
--- /dev/null
+++ b/usr/src/man/man3curses/curs_getwstr.3curses
@@ -0,0 +1,99 @@
+'\" te
+.\" Copyright 1989 AT&T
+.\" Portions Copyright (c) 1996, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH curs_getwstr 3CURSES "31 Dec 1996" "SunOS 5.11" "Curses Library Functions"
+.SH NAME
+curs_getwstr, getwstr, getnwstr, wgetwstr, wgetnwstr, mvgetwstr, mvgetnwstr,
+mvwgetwstr, mvwgetnwstr \- get wchar_t character strings from curses terminal
+keyboard
+.SH SYNOPSIS
+.LP
+.nf
+\fBcc\fR [ \fIflag\fR ... ] \fIfile\fR ... \fB-lcurses\fR [ \fIlibrary\fR .. ]
+#include <curses.h>
+
+\fBint\fR \fBgetwstr\fR(\fBwchar_t *\fR\fIwstr\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBgetnwstr\fR(\fBwchar_t *\fR\fIwstr\fR, \fBint\fR \fIn\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBwgetwstr\fR(\fBWINDOW *\fR\fIwin\fR, \fBwchar_t *\fR\fIwstr\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBwgetnwstr\fR(\fBWINDOW *\fR\fIwin\fR, \fBwchar_t *\fR\fIwstr\fR, \fBint\fR \fIn\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBmvgetwstr\fR(\fBint\fR \fIy\fR, \fBint\fR \fIx\fR, \fBwchar_t *\fR\fIwstr\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBmvgetnwstr\fR(\fBint\fR \fIy\fR, \fBint\fR \fIx\fR, \fBwchar_t *\fR\fIwstr\fR, \fBint\fR \fIn\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBmvwgetwstr\fR(\fBWINDOW *\fR\fIwin\fR, \fBint\fR \fIy\fR, \fBint\fR \fIx\fR, \fBwchar_t *\fR\fIwstr\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBmvwgetnwstr\fR(\fBWINDOW *\fR\fIwin\fR, \fBint\fR \fIy\fR, \fBint\fR \fIx\fR, \fBwchar_t *\fR\fIwstr\fR, \fBint\fR \fIn\fR);
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The effect of \fBgetwstr()\fR is as though a series of calls to
+\fBgetwch\fR(3CURSES) were made, until a newline and carriage return is
+received. The resulting value is placed in the area pointed to by the
+\fBwchar_t\fR pointer \fIwstr\fR. \fBgetnwstr()\fR reads at most \fIn\fR
+\fBwchar_t\fR characters, thus preventing a possible overflow of the input
+buffer. The user's erase and kill characters are interpreted, as well as any
+special keys (such as function keys, HOME key, CLEAR key, etc.).
+.SH RETURN VALUE
+.sp
+.LP
+All routines return the integer \fBERR\fR upon failure and an integer value
+other than \fBERR\fR upon successful completion.
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for a description of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+MT-LevelUnsafe
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBcurses\fR(3CURSES), \fBgetwch\fR(3CURSES), \fBattributes\fR(5)
+.SH NOTES
+.sp
+.LP
+The header file <\fBcurses.h\fR> automatically includes the header files
+<\fBstdio.h\fR>, <\fBunctrl.h\fR>, and <\fBwidec.h\fR>.
+.sp
+.LP
+Note that all routines except \fBwgetnwstr()\fR may be macros.
diff --git a/usr/src/man/man3curses/curs_getyx.3curses b/usr/src/man/man3curses/curs_getyx.3curses
new file mode 100644
index 0000000000..d78fe19cfd
--- /dev/null
+++ b/usr/src/man/man3curses/curs_getyx.3curses
@@ -0,0 +1,84 @@
+'\" te
+.\" Copyright 1989 AT&T
+.\" Portions Copyright (c) 1996, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH curs_getyx 3CURSES "31 Dec 1996" "SunOS 5.11" "Curses Library Functions"
+.SH NAME
+curs_getyx, getyx, getparyx, getbegyx, getmaxyx \- get curses cursor and window
+coordinates
+.SH SYNOPSIS
+.LP
+.nf
+\fBcc\fR [ \fIflag\fR ... ] \fIfile\fR ... \fB-lcurses\fR [ \fIlibrary\fR ... ]
+#include <curses.h>
+
+\fBvoid\fR \fBgetyx\fR(\fBWINDOW *\fR\fIwin\fR, \fBint\fR \fIy\fR, \fBint\fR \fIx\fR);
+.fi
+
+.LP
+.nf
+\fBvoid\fR \fBgetparyx\fR(\fBWINDOW *\fR\fIwin\fR, \fBint\fR \fIy\fR, \fBint\fR \fIx\fR);
+.fi
+
+.LP
+.nf
+\fBvoid\fR \fBgetbegyx\fR(\fBWINDOW *\fR\fIwin\fR, \fBint\fR \fIy\fR, \fBint\fR \fIx\fR);
+.fi
+
+.LP
+.nf
+\fBvoid\fR \fBgetmaxyx\fR(\fBWINDOW *\fR\fIwin\fR, \fBint\fR \fIy\fR, \fBint\fR \fIx\fR);
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+With the \fBgetyx()\fR macro, the cursor position of the window is placed in
+the two integer variables \fIy\fR and \fIx\fR.
+.sp
+.LP
+With the \fBgetparyx()\fR macro, if \fIwin\fR is a subwindow, the beginning
+coordinates of the subwindow relative to the parent window are placed into two
+integer variables, \fIy\fR and \fIx\fR. Otherwise, \fB\(mi1\fR is placed into
+\fIy\fR and \fIx\fR.
+.sp
+.LP
+Like \fBgetyx()\fR \fB,\fR the \fBgetbegyx()\fR and \fBgetmaxyx()\fR macros
+store the current beginning coordinates and size of the specified window.
+.SH RETURN VALUES
+.sp
+.LP
+The return values of these macros are undefined (that is, they should not be
+used as the right-hand side of assignment statements).
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+MT-LevelUnsafe
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBcurses\fR(3CURSES), \fBattributes\fR(5)
+.SH NOTES
+.sp
+.LP
+The header <\fBcurses.h\fR> automatically includes the headers <\fBstdio.h\fR>
+and <\fBunctrl.h\fR>.
+.sp
+.LP
+Note that all of these interfaces are macros and that ``\fB&\fR\&'' is not
+necessary before the variables \fIy\fR and \fIx\fR.
diff --git a/usr/src/man/man3curses/curs_inch.3curses b/usr/src/man/man3curses/curs_inch.3curses
new file mode 100644
index 0000000000..3bb4bd0a8f
--- /dev/null
+++ b/usr/src/man/man3curses/curs_inch.3curses
@@ -0,0 +1,109 @@
+'\" te
+.\" Copyright 1989 AT&T
+.\" Portions Copyright (c) 1996, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH curs_inch 3CURSES "31 Dec 1996" "SunOS 5.11" "Curses Library Functions"
+.SH NAME
+curs_inch, inch, winch, mvinch, mvwinch \- get a character and its attributes
+from a curses window
+.SH SYNOPSIS
+.LP
+.nf
+\fBcc\fR [ \fIflag\fR ... ] \fIfile\fR ... \fB-lcurses\fR [ \fIlibrary\fR ... ]
+#include <curses.h>
+
+\fBchtype\fR \fBinch\fR(\fBvoid\fR);
+.fi
+
+.LP
+.nf
+\fBchtype\fR \fBwinch\fR(\fBWINDOW *\fR\fIwin\fR);
+.fi
+
+.LP
+.nf
+\fBchtype\fR \fBmvinch\fR(\fBint\fR \fIy\fR, \fBint\fR \fIx\fR);
+.fi
+
+.LP
+.nf
+\fBchtype\fR \fBmvwinch\fR(\fBWINDOW *\fR\fIwin\fR, \fBint\fR \fIy\fR, \fBint\fR \fIx\fR);
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+With these routines, the character, of type \fBchtype\fR, at the current
+position in the named window is returned. If any attributes are set for that
+position, their values are OR-ed into the value returned. Constants defined in
+\fB<curses.h>\fR can be used with the logical AND (\fB&\fR) operator to extract
+the character or attributes alone.
+.SS "Attributes"
+.sp
+.LP
+The following bit-masks can be AND-ed with characters returned by
+\fBwinch()\fR.
+.sp
+.ne 2
+.mk
+.na
+\fBA_CHARTEXT\fR
+.ad
+.RS 16n
+.rt
+Bit-mask to extract character
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBA_ATTRIBUTES\fR
+.ad
+.RS 16n
+.rt
+Bit-mask to extract attributes
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBA_COLOR\fR
+.ad
+.RS 16n
+.rt
+Bit-mask to extract color-pair field information
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+MT-LevelUnsafe
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBcurses\fR(3CURSES), \fBattributes\fR(5)
+.SH NOTES
+.sp
+.LP
+The header <\fBcurses.h\fR> automatically includes the headers <\fBstdio.h\fR>
+and <\fBunctrl.h\fR>.
+.sp
+.LP
+Note that all of these routines may be macros.
diff --git a/usr/src/man/man3curses/curs_inchstr.3curses b/usr/src/man/man3curses/curs_inchstr.3curses
new file mode 100644
index 0000000000..de144bb0ca
--- /dev/null
+++ b/usr/src/man/man3curses/curs_inchstr.3curses
@@ -0,0 +1,99 @@
+'\" te
+.\" Copyright 1989 AT&T
+.\" Portions Copyright (c) 1996, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH curs_inchstr 3CURSES "31 Dec 1996" "SunOS 5.11" "Curses Library Functions"
+.SH NAME
+curs_inchstr, inchstr, inchnstr, winchstr, winchnstr, mvinchstr, mvinchnstr,
+mvwinchstr, mvwinchnstr \- get a string of characters (and attributes) from a
+curses window
+.SH SYNOPSIS
+.LP
+.nf
+\fBcc\fR [ \fIflag\fR ... ] \fIfile\fR ... \fB-lcurses\fR [ \fIlibrary\fR ... ]
+#include <curses.h>
+
+\fBint\fR \fBinchstr\fR(\fBchtype *\fR\fIchstr\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBinchnstr\fR(\fBchtype *\fR\fIchstr\fR, \fBint\fR \fIn\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBwinchstr\fR(\fBWINDOW *\fR\fIwin\fR, \fBchtype *\fR\fIchstr\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBwinchnstr\fR(\fBWINDOW *\fR\fIwin\fR, \fBchtype *\fR\fIchstr\fR, \fBint\fR \fIn\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBmvinchstr\fR(\fBint\fR \fIy\fR, \fBint\fR \fIx\fR, \fBchtype *\fR\fIchstr\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBmvinchnstr\fR(\fBint\fR \fIy\fR, \fBint\fR \fIx\fR, \fBchtype *\fR\fIchstr\fR, \fBint\fR \fIn\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBmvwinchstr\fR(\fBWINDOW *\fR\fIwin\fR, \fBint\fR \fIy\fR, \fBint\fR \fIx\fR, \fBchtype *\fR\fIchstr\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBmvwinchnstr\fR(\fBWINDOW *\fR\fIwin\fR, \fBint\fR \fIy\fR, \fBint\fR \fIx\fR, \fBchtype *\fR\fIchstr\fR, \fBint\fR \fIn\fR);
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+With these routines, a string of type \fBchtype\fR, starting at the current
+cursor position in the named window and ending at the right margin of the
+window, is returned. The four functions with \fIn\fR as the last argument,
+return the string at most \fIn\fR characters long. Constants defined in
+<\fBcurses.h\fR> can be used with the \fB&\fR (logical AND) operator to extract
+the character or the attribute alone from any position in the \fIchstr\fR (see
+\fBcurs_inch\fR(3CURSES)).
+.SH RETURN VALUES
+.sp
+.LP
+All routines return the integer \fBERR\fR upon failure and an integer value
+other than \fBERR\fR upon successful completion.
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+MT-LevelUnsafe
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBcurs_inch\fR(3CURSES), \fBcurses\fR(3CURSES), \fBattributes\fR(5)
+.SH NOTES
+.sp
+.LP
+The header <\fBcurses.h\fR> automatically includes the headers <\fBstdio.h\fR>
+and <\fBunctrl.h\fR>.
+.sp
+.LP
+Note that all routines except \fBwinchnstr()\fR may be macros.
diff --git a/usr/src/man/man3curses/curs_initscr.3curses b/usr/src/man/man3curses/curs_initscr.3curses
new file mode 100644
index 0000000000..100f9403d5
--- /dev/null
+++ b/usr/src/man/man3curses/curs_initscr.3curses
@@ -0,0 +1,135 @@
+'\" te
+.\" Copyright 1989 AT&T
+.\" Portions Copyright (c) 1996, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH curs_initscr 3CURSES "31 Dec 1996" "SunOS 5.11" "Curses Library Functions"
+.SH NAME
+curs_initscr, initscr, newterm, endwin, isendwin, set_term, delscreen \- curses
+screen initialization and manipulation routines
+.SH SYNOPSIS
+.LP
+.nf
+\fBcc\fR [ \fIflag\fR ... ] \fIfile\fR ... \fB-lcurses\fR [ \fIlibrary\fR ... ]
+#include <curses.h>
+
+\fBWINDOW *\fR\fBinitscr\fR(\fBvoid\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBendwin\fR(\fBvoid\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBisendwin\fR(\fBvoid\fR);
+.fi
+
+.LP
+.nf
+\fBSCREEN *\fR\fBnewterm\fR(\fBchar *\fR\fItype\fR, \fBFILE *\fR\fIoutfd\fR, \fBFILE *\fR\fIinfd\fR);
+.fi
+
+.LP
+.nf
+\fBSCREEN *\fR\fBset_term\fR(\fBSCREEN *\fR\fInew\fR);
+.fi
+
+.LP
+.nf
+\fBvoid\fR \fBdelscreen\fR(\fBSCREEN *\fR \fIsp\fR);
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBinitscr()\fR is almost always the first routine that should be called (the
+exceptions are \fBslk_init()\fR, \fBfilter()\fR, \fBripoffline()\fR,
+\fBuse_env()\fR and, for multiple-terminal applications, \fBnewterm()\fR.) This
+determines the terminal type and initializes all \fBcurses\fR data structures.
+\fBinitscr()\fR also causes the first call to \fBrefresh()\fR to clear the
+screen. If errors occur, \fBinitscr()\fR writes an appropriate error message to
+standard error and exits; otherwise, a pointer is returned to \fBstdscr()\fR.
+If the program needs an indication of error conditions, \fBnewterm()\fR should
+be used instead of \fB initscr()\fR; \fBinitscr()\fR should only be called once
+per application.
+.sp
+.LP
+A program that outputs to more than one terminal should use the \fBnewterm()\fR
+routine for each terminal instead of \fBinitscr()\fR. A program that needs an
+indication of error conditions, so it can continue to run in a line-oriented
+mode if the terminal cannot support a screen-oriented program, would also use
+this routine. The routine \fBnewterm()\fR should be called once for each
+terminal. It returns a variable of type \fBSCREEN\fR \fB*\fR which should be
+saved as a reference to that terminal. The arguments are the \fItype\fR of the
+terminal to be used in place of $\fBTERM\fR, a file pointer for output to the
+terminal, and another file pointer for input from the terminal (if \fItype\fR
+is \fINULL\fR, $\fBTERM\fR will be used). The program must also call
+\fBendwin()\fR for each terminal being used before exiting from curses. If
+\fBnewterm()\fR is called more than once for the same terminal, the first
+terminal referred to must be the last one for which \fBendwin()\fR is called.
+.sp
+.LP
+A program should always call \fBendwin()\fR before exiting or escaping from
+\fBcurses\fR mode temporarily. This routine restores tty modes, moves the
+cursor to the lower left-hand corner of the screen and resets the terminal into
+the proper non-visual mode. Calling \fBrefresh()\fR or \fBdoupdate()\fR after a
+temporary escape causes the program to resume visual mode.
+.sp
+.LP
+The \fBisendwin()\fR routine returns \fBTRUE\fR if \fBendwin()\fR has been
+called without any subsequent calls to \fBwrefresh()\fR, and \fBFALSE\fR
+otherwise.
+.sp
+.LP
+The \fBset_term()\fR routine is used to switch between different terminals. The
+screen reference \fBnew\fR becomes the new current terminal. The previous
+terminal is returned by the routine. This is the only routine which manipulates
+\fBSCREEN\fR pointers; all other routines affect only the current terminal.
+.sp
+.LP
+The \fBdelscreen()\fR routine frees storage associated with the \fBSCREEN\fR
+data structure. The \fBendwin()\fR routine does not do this, so
+\fBdelscreen()\fR should be called after \fBendwin()\fR if a particular
+\fBSCREEN\fR is no longer needed.
+.SH RETURN VALUES
+.sp
+.LP
+\fBendwin()\fR returns the integer \fBERR\fR upon failure and \fBOK\fR upon
+successful completion.
+.sp
+.LP
+Routines that return pointers always return \fINULL\fR on error.
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+MT-LevelUnsafe
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBcurs_kernel\fR(3CURSES), \fBcurs_refresh\fR(3CURSES),
+\fBcurs_slk\fR(3CURSES), \fBcurs_util\fR(3CURSES), \fBcurses\fR(3CURSES),
+\fBattributes\fR(5)
+.SH NOTES
+.sp
+.LP
+The header <\fBcurses.h\fR> automatically includes the headers <\fBstdio.h\fR>
+and <\fBunctrl.h\fR>.
+.sp
+.LP
+Note that \fBinitscr()\fR and \fBnewterm()\fR may be macros.
diff --git a/usr/src/man/man3curses/curs_inopts.3curses b/usr/src/man/man3curses/curs_inopts.3curses
new file mode 100644
index 0000000000..85d6948527
--- /dev/null
+++ b/usr/src/man/man3curses/curs_inopts.3curses
@@ -0,0 +1,253 @@
+'\" te
+.\" Copyright 1989 AT&T
+.\" Portions Copyright (c) 1996, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH curs_inopts 3CURSES "31 Dec 1996" "SunOS 5.11" "Curses Library Functions"
+.SH NAME
+curs_inopts, cbreak, nocbreak, echo, noecho, halfdelay, intrflush, keypad,
+meta, nodelay, notimeout, raw, noraw, noqiflush, qiflush, timeout, wtimeout,
+typeahead \- curses terminal input option control routines
+.SH SYNOPSIS
+.LP
+.nf
+\fBcc\fR [ \fIflag\fR ... ] \fIfile\fR ... \fB-lcurses\fR [ \fIlibrary\fR ... ]
+#include <curses.h>
+
+\fBint\fR \fBcbreak\fR(\fBvoid\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBnocbreak\fR(\fBvoid\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBecho\fR(\fBvoid\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBnoecho\fR(\fBvoid\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBhalfdelay\fR(\fBint\fR \fItenths\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBintrflush\fR(\fBWINDOW *\fR\fIwin\fR, \fBbool\fR \fIbf\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBkeypad\fR(\fBWINDOW *\fR\fIwin\fR, \fBbool\fR \fIbf\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBmeta\fR(\fBWINDOW *\fR\fIwin\fR, \fBbool\fR \fIbf\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBnodelay\fR(\fBWINDOW *\fR\fIwin\fR, \fBbool\fR \fIbf\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBnotimeout\fR(\fBWINDOW *\fR\fIwin\fR, \fBbool\fR \fIbf\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBraw\fR(\fBvoid\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBnoraw\fR(\fBvoid\fR);
+.fi
+
+.LP
+.nf
+\fBvoid\fR \fBnoqiflush\fR(\fBvoid\fR);
+.fi
+
+.LP
+.nf
+\fBvoid\fR \fBqiflush\fR(\fBvoid\fR);
+.fi
+
+.LP
+.nf
+\fBvoid\fR \fBtimeout\fR(\fBint\fR \fIdelay\fR);
+.fi
+
+.LP
+.nf
+\fBvoid\fR \fBwtimeout\fR(\fBWINDOW *\fR\fIwin\fR, \fBint\fR \fIdelay\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBtypeahead\fR(\fBint\fR \fIfildes\fR);
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBcbreak()\fR and \fBnocbreak()\fR routines put the terminal into and out
+of \fBcbreak()\fR mode, respectively. In this mode, characters typed by the
+user are immediately available to the program, and erase/kill
+character-processing is not performed. When out of this mode, the tty driver
+buffers the typed characters until a newline or carriage return is typed.
+Interrupt and flow control characters are unaffected by this mode. Initially
+the terminal may or may not be in \fBcbreak()\fR mode, as the mode is
+inherited; therefore, a program should call \fBcbreak()\fR or \fBnocbreak()\fR
+explicitly. Most interactive programs using \fBcurses\fR set the \fBcbreak()\fR
+mode.
+.sp
+.LP
+Note that \fBcbreak()\fR overrides \fBraw()\fR. (See \fBcurs_getch\fR(3CURSES)
+for a discussion of how these routines interact with \fBecho()\fR and
+\fBnoecho()\fR.)
+.sp
+.LP
+The \fBecho()\fR and \fBnoecho()\fR routines control whether characters typed
+by the user are echoed by \fBgetch()\fR as they are typed. Echoing by the tty
+driver is always disabled, but initially \fBgetch()\fR is in echo mode, so
+characters typed are echoed. Authors of most interactive programs prefer to do
+their own echoing in a controlled area of the screen, or not to echo at all, so
+they disable echoing by calling \fBnoecho()\fR. (See \fBcurs_getch\fR(3CURSES)
+for a discussion of how these routines interact with \fBcbreak()\fR and
+\fBnocbreak()\fR.)
+.sp
+.LP
+The \fBhalfdelay()\fR routine is used for half-delay mode, which is similar to
+\fBcbreak()\fR mode in that characters typed by the user are immediately
+available to the program. However, after blocking for \fItenths\fR tenths of
+seconds, \fBERR\fR is returned if nothing has been typed. The value of
+\fItenths\fR must be a number between 1 and 255. Use \fBnocbreak()\fR to leave
+half-delay mode.
+.sp
+.LP
+If the \fBintrflush()\fR option is enabled, (\fIbf\fR is \fBTRUE\fR), when an
+interrupt key is pressed on the keyboard (interrupt, break, quit) all output in
+the tty driver queue will be flushed, giving the effect of faster response to
+the interrupt, but causing \fBcurses\fR to have the wrong idea of what is on
+the screen. Disabling (\fIbf\fR is \fBFALSE\fR), the option prevents the flush.
+The default for the option is inherited from the tty driver settings. The
+window argument is ignored.
+.sp
+.LP
+The \fBkeypad()\fR option enables the keypad of the user's terminal. If enabled
+(\fIbf\fR is \fBTRUE\fR), the user can press a function key (such as an arrow
+key) and \fBwgetch()\fR returns a single value representing the function key,
+as in \fBKEY_LEFT\fR. If disabled (\fIbf\fR is \fBFALSE\fR), \fBcurses\fR does
+not treat function keys specially and the program has to interpret the escape
+sequences itself. If the keypad in the terminal can be turned on (made to
+transmit) and off (made to work locally), turning on this option causes the
+terminal keypad to be turned on when \fBwgetch()\fR is called. The default
+value for keypad is false.
+.sp
+.LP
+Initially, whether the terminal returns 7 or 8 significant bits on input
+depends on the control mode of the tty driver (see \fBtermio\fR(7I)). To force
+8 bits to be returned, invoke \fBmeta\fR(\fIwin\fR, \fBTRUE\fR). To force 7
+bits to be returned, invoke \fBmeta\fR(\fIwin\fR, \fBFALSE\fR). The window
+argument, \fIwin\fR, is always ignored. If the terminfo capabilities \fBsmm\fR
+(meta_on) and \fBrmm\fR (meta_off) are defined for the terminal, \fBsmm\fR is
+sent to the terminal when \fBmeta\fR(\fI win\fR, \fBTRUE)\fR is called and
+\fBrmm\fR is sent when \fBmeta\fR(\fIwin\fR, \fBFALSE\fR) is called.
+.sp
+.LP
+The \fBnodelay()\fR option causes \fBgetch()\fR to be a non-blocking call. If
+no input is ready, \fBgetch()\fR returns \fBERR\fR. If disabled (\fIbf\fR is
+\fBFALSE\fR), \fBgetch()\fR waits until a key is pressed.
+.sp
+.LP
+While interpreting an input escape sequence, \fBwgetch()\fR sets a timer while
+waiting for the next character. If \fBnotimeout(\fR\fIwin\fR, \fBTRUE\fR) is
+called, then \fBwgetch()\fR does not set a timer. The purpose of the timeout is
+to differentiate between sequences received from a function key and those typed
+by a user.
+.sp
+.LP
+With the \fBraw()\fR and \fBnoraw()\fR routines, the terminal is placed into or
+out of raw mode. Raw mode is similar to \fBcbreak()\fR mode, in that characters
+typed are immediately passed through to the user program. The differences are
+that in raw mode, the interrupt, quit, suspend, and flow control characters are
+all passed through uninterpreted, instead of generating a signal. The behavior
+of the \fBBREAK\fR key depends on other bits in the tty driver that are not set
+by \fBcurses\fR.
+.sp
+.LP
+When the \fBnoqiflush()\fR routine is used, normal flush of input and output
+queues associated with the \fBINTR\fR, \fBQUIT\fR and \fBSUSP\fR characters
+will not be done (see \fBtermio\fR(7I)). When \fBqiflush()\fR is called, the
+queues will be flushed when these control characters are read.
+.sp
+.LP
+The \fBtimeout()\fR and \fBwtimeout()\fR routines set blocking or non-blocking
+read for a given window. If \fIdelay\fR is negative, blocking read is used
+(that is, waits indefinitely for input). If \fIdelay\fR is zero, then
+non-blocking read is used (that is, read returns \fBERR\fR if no input is
+waiting). If \fIdelay\fR is positive, then read blocks for \fIdelay\fR
+milliseconds, and returns \fBERR\fR if there is still no input. Hence, these
+routines provide the same functionality as \fBnodelay()\fR, plus the additional
+capability of being able to block for only \fIdelay\fR milliseconds (where
+\fIdelay\fR is positive).
+.sp
+.LP
+\fBcurses\fR does ``line-breakout optimization'' by looking for typeahead
+periodically while updating the screen. If input is found, and it is coming
+from a tty, the current update is postponed until \fBrefresh()\fR or
+\fBdoupdate()\fR is called again. This allows faster response to commands typed
+in advance. Normally, the input \fBFILE\fR pointer passed to \fBnewterm()\fR,
+or \fBstdin\fR in the case that \fBinitscr()\fR was used, will be used to do
+this typeahead checking. The \fBtypeahead()\fR routine specifies that the file
+descriptor \fIfildes\fR is to be used to check for typeahead instead. If
+\fIfildes\fR is \(mi1, then no typeahead checking is done.
+.SH RETURN VALUES
+.sp
+.LP
+All routines that return an integer return \fBERR\fR upon failure and an
+integer value other than \fBERR\fR upon successful completion, unless otherwise
+noted in the preceding routine descriptions.
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+MT-LevelUnsafe
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBcurs_getch\fR(3CURSES), \fBcurs_initscr\fR(3CURSES), \fBcurses\fR(3CURSES),
+\fBattributes\fR(5), \fBtermio\fR(7I)
+.SH NOTES
+.sp
+.LP
+The header <\fBcurses.h\fR> automatically includes the headers <\fBstdio.h\fR>
+and <\fBunctrl.h\fR>.
+.sp
+.LP
+Note that \fBecho()\fR, \fBnoecho()\fR, \fBhalfdelay()\fR, \fBintrflush()\fR,
+\fBmeta()\fR, \fBnodelay()\fR, \fBnotimeout()\fR, \fBnoqiflush()\fR,
+\fBqiflush()\fR, \fBtimeout()\fR, and \fBwtimeout()\fR may be macros.
diff --git a/usr/src/man/man3curses/curs_insch.3curses b/usr/src/man/man3curses/curs_insch.3curses
new file mode 100644
index 0000000000..2637bb4cd5
--- /dev/null
+++ b/usr/src/man/man3curses/curs_insch.3curses
@@ -0,0 +1,76 @@
+'\" te
+.\" Copyright 1989 AT&T
+.\" Portions Copyright (c) 1996, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH curs_insch 3CURSES "31 Dec 1996" "SunOS 5.11" "Curses Library Functions"
+.SH NAME
+curs_insch, insch, winsch, mvinsch, mvwinsch \- insert a character before the
+character under the cursor in a curses window
+.SH SYNOPSIS
+.LP
+.nf
+\fBcc\fR [ \fIflag\fR ... ] \fIfile\fR... \fB-lcurses\fR [ \fIlibrary\fR ... ]
+#include <curses.h>
+
+\fBint\fR \fBinsch\fR(\fBchtype\fR \fIch\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBwinsch\fR(\fBWINDOW *\fR\fIwin\fR, \fBchtype\fR \fIch\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBmvinsch\fR(\fBint\fR \fIy\fR, \fBint\fR \fIx\fR, \fBchtype\fR \fIch\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBmvwinsch\fR(\fBWINDOW *\fR\fIwin\fR, \fBint\fR \fIy\fR, \fBint\fR \fIx\fR, \fBchtype\fR \fIch\fR);
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+With these routines, the character \fIch\fR is inserted before the character
+under the cursor. All characters to the right of the cursor are moved one space
+to the right, with the possibility of the rightmost character on the line being
+lost. The cursor position does not change (after moving to \fIy\fR, \fIx\fR, if
+specified). (This does not imply use of the hardware insert character feature.)
+.SH RETURN VALUES
+.sp
+.LP
+All routines return the integer \fBERR\fR upon failure and an integer value
+other than \fBERR\fR upon successful completion.
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+MT-LevelUnsafe
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBcurses\fR(3CURSES), \fBattributes\fR(5)
+.SH NOTES
+.sp
+.LP
+The header <\fBcurses.h\fR> automatically includes the headers <\fBstdio.h\fR>
+and <\fBunctrl.h\fR>.
+.sp
+.LP
+Note that \fBinsch()\fR, \fBmvinsch()\fR, and \fBmvwinsch()\fR may be macros.
diff --git a/usr/src/man/man3curses/curs_insstr.3curses b/usr/src/man/man3curses/curs_insstr.3curses
new file mode 100644
index 0000000000..6900ffb3fd
--- /dev/null
+++ b/usr/src/man/man3curses/curs_insstr.3curses
@@ -0,0 +1,110 @@
+'\" te
+.\" Copyright 1989 AT&T
+.\" Portions Copyright (c) 1996, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH curs_insstr 3CURSES "31 Dec 1996" "SunOS 5.11" "Curses Library Functions"
+.SH NAME
+curs_insstr, insstr, insnstr, winsstr, winsnstr, mvinsstr, mvinsnstr,
+mvwinsstr, mvwinsnstr \- insert string before character under the cursor in a
+curses window
+.SH SYNOPSIS
+.LP
+.nf
+\fBcc\fR [ \fIflag\fR ... ] \fIfile\fR ... \fB-lcurses\fR [ \fIlibrary\fR ... ]
+#include <curses.h>
+
+\fBint\fR \fBinsstr\fR(\fBchar *\fR\fIstr\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBinsnstr\fR(\fBchar *\fR\fIstr\fR, \fBint\fR \fIn\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBwinsstr\fR(\fBWINDOW *\fR\fIwin\fR, \fBchar *\fR\fIstr\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBwinsnstr\fR(\fBWINDOW *\fR\fIwin\fR, \fBchar *\fR\fIstr\fR, \fBint\fR \fIn\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBmvinsstr\fR(\fBint\fR \fIy\fR, \fBint\fR \fIx\fR, \fBchar *\fR\fIstr\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBmvinsnstr\fR(\fBint\fR \fIy\fR, \fBint\fR \fIx\fR, \fBchar *\fR\fIstr\fR, \fBint\fR \fIn\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBmvwinsstr\fR(\fBWINDOW *\fR\fIwin\fR, \fBint\fR \fIy\fR, \fBint\fR \fIx\fR, \fBchar *\fR\fIstr\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBmvwinsnstr\fR(\fBWINDOW *\fR\fIwin\fR, \fBint\fR \fIy\fR, \fBint\fR \fIx\fR, \fBchar *\fR\fIstr\fR, \fBint\fR \fIn\fR);
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+With these routines, a character string (as many characters as will fit on the
+line) is inserted before the character under the cursor. All characters to the
+right of the cursor are moved to the right, with the possibility of the
+rightmost characters on the line being lost. The cursor position does not
+change (after moving to \fIy\fR, \fIx\fR, if specified). (This does not imply
+use of the hardware insert character feature.) The four routines with \fIn\fR
+as the last argument insert at most \fIn\fR characters. If \fIn\fR<=0, then
+the entire string is inserted.
+.sp
+.LP
+If a character in \fIstr\fR is a tab, newline, carriage return or backspace,
+the cursor is moved appropriately within the window. A newline also does a
+\fBclrtoeol()\fR before moving. Tabs are considered to be at every eighth
+column. If a character in \fIstr\fR is another control character, it is drawn
+in the \fB^\fR\fIX\fR notation. Calling \fBwinch()\fR after adding a control
+character (and moving to it, if necessary) does not return the control
+character, but instead returns the representation of the control character.
+.SH RETURN VALUES
+.sp
+.LP
+All routines return the integer \fBERR\fR upon failure and an integer value
+other than \fBERR\fR upon successful completion.
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+MT-LevelUnsafe
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBcurs_clear\fR(3CURSES), \fBcurs_inch\fR(3CURSES), \fBcurses\fR(3CURSES),
+\fBattributes\fR(5)
+.SH NOTES
+.sp
+.LP
+The header <\fBcurses.h\fR> automatically includes the headers <\fBstdio.h\fR>
+and <\fBunctrl.h\fR>.
+.sp
+.LP
+Note that all but \fBwinsnstr()\fR may be macros.
diff --git a/usr/src/man/man3curses/curs_instr.3curses b/usr/src/man/man3curses/curs_instr.3curses
new file mode 100644
index 0000000000..87be824d0f
--- /dev/null
+++ b/usr/src/man/man3curses/curs_instr.3curses
@@ -0,0 +1,96 @@
+'\" te
+.\" Copyright 1989 AT&T
+.\" Portions Copyright (c) 1996, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH curs_instr 3CURSES "31 Dec 1996" "SunOS 5.11" "Curses Library Functions"
+.SH NAME
+curs_instr, instr, innstr, winstr, winnstr, mvinstr, mvinnstr, mvwinstr,
+mvwinnstr \- get a string of characters from a curses window
+.SH SYNOPSIS
+.LP
+.nf
+\fBcc\fR [ \fIflag\fR ... ] \fIfile\fR ... \fB-lcurses\fR [ \fIlibrary\fR ... ]
+#include <curses.h>
+
+\fBint\fR \fBinstr\fR(\fBchar *\fR\fIstr\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBinnstr\fR(\fBchar *\fR\fIstr\fR, \fBint\fR \fIn\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBwinstr\fR(\fBWINDOW *\fR\fIwin\fR, \fBchar *\fR\fIstr\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBwinnstr\fR(\fBWINDOW *\fR\fIwin\fR, \fBchar *\fR\fIstr\fR, \fBint\fR \fIn\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBmvinstr\fR(\fBint\fR \fIy\fR, \fBint\fR \fIx\fR, \fBchar *\fR\fIstr\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBmvinnstr\fR(\fBint\fR \fIy\fR, \fBint\fR \fIx\fR, \fBchar *\fR\fIstr\fR, \fBint\fR \fIn\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBmvwinstr\fR(\fBWINDOW *\fR\fIwin\fR, \fBint\fR \fIy\fR, \fBint\fR \fIx\fR, \fBchar *\fR\fIstr\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBmvwinnstr\fR(\fBWINDOW *\fR\fIwin\fR, \fBint\fR \fIy\fR, \fBint\fR \fIx\fR, \fBchar *\fR\fIstr\fR, \fBint\fR \fIn\fR);
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+These routines return a string of characters in \fIstr\fR, starting at the
+current cursor position in the named window and ending at the right margin of
+the window. Attributes are stripped from the characters. The four functions
+with \fIn\fR as the last argument return the string at most \fIn\fR characters
+long.
+.SH RETURN VALUES
+.sp
+.LP
+All routines return the integer \fBERR\fR upon failure and an integer value
+other than \fBERR\fR upon successful completion.
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+MT-LevelUnsafe
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBcurses\fR(3CURSES), \fBattributes\fR(5)
+.SH NOTES
+.sp
+.LP
+The header <\fBcurses.h\fR> automatically includes the headers <\fBstdio.h\fR>
+and <\fBunctrl.h\fR>.
+.sp
+.LP
+Note that all routines except \fBwinnstr()\fR may be macros.
diff --git a/usr/src/man/man3curses/curs_inswch.3curses b/usr/src/man/man3curses/curs_inswch.3curses
new file mode 100644
index 0000000000..909b7ad330
--- /dev/null
+++ b/usr/src/man/man3curses/curs_inswch.3curses
@@ -0,0 +1,81 @@
+'\" te
+.\" Copyright 1989 AT&T
+.\" Portions Copyright (c) 1996, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH curs_inswch 3CURSES "31 Dec 1996" "SunOS 5.11" "Curses Library Functions"
+.SH NAME
+curs_inswch, inswch, winswch, mvinswch, mvwinswch \- insert a wchar_t character
+before the character under the cursor in a curses window
+.SH SYNOPSIS
+.LP
+.nf
+\fBcc\fR [ \fIflag\fR ... ] \fIfile\fR ... \fB-lcurses\fR [ \fIlibrary\fR .. ]
+#include <curses.h>
+
+\fBint\fR \fBinswch\fR(\fBchtype\fR \fIwch\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBwinswch\fR(\fBWINDOW *\fR\fIwin\fR, \fBchtype\fR \fIwch\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBmvinswch\fR(\fBint\fR \fIy\fR, \fBint\fR \fIx\fR, \fBchtype\fR \fIwch\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBmvwinswch\fR(\fBWINDOW *\fR\fIwin\fR, \fBint\fR \fIy\fR, \fBint\fR \fIx\fR, \fBchtype\fR \fIwch\fR);
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+These routines insert the character \fIwch\fR, holding a \fBwchar_t\fR
+character, before the character under the cursor. All characters to the right
+of the cursor are moved one space to the right, with the possibility of the
+rightmost character on the line being lost. The cursor position does not change
+(after moving to \fIy\fR, \fIx\fR, if specified). (This does not imply use of
+the hardware insert character feature.)
+.SH RETURN VALUE
+.sp
+.LP
+All routines return the integer \fBERR\fR upon failure and an integer value
+other than \fBERR\fR upon successful completion.
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+MT-LevelUnsafe
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBcurses\fR(3CURSES), \fBattributes\fR(5)
+.SH NOTES
+.sp
+.LP
+The header file <\fBcurses.h\fR> automatically includes the header files
+<\fBstdio.h\fR>, <\fBunctrl.h\fR> and <\fBwidec.h\fR>.
+.sp
+.LP
+Note that \fBinswch()\fR, \fBmvinswch()\fR, and \fBmvwinswch()\fR may be
+macros.
+.sp
+.LP
+None of these routines can use the color attribute in \fBchtype\fR.
diff --git a/usr/src/man/man3curses/curs_inswstr.3curses b/usr/src/man/man3curses/curs_inswstr.3curses
new file mode 100644
index 0000000000..eedc5be804
--- /dev/null
+++ b/usr/src/man/man3curses/curs_inswstr.3curses
@@ -0,0 +1,111 @@
+'\" te
+.\" Copyright 1989 AT&T
+.\" Portions Copyright (c) 1996, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH curs_inswstr 3CURSES "31 Dec 1996" "SunOS 5.11" "Curses Library Functions"
+.SH NAME
+curs_inswstr, inswstr, insnwstr, winswstr, winsnwstr, mvinswstr, mvinsnwstr,
+mvwinswstr, mvwinsnwstr \- insert wchar_t string before character under the
+cursor in a curses window
+.SH SYNOPSIS
+.LP
+.nf
+\fBcc\fR [ \fIflag\fR ... ] \fIfile\fR ... \fB-lcurses\fR [ \fIlibrary\fR .. ]
+#include <curses.h>
+
+\fBint\fR \fBinswstr\fR(\fBwchar_t *\fR\fIwstr\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBinsnwstr\fR(\fBwchar_t *\fR\fIwstr\fR, \fBint\fR \fIn\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBwinswstr\fR(\fBWINDOW *\fR\fIwin\fR, \fBwchar_t *\fR\fIwstr\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBwinsnwstr\fR(\fBWINDOW *\fR\fIwin\fR, \fBwchar_t *\fR\fIwstr\fR, \fBint\fR \fIn\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBmvinswstr\fR(\fBint\fR \fIy\fR, \fBint\fR \fIx\fR, \fBwchar_t *\fR\fIwstr\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBmvinsnwstr\fR(\fBint\fR \fIy\fR, \fBint\fR \fIx\fR, \fBwchar_t *\fR\fIwstr\fR, \fBint\fR \fIn\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBmvwinswstr\fR(\fBWINDOW *\fR\fIwin\fR, \fBint\fR \fIy\fR, \fBint\fR \fIx\fR, \fBwchar_t *\fR\fIwstr\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBmvwinsnwstr\fR(\fBWINDOW *\fR\fIwin\fR, \fBint\fR \fIy\fR, \fBint\fR \fIx\fR, \fBwchar_t *\fR\fIwstr\fR, \fBint\fR \fIn\fR);
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+These routines insert a \fBwchar_t\fR character string (as many \fBwchar_t\fR
+characters as will fit on the line) before the character under the cursor. All
+characters to the right of the cursor are moved to the right, with the
+possibility of the rightmost characters on the line being lost. The cursor
+position does not change (after moving to \fIy\fR, \fIx\fR, if specified).
+(This does not imply use of the hardware insert character feature.) The four
+routines with \fIn\fR as the last argument insert at most \fIn\fR
+\fBwchar_t\fR characters. If \fIn\fR<=0, then the entire string is inserted.
+.sp
+.LP
+If a character in \fIwstr\fR is a tab, newline, carriage return, or backspace,
+the cursor is moved appropriately within the window. A newline also does a
+\fBclrtoeol\fR(3CURSES) before moving. Tabs are considered to be at every
+eighth column. If a character in \fIwstr\fR is another control character, it
+is drawn in the \fB^\fR\fIX\fR notation. Calling \fBwinwch\fR(3CURSES) after
+adding a control character (and moving to it, if necessary) does not return the
+control character, but instead returns the representation of the control
+character.
+.SH RETURN VALUE
+.sp
+.LP
+All routines return the integer \fBERR\fR upon failure and an integer value
+other than \fBERR\fR upon successful completion.
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+MT-LevelUnsafe
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBclrtoeol\fR(3CURSES), \fBcurses\fR(3CURSES), \fBwinwch\fR(3CURSES),
+\fBattributes\fR(5)
+.SH NOTES
+.sp
+.LP
+The header file <\fBcurses.h\fR> automatically includes the header files
+<\fBstdio.h\fR>, <\fBunctrl.h\fR> and <\fBwidec.h\fR>.
+.sp
+.LP
+Note that all but \fBwinsnwstr()\fR may be macros.
diff --git a/usr/src/man/man3curses/curs_inwch.3curses b/usr/src/man/man3curses/curs_inwch.3curses
new file mode 100644
index 0000000000..3aa024925e
--- /dev/null
+++ b/usr/src/man/man3curses/curs_inwch.3curses
@@ -0,0 +1,87 @@
+'\" te
+.\" Copyright 1989 AT&T
+.\" Portions Copyright (c) 1996, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH curs_inwch 3CURSES "31 Dec 1996" "SunOS 5.11" "Curses Library Functions"
+.SH NAME
+curs_inwch, inwch, winwch, mvinwch, mvwinwch \- get a wchar_t character and its
+attributes from a curses window
+.SH SYNOPSIS
+.LP
+.nf
+\fBcc\fR [ \fIflag\fR ... ] \fIfile\fR ... \fB-lcurses\fR [ \fIlibrary\fR .. ]
+#include <curses.h>
+
+\fBchtype\fR \fBinwch\fR(\fBvoid\fR);
+.fi
+
+.LP
+.nf
+\fBchtype\fR \fBwinwch\fR(\fBWINDOW *\fR\fIwin\fR);
+.fi
+
+.LP
+.nf
+\fBchtype\fR \fBmvinwch\fR(\fBint\fR \fIy\fR, \fBint\fR \fIx\fR);
+.fi
+
+.LP
+.nf
+\fBchtype\fR \fBmvwinwch\fR(\fBWINDOW *\fR\fIwin\fR, \fBint\fR \fIy\fR, \fBint\fR \fIx\fR);
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+These routines return the \fBwchar_t\fR character, of type \fBchtype\fR, at
+the current position in the named window. If any attributes are set for that
+position, their values are OR-ed into the value returned. Constants defined in
+\fB<curses.h>\fR can be used with the logical AND (\fB&\fR) operator to
+extract the character or attributes alone.
+.SS "Attributes"
+.sp
+.LP
+The following bit-masks may be AND-ed with characters returned by
+\fBwinwch()\fR.
+.sp
+.in +2
+.nf
+A_WCHARTEXT Bit-mask to extract character
+A_WATTRIBUTES Bit-mask to extract attributes
+.fi
+.in -2
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+MT-LevelUnsafe
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBcurses\fR(3CURSES), \fBattributes\fR(5)
+.SH NOTES
+.sp
+.LP
+The header file <\fBcurses.h\fR> automatically includes the header files
+<\fBstdio.h\fR>, <\fBunctrl.h\fR> and <\fBwidec.h\fR>.
+.sp
+.LP
+Note that all of these routines may be macros.
+.sp
+.LP
+None of these routines can use the color attribute in \fBchtype\fR.
diff --git a/usr/src/man/man3curses/curs_inwchstr.3curses b/usr/src/man/man3curses/curs_inwchstr.3curses
new file mode 100644
index 0000000000..cadf790d10
--- /dev/null
+++ b/usr/src/man/man3curses/curs_inwchstr.3curses
@@ -0,0 +1,102 @@
+'\" te
+.\" Copyright 1989 AT&T
+.\" Portions Copyright (c) 1996, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH curs_inwchstr 3CURSES "31 Dec 1996" "SunOS 5.11" "Curses Library Functions"
+.SH NAME
+curs_inwchstr, inwchstr, inwchnstr, winwchstr, winwchnstr, mvinwchstr,
+mvinwchnstr, mvwinwchstr, mvwinwchnstr \- get a string of wchar_t characters
+(and attributes) from a curses window
+.SH SYNOPSIS
+.LP
+.nf
+\fBcc\fR [ \fIflag\fR ... ] \fIfile\fR ... \fB-lcurses\fR [ \fIlibrary\fR .. ]
+#include <curses.h>
+
+\fBint\fR \fBinwchstr\fR(\fBchtype *\fR\fIwchstr\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBinwchnstr\fR(\fBchtype *\fR\fIwchstr\fR, \fBint\fR \fIn\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBwinwchstr\fR(\fBWINDOW *\fR\fIwin\fR, \fBchtype *\fR\fIwchstr\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBwinwchnstr\fR(\fBWINDOW *\fR\fIwin\fR, \fBchtype *\fR\fIwchstr\fR, \fBint\fR \fIn\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBmvinwchstr\fR(\fBint\fR \fIy\fR, \fBint\fR \fIx\fR, \fBchtype *\fR\fIwchstr\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBmvinwchnstr\fR(\fBint\fR \fIy\fR, \fBint\fR \fIx\fR, \fBchtype *\fR\fIwchstr\fR, \fBint\fR \fIn\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBmvwinwchstr\fR(\fBWINDOW *\fR\fIwin\fR, \fBint\fR \fIy\fR, \fBint\fR \fIx\fR, \fBchtype *\fR\fIwchstr\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBmvwinwchnstr\fR(\fBWINDOW *\fR\fIwin\fR, \fBint\fR \fIy\fR, \fBint\fR \fIx\fR, \fBchtype *\fR\fIwchstr\fR, \fBint\fR \fIn\fR);
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+These routines return a string of type \fBchtype\fR, holding \fBwchar_t\fR
+characters, starting at the current cursor position in the named window and
+ending at the right margin of the window. The four functions with \fIn\fR as
+the last argument, return the string at most \fIn\fR \fBwchar_t\fR characters
+long. Constants defined in \fB<curses.h>\fR can be used with the logical AND
+(\fB&\fR) operator to extract the \fBwchar_t\fR character or the attribute
+alone from any position in the \fIwchstr\fR (see \fBcurs_inwch\fR(3CURSES)).
+.SH RETURN VALUE
+.sp
+.LP
+All routines return the integer \fBERR\fR upon failure and an integer value
+other than \fBERR\fR upon successful completion.
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for a description of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+MT-LevelUnsafe
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBcurses\fR(3CURSES), \fBcurs_inwch\fR(3CURSES), \fBattributes\fR(5)
+.SH NOTES
+.sp
+.LP
+The header file <\fBcurses.h\fR> automatically includes the header files
+<\fBstdio.h\fR>, <\fBunctrl.h\fR> and <\fBwidec.h\fR>.
+.sp
+.LP
+Note that all routines except \fBwinwchnstr()\fR may be macros.
+.sp
+.LP
+None of these routines can use the color attribute in \fBchtype\fR.
diff --git a/usr/src/man/man3curses/curs_inwstr.3curses b/usr/src/man/man3curses/curs_inwstr.3curses
new file mode 100644
index 0000000000..cb7bcd4fda
--- /dev/null
+++ b/usr/src/man/man3curses/curs_inwstr.3curses
@@ -0,0 +1,97 @@
+'\" te
+.\" Copyright 1989 AT&T
+.\" Portions Copyright (c) 1996, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH curs_inwstr 3CURSES "31 Dec 1996" "SunOS 5.11" "Curses Library Functions"
+.SH NAME
+curs_inwstr, inwstr, innwstr, winwstr, winnwstr, mvinwstr, mvinnwstr,
+mvwinwstr, mvwinnwstr \- get a string of wchar_t characters from a curses
+window
+.SH SYNOPSIS
+.LP
+.nf
+\fBcc\fR [ \fIflag\fR ... ] \fIfile\fR ... \fB-lcurses\fR[\fIlibrary\fR .. ]
+#include <curses.h>
+
+\fBint\fR \fBinwstr\fR(\fBwchar_t *\fR\fIwstr\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBinnwstr\fR(\fBwchar_t *\fR\fIwstr\fR, \fBint\fR \fIn\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBwinwstr\fR(\fBWINDOW *\fR\fIwin\fR, \fBwchar_t *\fR\fIwstr\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBwinnwstr\fR(\fBWINDOW *\fR\fIwin\fR, \fBwchar_t *\fR\fIwstr\fR, \fBint\fR \fIn\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBmvinwstr\fR(\fBint\fR \fIy\fR, \fBint\fR \fIx\fR, \fBwchar_t *\fR\fIwstr\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBmvinnwstr\fR(\fBint\fR \fIy\fR, \fBint\fR \fIx\fR, \fBwchar_t *\fR\fIwstr\fR, \fBint\fR \fIn\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBmvwinwstr\fR(\fBWINDOW *\fR\fIwin\fR, \fBint\fR \fIy\fR, \fBint\fR \fIx\fR, \fBwchar_t *\fR\fIwstr\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBmvwinnwstr\fR(\fBWINDOW *\fR\fIwin\fR, \fBint\fR \fIy\fR, \fBint\fR \fIx\fR, \fBwchar_t *\fR\fIwstr\fR, \fBint\fR \fIn\fR);
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+These routines return the string of \fBwchar_t\fR characters in \fIwstr\fR
+starting at the current cursor position in the named window and ending at the
+right margin of the window. Attributes are stripped from the characters. The
+four functions with \fIn\fR as the last argument return the string at most
+\fIn\fR \fBwchar_t\fR characters long.
+.SH RETURN VALUES
+.sp
+.LP
+All routines return the integer \fBERR\fR upon failure and an integer value
+other than \fBERR\fR upon successful completion.
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+MT-LevelUnsafe
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBcurses\fR(3CURSES), \fBattributes\fR(5)
+.SH NOTES
+.sp
+.LP
+The header file <\fBcurses.h\fR> automatically includes the header files
+<\fBstdio.h\fR>, <\fBunctrl.h\fR> and <\fBwidec.h\fR>.
+.sp
+.LP
+Note that all routines except \fBwinnwstr()\fR may be macros.
diff --git a/usr/src/man/man3curses/curs_kernel.3curses b/usr/src/man/man3curses/curs_kernel.3curses
new file mode 100644
index 0000000000..00c6fd50c4
--- /dev/null
+++ b/usr/src/man/man3curses/curs_kernel.3curses
@@ -0,0 +1,178 @@
+'\" te
+.\" Copyright 1989 AT&T
+.\" Portions Copyright (c) 1996, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH curs_kernel 3CURSES "31 Dec 1996" "SunOS 5.11" "Curses Library Functions"
+.SH NAME
+curs_kernel, def_prog_mode, def_shell_mode, reset_prog_mode, reset_shell_mode,
+resetty, savetty, getsyx, setsyx, ripoffline, curs_set, napms \- low-level
+curses routines
+.SH SYNOPSIS
+.LP
+.nf
+\fBcc\fR [ \fIflag\fR ... ] \fIfile\fR ... \fB-lcurses\fR [ \fIlibrary\fR ... ]
+#include <curses.h>
+
+\fBint\fR \fBdef_prog_mode\fR(\fBvoid\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBdef_shell_mode\fR(\fBvoid\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBreset_prog_mode\fR(\fBvoid\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBreset_shell_mode\fR(\fBvoid\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBresetty\fR(\fBvoid\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBsavetty\fR(\fBvoid\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBgetsyx\fR(\fBint\fR \fIy\fR, \fBint\fR \fIx\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBsetsyx\fR(\fBint\fR \fIy\fR, \fBint\fR \fIx\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBripoffline\fR(\fBint\fR \fIline\fR, \fBint (*\fR\fIinit\fR)(WINDOW *, \fBint)\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBcurs_set\fR(\fBint\fR \fIvisibility\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBnapms\fR(\fBint\fR \fIms\fR);
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The following routines give low-level access to various \fBcurses\fR
+functionality. Theses routines typically are used inside library routines.
+.sp
+.LP
+The \fBdef_prog_mode()\fR and \fBdef_shell_mode()\fR routines save the current
+terminal modes as the ``program'' (in \fBcurses\fR) or ``shell'' (not in
+\fBcurses\fR \fB)\fR state for use by the \fBreset_prog_mode()\fR and
+\fBreset_shell_mode()\fR routines. This is done automatically by
+\fBinitscr()\fR.
+.sp
+.LP
+The \fBreset_prog_mode()\fR and \fBreset_shell_mode()\fR routines restore the
+terminal to ``program'' (in \fBcurses\fR) or ``shell'' (out of \fBcurses\fR)
+state. These are done automatically by \fBendwin()\fR and, after an
+\fBendwin()\fR, by \fBdoupdate()\fR, so they normally are not called.
+.sp
+.LP
+The \fBresetty()\fR and \fBsavetty()\fR routines save and restore the state of
+the terminal modes. \fBsavetty()\fR saves the current state in a buffer and
+\fBresetty()\fR restores the state to what it was at the last call to
+\fBsavetty()\fR.
+.sp
+.LP
+With the \fBgetsyx()\fR routine, the current coordinates of the virtual screen
+cursor are returned in \fIy\fR and \fIx.\fR If \fBleaveok()\fR is currently
+\fBTRUE\fR, then \fB\(mi1\fR,\fB\(mi1\fR is returned. If lines have been
+removed from the top of the screen, using \fBripoffline()\fR, \fIy\fR and
+\fIx\fR include these lines; therefore, \fIy\fR and \fIx\fR should be used only
+as arguments for \fBsetsyx()\fR.
+.sp
+.LP
+With the \fBsetsyx()\fR routine, the virtual screen cursor is set to \fIy\fR,
+\fIx\fR. If \fIy\fR and \fIx\fR are both \fB\(mi1\fR, then \fBleaveok()\fR is
+set. The two routines \fBgetsyx()\fR and \fBsetsyx()\fR are designed to be used
+by a library routine, which manipulates \fBcurses\fR windows but does not want
+to change the current position of the program's cursor. The library routine
+would call \fBgetsyx()\fR at the beginning, do its manipulation of its own
+windows, do a \fBwnoutrefresh()\fR on its windows, call \fBsetsyx()\fR, and
+then call \fBdoupdate()\fR.
+.sp
+.LP
+The \fBripoffline()\fR routine provides access to the same facility that
+\fBslk_init()\fR (see \fBcurs_slk\fR(3CURSES)) uses to reduce the size of the
+screen. \fBripoffline()\fR must be called before \fBinitscr()\fR or
+\fBnewterm()\fR is called. If \fBline\fR is positive, a line is removed from
+the top of \fBstdscr()\fR; if \fBline\fR is negative, a line is removed from
+the bottom. When this is done inside \fBinitscr()\fR, the routine \fBinit()\fR
+(supplied by the user) is called with two arguments: a window pointer to the
+one-line window that has been allocated and an integer with the number of
+columns in the window. Inside this initialization routine, the integer
+variables \fBLINES\fR and \fBCOLS\fR (defined in \fB<curses.h>\fR) are not
+guaranteed to be accurate and \fBwrefresh()\fR or \fBdoupdate()\fR must not be
+called. It is allowable to call \fBwnoutrefresh()\fR during the initialization
+routine.
+.sp
+.LP
+\fBripoffline()\fR can be called up to five times before calling
+\fBinitscr()\fR or \fBnewterm()\fR.
+.sp
+.LP
+With the \fBcurs_set()\fR routine, the cursor state is set to invisible,
+normal, or very visible for \fIvisibility\fR equal to \fB0\fR, \fB1\fR, or
+\fB2\fR respectively. If the terminal supports the \fIvisibility\fR requested,
+the previous \fIcursor\fR state is returned; otherwise, \fBERR\fR is returned.
+.sp
+.LP
+The \fBnapms()\fR routine is used to sleep for \fIms\fR milliseconds.
+.SH RETURN VALUES
+.sp
+.LP
+Except for \fBcurs_set()\fR, these routines always return \fBOK\fR.
+\fBcurs_set()\fR returns the previous cursor state, or \fBERR\fR if the
+requested \fIvisibility\fR is not supported.
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+MT-LevelUnsafe
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBcurs_initscr\fR(3CURSES), \fBcurs_outopts\fR(3CURSES),
+\fBcurs_refresh\fR(3CURSES), \fBcurs_scr_dump\fR(3CURSES),
+\fBcurs_slk\fR(3CURSES), \fBcurses\fR(3CURSES), \fBattributes\fR(5)
+.SH NOTES
+.sp
+.LP
+The header <\fBcurses.h\fR> automatically includes the headers <\fBstdio.h\fR>
+and <\fBunctrl.h\fR>.
+.sp
+.LP
+Note that \fBgetsyx()\fR is a macro, so an ampersand (\fB&\fR) is not necessary
+before the variables \fIy\fR and \fIx\fR.
diff --git a/usr/src/man/man3curses/curs_move.3curses b/usr/src/man/man3curses/curs_move.3curses
new file mode 100644
index 0000000000..4f1aa73464
--- /dev/null
+++ b/usr/src/man/man3curses/curs_move.3curses
@@ -0,0 +1,64 @@
+'\" te
+.\" Copyright 1989 AT&T
+.\" Portions Copyright (c) 1996, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH curs_move 3CURSES "31 Dec 1996" "SunOS 5.11" "Curses Library Functions"
+.SH NAME
+curs_move, move, wmove \- move curses window cursor
+.SH SYNOPSIS
+.LP
+.nf
+\fBcc\fR [ \fIflag\fR ... ] \fIfile\fR ... \fB-lcurses\fR [ \fIlibrary\fR ... ]
+#include <curses.h>
+
+\fBint\fR \fBmove\fR(\fBint\fR \fIy\fR, \fBint\fR \fIx\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBwmove\fR(\fBWINDOW *\fR\fIwin\fR, \fBint\fR \fIy\fR, \fBint\fR \fIx\fR);
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+With these routines, the cursor associated with the window is moved to line
+\fIy\fR and column \fIx\fR. This routine does not move the physical cursor of
+the terminal until \fBrefresh()\fR is called. The position specified is
+relative to the upper left-hand corner of the window, which is (0,0).
+.SH RETURN VALUES
+.sp
+.LP
+These routines return the integer \fBERR\fR upon failure and an integer value
+other than \fBERR\fR upon successful completion.
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+MT-LevelUnsafe
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBcurs_refresh\fR(3CURSES), \fBcurses\fR(3CURSES), \fBattributes\fR(5)
+.SH NOTES
+.sp
+.LP
+The header <\fBcurses.h\fR> automatically includes the headers <\fBstdio.h\fR>
+and <\fBunctrl.h\fR>.
+.sp
+.LP
+Note that \fBmove()\fR may be a macro.
diff --git a/usr/src/man/man3curses/curs_outopts.3curses b/usr/src/man/man3curses/curs_outopts.3curses
new file mode 100644
index 0000000000..510b64bcb4
--- /dev/null
+++ b/usr/src/man/man3curses/curs_outopts.3curses
@@ -0,0 +1,179 @@
+'\" te
+.\" Copyright 1989 AT&T
+.\" Portions Copyright (c) 1996, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH curs_outopts 3CURSES "31 Dec 1996" "SunOS 5.11" "Curses Library Functions"
+.SH NAME
+curs_outopts, clearok, idlok, idcok, immedok, leaveok, setscrreg, wsetscrreg,
+scrollok, nl, nonl \- curses terminal output option control routines
+.SH SYNOPSIS
+.LP
+.nf
+\fBcc\fR [ \fIflag\fR ... ] \fIfile\fR ... \fB-lcurses\fR [ \fIlibrary\fR ... ]
+#include <curses.h>
+
+\fBint\fR \fBclearok\fR(\fBWINDOW *\fR\fIwin\fR, \fBbool\fR \fIbf\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBidlok\fR(\fBWINDOW *\fR\fIwin\fR, \fBbool\fR \fIbf\fR);
+.fi
+
+.LP
+.nf
+\fBvoid\fR \fBidcok\fR(\fBWINDOW *\fR\fIwin\fR, \fBbool\fR \fIbf\fR);
+.fi
+
+.LP
+.nf
+\fBvoid\fR \fBimmedok\fR(\fBWINDOW *\fR\fIwin\fR, \fBbool\fR \fIbf\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBleaveok\fR(\fBWINDOW *\fR\fIwin\fR, \fBbool\fR \fIbf\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBsetscrreg\fR(\fBint\fR \fItop\fR, \fBint\fR \fIbot\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBwsetscrreg\fR(\fBWINDOW *\fR\fIwin\fR, \fBint\fR \fItop\fR, \fBint\fR \fIbot\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBscrollok\fR(\fBWINDOW *\fR\fIwin\fR, \fBbool\fR \fIbf\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBnl\fR(\fBvoid\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBnonl\fR(\fBvoid\fR);
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+These routines set options that deal with output within \fBcurses\fR. All
+options are initially \fBFALSE\fR, unless otherwise stated. It is not necessary
+to turn these options off before calling \fBendwin()\fR.
+.sp
+.LP
+With the \fBclearok()\fR routine, if enabled (\fIbf\fR is \fBTRUE\fR), the next
+call to \fBwrefresh()\fR with this window will clear the screen completely and
+redraw the entire screen from scratch. This is useful when the contents of the
+screen are uncertain, or in some cases for a more pleasing visual effect. If
+the \fIwin\fR argument to \fBclearok()\fR is the global variable
+\fBcurscr()\fR, the next call to \fBwrefresh()\fR with any window causes the
+screen to be cleared and repainted from scratch.
+.sp
+.LP
+With the \fBidlok()\fR routine, if enabled (\fIbf\fR is \fBTRUE\fR),
+\fBcurses\fR considers using the hardware insert/delete line feature of
+terminals so equipped. If disabled (\fIbf\fR is \fBFALSE)\fR \fB,\fR
+\fBcurses\fR very seldom uses this feature. (The insert/delete character
+feature is always considered.) This option should be enabled only if the
+application needs insert/delete line, for example, for a screen editor. It is
+disabled by default because insert/delete line tends to be visually annoying
+when used in applications where it isn't really needed. If insert/delete line
+cannot be used, \fBcurses\fR redraws the changed portions of all lines.
+.sp
+.LP
+With the \fBidcok()\fR routine, if enabled (\fIbf\fR is \fBTRUE\fR),
+\fBcurses\fR considers using the hardware insert/delete character feature of
+terminals so equipped. This is enabled by default.
+.sp
+.LP
+With the \fBimmedok()\fR routine, if enabled (\fIbf\fR is \fBTRUE\fR), any
+change in the window image, such as the ones caused by \fBwaddch()\fR,
+\fBwclrtobot()\fR, \fBwscrl()\fR, etc., automatically cause a call to
+\fBwrefresh()\fR. However, it may degrade the performance considerably, due to
+repeated calls to \fBwrefresh()\fR. It is disabled by default. Normally, the
+hardware cursor is left at the location of the window cursor being refreshed.
+The \fBleaveok()\fR option allows the cursor to be left wherever the update
+happens to leave it. It is useful for applications where the cursor is not
+used, since it reduces the need for cursor motions. If possible, the cursor is
+made invisible when this option is enabled.
+.sp
+.LP
+The \fBsetscrreg()\fR and \fBwsetscrreg()\fR routines allow the application
+programmer to set a software scrolling region in a window. \fItop\fR and
+\fIbot\fR are the line numbers of the top and bottom margin of the scrolling
+region. (Line 0 is the top line of the window.) If this option and
+\fBscrollok()\fR are enabled, an attempt to move off the bottom margin line
+causes all lines in the scrolling region to scroll up one line. Only the text
+of the window is scrolled. (Note that this has nothing to do with the use of a
+physical scrolling region capability in the terminal, like that in the VT100.
+If \fBidlok()\fR is enabled and the terminal has either a scrolling region or
+insert/delete line capability, they will probably be used by the output
+routines.)
+.sp
+.LP
+The \fBscrollok()\fR option controls what happens when the cursor of a window
+is moved off the edge of the window or scrolling region, either as a result of
+a newline action on the bottom line, or typing the last character of the last
+line. If disabled, (\fIbf\fR is \fBFALSE\fR), the cursor is left on the bottom
+line. If enabled, (\fIbf\fR is \fBTRUE\fR), \fBwrefresh()\fR is called on the
+window, and the physical terminal and window are scrolled up one line. (Note
+that in order to get the physical scrolling effect on the terminal, it is also
+necessary to call \fBidlok()\fR.)
+.sp
+.LP
+The \fBnl()\fR and \fBnonl()\fR routines control whether newline is translated
+into carriage return and linefeed on output, and whether return is translated
+into newline on input. Initially, the translations do occur. By disabling these
+translations using \fBnonl()\fR, \fBcurses\fR is able to make better use of the
+linefeed capability, resulting in faster cursor motion.
+.SH RETURN VALUES
+.sp
+.LP
+\fBsetscrreg()\fR and \fBwsetscrreg()\fR return \fBOK\fR upon success and
+\fBERR\fR upon failure. All other routines that return an integer always return
+\fBOK\fR.
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+MT-LevelUnsafe
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBcurs_addch\fR(3CURSES), \fBcurs_clear\fR(3CURSES),
+\fBcurs_initscr\fR(3CURSES), \fBcurs_refresh\fR(3CURSES),
+\fBcurs_scroll\fR(3CURSES), \fBcurses\fR(3CURSES), \fBattributes\fR(5)
+.SH NOTES
+.sp
+.LP
+The header <\fBcurses.h\fR> automatically includes the headers <\fBstdio.h\fR>
+and <\fBunctrl.h\fR>.
+.sp
+.LP
+Note that \fBclearok()\fR, \fBleaveok()\fR, \fBscrollok()\fR, \fBidcok()\fR,
+\fBnl()\fR, \fBnonl()\fR, and \fBsetscrreg()\fR may be macros.
+.sp
+.LP
+The \fBimmedok()\fR routine is useful for windows that are used as terminal
+emulators.
diff --git a/usr/src/man/man3curses/curs_overlay.3curses b/usr/src/man/man3curses/curs_overlay.3curses
new file mode 100644
index 0000000000..e5d871b8e7
--- /dev/null
+++ b/usr/src/man/man3curses/curs_overlay.3curses
@@ -0,0 +1,83 @@
+'\" te
+.\" Copyright 1989 AT&T
+.\" Portions Copyright (c) 1996, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH curs_overlay 3CURSES "31 Dec 1996" "SunOS 5.11" "Curses Library Functions"
+.SH NAME
+curs_overlay, overlay, overwrite, copywin \- overlap and manipulate overlapped
+curses windows
+.SH SYNOPSIS
+.LP
+.nf
+\fBcc\fR [ \fIflag\fR ... ] \fIfile\fR ... \fB-lcurses\fR [ \fIlibrary\fR ... ]
+#include <curses.h>
+
+\fBint\fR \fBoverlay\fR(\fBWINDOW *\fR\fIsrcwin\fR, \fBWINDOW *\fR\fIdstwin\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBoverwrite\fR(\fBWINDOW *\fR\fIsrcwin\fR, \fBWINDOW *\fR\fIdstwin\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBcopywin\fR(\fBWINDOW *\fR\fIsrcwin\fR, \fBWINDOW *\fR\fIdstwin\fR, \fBint\fR \fIsminrow\fR,
+ \fBint\fR \fIsmincol\fR, \fBint\fR \fIdminrow\fR, \fBint\fR \fIdmincol\fR,
+ \fBint\fR \fIdmaxrow\fR, \fBint\fR \fIdmaxcol\fR, \fBint\fR \fIoverlay\fR);
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBoverlay()\fR and \fBoverwrite()\fR routines overlay \fIsrcwin\fR on top
+of \fIdstwin\fR. \fIscrwin\fR and \fIdstwin\fR are not required to be the same
+size; only text where the two windows overlap is copied. The difference is that
+\fBoverlay()\fR is non-destructive (blanks are not copied) whereas
+\fBoverwrite()\fR is destructive.
+.sp
+.LP
+The \fBcopywin()\fR routine provides a finer granularity of control over the
+\fBoverlay()\fR and \fBoverwrite()\fR routines. Like in the \fBprefresh()\fR
+routine, a rectangle is specified in the destination window, (\fIdminrow\fR,
+\fIdmincol\fR) and (\fIdmaxrow\fR, \fIdmaxcol\fR), and the upper-left-corner
+coordinates of the source window, (\fIsminrow\fR, \fIsmincol\fR). If the
+argument \fIoverlay\fR is \fBtrue\fR, then copying is non-destructive, as in
+\fBoverlay()\fR.
+.SH RETURN VALUES
+.sp
+.LP
+Routines that return an integer return \fBERR\fR upon failure and an integer
+value other than \fBERR\fR upon successful completion.
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+MT-LevelUnsafe
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBcurs_pad\fR(3CURSES), \fBcurs_refresh\fR(3CURSES), \fBcurses\fR(3CURSES),
+\fBattributes\fR(5)
+.SH NOTES
+.sp
+.LP
+The header <\fBcurses.h\fR> automatically includes the headers <\fBstdio.h\fR>
+and <\fBunctrl.h\fR>.
+.sp
+.LP
+Note that \fBoverlay()\fR and \fBoverwrite\fR may be macros.
diff --git a/usr/src/man/man3curses/curs_pad.3curses b/usr/src/man/man3curses/curs_pad.3curses
new file mode 100644
index 0000000000..dcc21d2880
--- /dev/null
+++ b/usr/src/man/man3curses/curs_pad.3curses
@@ -0,0 +1,136 @@
+'\" te
+.\" Copyright 1989 AT&T
+.\" Portions Copyright (c) 1996, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH curs_pad 3CURSES "31 Dec 1996" "SunOS 5.11" "Curses Library Functions"
+.SH NAME
+curs_pad, newpad, subpad, prefresh, pnoutrefresh, pechochar, pechowchar \-
+create and display curses pads
+.SH SYNOPSIS
+.LP
+.nf
+\fBcc\fR [ \fIflag\fR ... ] \fIfile\fR ... \fB-lcurses\fR [ \fIlibrary\fR .. ]
+#include <curses.h>
+
+\fBWINDOW *\fR\fBnewpad\fR(\fBint\fR \fInlines\fR, \fBint\fR \fIncols\fR);
+.fi
+
+.LP
+.nf
+\fBWINDOW *\fR\fBsubpad\fR(\fBWINDOW *\fR\fIorig\fR, \fBint\fR \fInlines\fR, \fBint\fR \fIncols\fR, \fBint\fR \fIbegin_y\fR,
+ \fBint\fR \fIbegin_x\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBprefresh\fR(\fBWINDOW *\fR\fIpad\fR, \fBint\fR \fIpminrow\fR, \fBint\fR \fIpmincol\fR, \fBint\fR \fIsminrow\fR,
+ \fBint\fR \fIsmincol\fR, \fBint\fR \fIsmaxrow\fR, \fBint\fR \fIsmaxcol\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBpnoutrefresh\fR(\fBWINDOW *\fR\fIpad\fR, \fBint\fR \fIpminrow\fR, \fBint\fR \fIpmincol\fR, \fBint\fR \fIsminrow\fR,
+ \fBint\fR \fIsmincol\fR, \fBint\fR \fIsmaxrow\fR, \fBint\fR \fIsmaxcol\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBpechochar\fR(\fBWINDOW *\fR\fIpad\fR, \fBchtype\fR \fIch\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBpechowchar\fR(\fBWINDOW *\fR\fIpad\fR, \fBchtype\fR \fIwch\fR);
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBnewpad()\fR routine creates and returns a pointer to a new pad data
+structure with the given number of lines, \fInlines\fR, and columns,
+\fIncols\fR. A pad is like a window, except that it is not restricted by the
+screen size, and is not necessarily associated with a particular part of the
+screen. Pads can be used when a large window is needed, and only a part of the
+window will be on the screen at one time. Automatic refreshes of pads (for
+example, from scrolling or echoing of input) do not occur. It is not legal to
+call \fBwrefresh\fR(3CURSES) with a \fIpad\fR as an argument; the routines \fB
+prefresh()\fR or \fBpnoutrefresh()\fR should be called instead. Note that these
+routines require additional parameters to specify the part of the pad to be
+displayed and the location on the screen to be used for the display.
+.sp
+.LP
+The \fBsubpad()\fR routine creates and returns a pointer to a subwindow within
+a pad with the given number of lines, \fInlines\fR, and columns, \fIncols\fR.
+Unlike \fBsubwin\fR(3CURSES), which uses screen coordinates, the window is at
+position (\fIbegin_x\fR\fB, \fR\fIbegin_y\fR) on the pad. The window is made in
+the middle of the window \fIorig\fR, so that changes made to one window affect
+both windows. During the use of this routine, it will often be necessary to
+call \fBtouchwin\fR(3CURSES) or \fBtouchline\fR(3CURSES) on \fIorig\fR before
+calling \fBprefresh()\fR.
+.sp
+.LP
+The \fBprefresh()\fR and \fBpnoutrefresh()\fR routines are analogous to
+\fBwrefresh\fR(3CURSES) and \fBwnoutrefresh\fR(3CURSES) except that they relate
+to pads instead of windows. The additional parameters are needed to indicate
+what part of the pad and screen are involved. \fIpminrow\fR and \fIpmincol\fR
+specify the upper left-hand corner of the rectangle to be displayed in the pad.
+\fIsminrow\fR, \fIsmincol\fR, \fIsmaxrow\fR, and \fIsmaxcol \fR specify the
+edges of the rectangle to be displayed on the screen. The lower right-hand
+corner of the rectangle to be displayed in the pad is calculated from the
+screen coordinates, since the rectangles must be the same size. Both rectangles
+must be entirely contained within their respective structures. Negative values
+of \fIpminrow\fR, \fIpmincol\fR, \fIsminrow\fR, or \fIsmincol\fR are treated as
+if they were zero.
+.sp
+.LP
+The \fBpechochar()\fR routine is functionally equivalent to a call to
+\fBaddch\fR(3CURSES) followed by a call to \fBrefresh\fR(3CURSES), a call to
+\fBwaddch\fR(3CURSES) followed by a call to \fBwrefresh\fR(3CURSES), or a call
+to \fBwaddch\fR(3CURSES) followed by a call to \fBprefresh()\fR. The knowledge
+that only a single character is being output is taken into consideration and,
+for non-control characters, a considerable performance gain might be seen by
+using these routines instead of their equivalents. In the case of
+\fBpechochar()\fR, the last location of the pad on the screen is reused for the
+arguments to \fBprefresh()\fR.
+.SH RETURN VALUES
+.sp
+.LP
+Routines that return an integer return \fBERR\fR upon failure and an integer
+value other than \fBERR\fR upon successful completion.
+.sp
+.LP
+Routines that return pointers return \fINULL\fR on error.
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+MT-LevelUnsafe
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBaddch\fR(3CURSES), \fBcurses\fR(3CURSES), \fBrefresh\fR(3CURSES),
+\fBsubwin\fR(3CURSES), \fBtouchline\fR(3CURSES), \fBtouchwin\fR(3CURSES),
+\fBwaddch\fR(3CURSES), \fBwnoutrefresh\fR(3CURSES), \fBwrefresh\fR(3CURSES),
+\fBattributes\fR(5)
+.SH NOTES
+.sp
+.LP
+The header file <\fBcurses.h\fR> automatically includes the header files
+<\fBstdio.h\fR>, <\fBunctrl.h\fR> and <\fBwidec.h\fR>.
+.sp
+.LP
+Note that \fBpechochar()\fR may be a macro.
diff --git a/usr/src/man/man3curses/curs_printw.3curses b/usr/src/man/man3curses/curs_printw.3curses
new file mode 100644
index 0000000000..4dfc94f462
--- /dev/null
+++ b/usr/src/man/man3curses/curs_printw.3curses
@@ -0,0 +1,85 @@
+'\" te
+.\" Copyright 1989 AT&T
+.\" Portions Copyright (c) 1996, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH curs_printw 3CURSES "31 Dec 1996" "SunOS 5.11" "Curses Library Functions"
+.SH NAME
+curs_printw, printw, wprintw, mvprintw, mvwprintw, vwprintw \- print formatted
+output in curses windows
+.SH SYNOPSIS
+.LP
+.nf
+\fBcc\fR [ \fIflag\fR ... ] \fIfile\fR ... \fB-lcurses\fR [ \fIlibrary\fR ... ]
+#include <curses.h>
+
+\fBint\fR \fBprintw\fR(\fBchar *\fR\fIfmt\fR, \fB/*\fR \fIarg\fR */ ... );
+.fi
+
+.LP
+.nf
+\fBint\fR \fBwprintw\fR(\fBWINDOW *\fR\fIwin\fR, \fBchar *\fR\fIfmt\fR, \fB/*\fR \fIarg\fR */ ... );
+.fi
+
+.LP
+.nf
+\fBint\fR \fBmvprintw\fR(\fBint\fR \fIy\fR, \fBint\fR \fIx\fR, \fBchar *\fR\fIfmt\fR, \fB/*\fR \fIarg\fR */ ... );
+.fi
+
+.LP
+.nf
+\fBint\fR \fBmvwprintw\fR(\fBWINDOW *\fR\fIwin\fR, \fBint\fR \fIy\fR, \fBint\fR \fIx\fR, \fBchar *\fR\fIfmt\fR, \fB/*\fR \fIarg\fR */... );
+.fi
+
+.LP
+.nf
+#include <varargs.h>
+
+\fBint\fR \fBvwprintw\fR(\fBWINDOW *\fR\fIwin\fR, \fBchar *\fR\fIfmt\fR, \fB/*\fR \fIvarglist\fR */ ... );
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBprintw()\fR, \fBwprintw()\fR, \fBmvprintw()\fR, and \fBmvwprintw()\fR
+routines are analogous to \fBprintf()\fR (see \fBprintf\fR(3C) ). In effect,
+the string that would be output by \fBprintf()\fR is output instead as though
+\fBwaddstr()\fR were used on the given window.
+.sp
+.LP
+The \fBvwprintw()\fR routine is analogous to \fBvprintf()\fR (see
+\fBvprintf\fR(3C)) and performs a \fBwprintw()\fR using a variable argument
+list. The third argument is a \fBva_list\fR, a pointer to a list of arguments,
+as defined in \fB<varargs.h>\fR\&.
+.SH RETURN VALUES
+.sp
+.LP
+All routines return the integer \fBERR\fR upon failure and an integer value
+other than \fBERR\fR upon successful completion.
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+MT-LevelUnsafe
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBcurses\fR(3CURSES), \fBprintf\fR(3C), \fBvprintf\fR(3C), \fBattributes\fR(5)
+.SH NOTES
+.sp
+.LP
+The header <\fBcurses.h\fR> automatically includes the headers <\fBstdio.h\fR>
+and <\fBunctrl.h\fR>.
diff --git a/usr/src/man/man3curses/curs_refresh.3curses b/usr/src/man/man3curses/curs_refresh.3curses
new file mode 100644
index 0000000000..45a565b768
--- /dev/null
+++ b/usr/src/man/man3curses/curs_refresh.3curses
@@ -0,0 +1,119 @@
+'\" te
+.\" Copyright 1989 AT&T
+.\" Portions Copyright (c) 1996, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH curs_refresh 3CURSES "31 Dec 1996" "SunOS 5.11" "Curses Library Functions"
+.SH NAME
+curs_refresh, refresh, wrefresh, wnoutrefresh, doupdate, redrawwin, wredrawln
+\- refresh curses windows and lines
+.SH SYNOPSIS
+.LP
+.nf
+\fBcc\fR [ \fIflag\fR ... ] \fIfile\fR ... \fB-lcurses\fR [ \fIlibrary\fR ... ]
+#include <curses.h>
+
+\fBint\fR \fBrefresh\fR(\fBvoid\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBwrefresh\fR(\fBWINDOW *\fR\fIwin\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBwnoutrefresh\fR(\fBWINDOW *\fR\fIwin\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBdoupdate\fR(\fBvoid\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBredrawwin\fR(\fBWINDOW *\fR\fIwin\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBwredrawln\fR(\fBWINDOW *\fR\fIwin\fR, \fBint\fR \fIbeg_line\fR, \fBint\fR \fInum_lines\fR);
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBrefresh()\fR and \fBwrefresh()\fR routines (or \fBwnoutrefresh()\fR and
+\fBdoupdate()\fR) must be called to get any output on the terminal, as other
+routines merely manipulate data structures. The routine \fBwrefresh()\fR copies
+the named window to the physical terminal screen, taking into account what is
+already there in order to do optimizations. The \fBrefresh()\fR routine is the
+same, using \fBstdscr\fR as the default window. Unless \fBleaveok()\fR has been
+enabled, the physical cursor of the terminal is left at the location of the
+cursor for that window.
+.sp
+.LP
+The \fBwnoutrefresh()\fR and \fBdoupdate()\fR routines allow multiple updates
+with more efficiency than \fBwrefresh()\fR alone. In addition to all the window
+structures, \fBcurses\fR keeps two data structures representing the terminal
+screen: a physical screen, describing what is actually on the screen, and a
+virtual screen, describing what the programmer wants to have on the screen.
+.sp
+.LP
+The routine \fBwrefresh()\fR works by first calling \fBwnoutrefresh()\fR, which
+copies the named window to the virtual screen, and then calling
+\fBdoupdate()\fR, which compares the virtual screen to the physical screen and
+does the actual update. If the programmer wishes to output several windows at
+once, a series of calls to \fBwrefresh()\fR results in alternating calls to
+\fBwnoutrefresh()\fR and \fBdoupdate()\fR, causing several bursts of output to
+the screen. By first calling \fBwnoutrefresh()\fR for each window, it is then
+possible to call \fBdoupdate()\fR once, resulting in only one burst of output,
+with fewer total characters transmitted and less CPU time used. If the \fI
+win\fR argument to \fBwrefresh()\fR is the global variable \fBcurscr\fR, the
+screen is immediately cleared and repainted from scratch.
+.sp
+.LP
+The \fBredrawwin()\fR routine indicates to \fBcurses\fR that some screen lines
+are corrupted and should be thrown away before anything is written over them.
+These routines could be used for programs such as editors, which want a command
+to redraw some part of the screen or the entire screen. The routine
+\fBredrawln()\fR is preferred over \fBredrawwin()\fR where a noisy
+communication line exists and redrawing the entire window could be subject to
+even more communication noise. Just redrawing several lines offers the
+possibility that they would show up unblemished.
+.SH RETURN VALUES
+.sp
+.LP
+All routines return the integer \fBERR\fR upon failure and an integer value
+other than \fBERR\fR upon successful completion.
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+MT-LevelUnsafe
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBcurs_outopts\fR(3CURSES), \fBcurses\fR(3CURSES), \fBattributes\fR(5)
+.SH NOTES
+.sp
+.LP
+The header <\fBcurses.h\fR> automatically includes the headers <\fBstdio.h\fR>
+and <\fBunctrl.h\fR>.
+.sp
+.LP
+Note that \fBrefresh()\fR and \fBredrawwin()\fR may be macros.
diff --git a/usr/src/man/man3curses/curs_scanw.3curses b/usr/src/man/man3curses/curs_scanw.3curses
new file mode 100644
index 0000000000..d119271f04
--- /dev/null
+++ b/usr/src/man/man3curses/curs_scanw.3curses
@@ -0,0 +1,90 @@
+'\" te
+.\" Copyright 1989 AT&T
+.\" Portions Copyright (c) 1996, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH curs_scanw 3CURSES "31 Dec 1996" "SunOS 5.11" "Curses Library Functions"
+.SH NAME
+curs_scanw, scanw, wscanw, mvscanw, mvwscanw, vwscanw \- convert formatted
+input from a curses widow
+.SH SYNOPSIS
+.LP
+.nf
+\fBcc\fR [ \fIflag\fR ... ] \fIfile\fR ... \fB-lcurses\fR [ \fIlibrary\fR ... ]
+#include <curses.h>
+
+\fBint\fR \fBscanw\fR(\fBchar *\fR\fIfmt\fR, \fB/*\fR \fIarg\fR */ ...);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBwscanw\fR(\fBWINDOW *\fR\fIwin\fR, \fBchar *\fR\fIfmt\fR, \fB/*\fR \fIarg\fR */ ...);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBmvscanw\fR(\fBint\fR \fIy\fR, \fBint\fR \fIx\fR, \fBchar *\fR\fIfmt\fR, \fB/*\fR \fIarg\fR */ ...);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBmvwscanw\fR(\fBWINDOW *\fR\fIwin\fR, \fBint\fR \fIy\fR, \fBint\fR \fIx\fR, \fBchar *\fR\fIfmt\fR, \fB/*\fR \fIarg\fR */...);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBvwscanw\fR(\fBWINDOW *\fR\fIwin\fR, \fBchar *\fR\fIfmt\fR, \fBva_list\fR \fIvarglist\fR);
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBscanw()\fR, \fBwscanw()\fR, and \fBmvscanw()\fR routines correspond to
+\fBscanf()\fR (see \fBscanf\fR(3C)). The effect of these routines is as though
+\fBwgetstr()\fR were called on the window, and the resulting line used as input
+for the scan. Fields which do not map to a variable in the \fBfmt\fR field are
+lost.
+.sp
+.LP
+The \fBvwscanw()\fR routine is similar to \fBvwprintw()\fR \fBin\fR \fBthat\fR
+it performs a \fBwscanw()\fR using a variable argument list. The third argument
+is a \fIva_list\fR, a pointer to a list of arguments, as defined in
+\fB<varargs.h>\fR\&.
+.SH RETURN VALUES
+.sp
+.LP
+\fBvwscanw()\fR returns \fBERR\fR on failure and an integer equal to the number
+of fields scanned on success.
+.sp
+.LP
+Applications may interrogate the return value from the \fBscanw\fR,
+\fBwscanw()\fR, \fBmvscanw()\fR, and \fBmvwscanw()\fR routines to determine the
+number of fields which were mapped in the call.
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+MT-LevelUnsafe
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBcurs_getstr\fR(3CURSES), \fBcurs_printw\fR(3CURSES), \fBcurses\fR(3CURSES),
+\fBscanf\fR(3C), \fBattributes\fR(5)
+.SH NOTES
+.sp
+.LP
+The header <\fBcurses.h\fR> automatically includes the headers <\fBstdio.h\fR>
+and <\fBunctrl.h\fR>.
diff --git a/usr/src/man/man3curses/curs_scr_dump.3curses b/usr/src/man/man3curses/curs_scr_dump.3curses
new file mode 100644
index 0000000000..a77e16fd2b
--- /dev/null
+++ b/usr/src/man/man3curses/curs_scr_dump.3curses
@@ -0,0 +1,103 @@
+'\" te
+.\" Copyright 1989 AT&T
+.\" Portions Copyright (c) 1996, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH curs_scr_dump 3CURSES "31 Dec 1996" "SunOS 5.11" "Curses Library Functions"
+.SH NAME
+curs_scr_dump, scr_dump, scr_restore, scr_init, scr_set \- read or write a
+curses screen from or to a file
+.SH SYNOPSIS
+.LP
+.nf
+\fBcc\fR [ \fIflag\fR ... ] \fIfile\fR ... \fB-lcurses\fR [ \fIlibrary\fR ... ]
+#include <curses.h>
+
+\fBint\fR \fBscr_dump\fR(\fBchar *\fR\fIfilename\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBscr_restore\fR(\fBchar *\fR\fIfilename\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBscr_init\fR(\fBchar *\fR\fIfilename\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBscr_set\fR(\fBchar *\fR\fIfilename\fR);
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+With the \fBscr_dump()\fR routine, the current contents of the virtual screen
+are written to the file \fIfilename\fR.
+.sp
+.LP
+With the \fBscr_restore()\fR routine, the virtual screen is set to the contents
+of \fIfilename\fR, which must have been written using \fBscr_dump()\fR. The
+next call to \fBdoupdate()\fR restores the screen to the way it looked in the
+dump file.
+.sp
+.LP
+With the \fBscr_init()\fR routine, the contents of \fIfilename\fR are read in
+and used to initialize the \fBcurses\fR data structures about what the terminal
+currently has on its screen. If the data is determined to be valid,
+\fBcurses\fR bases its next update of the screen on this information rather
+than clearing the screen and starting from scratch. \fBscr_init()\fR is used
+after \fBinitscr()\fR or a \fBsystem\fR(3C) call to share the screen with
+another process which has done a \fBscr_dump()\fR after its \fBendwin()\fR
+call. The data is declared invalid if the time-stamp of the tty is old or the
+terminfo capabilities \fBrmcup()\fR and \fBnrrmc()\fR exist.
+.sp
+.LP
+The \fBscr_set()\fR routine is a combination of \fBscr_restore()\fR and
+\fBscr_init()\fR. It tells the program that the information in \fIfilename\fR
+is what is currently on the screen, and also what the program wants on the
+screen. This can be thought of as a screen inheritance function.
+.sp
+.LP
+To read (write) a window from (to) a file, use the \fBgetwin()\fR and
+\fBputwin()\fR routines (see \fBcurs_util\fR(3CURSES)).
+.SH RETURN VALUES
+.sp
+.LP
+All routines return the integer \fBERR\fR upon failure and \fBOK\fR upon
+success.
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+MT-LevelUnsafe
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBcurs_initscr\fR(3CURSES), \fBcurs_refresh\fR(3CURSES),
+\fBcurs_util\fR(3CURSES), \fBcurses\fR(3CURSES), \fBsystem\fR(3C),
+\fBattributes\fR(5)
+.SH NOTES
+.sp
+.LP
+The header <\fBcurses.h\fR> automatically includes the headers <\fBstdio.h\fR>
+and <\fBunctrl.h\fR>.
+.sp
+.LP
+Note that \fBscr_init()\fR, \fBscr_set()\fR, and \fBscr_restore()\fR may be
+macros.
diff --git a/usr/src/man/man3curses/curs_scroll.3curses b/usr/src/man/man3curses/curs_scroll.3curses
new file mode 100644
index 0000000000..842a8160fe
--- /dev/null
+++ b/usr/src/man/man3curses/curs_scroll.3curses
@@ -0,0 +1,78 @@
+'\" te
+.\" Copyright 1989 AT&T
+.\" Portions Copyright (c) 1996, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH curs_scroll 3CURSES "31 Dec 1996" "SunOS 5.11" "Curses Library Functions"
+.SH NAME
+curs_scroll, scroll, scrl, wscrl \- scroll a curses window
+.SH SYNOPSIS
+.LP
+.nf
+\fBcc\fR [ \fIflag\fR ... ] \fIfile\fR ... \fB-lcurses\fR [ \fIlibrary\fR ... ]
+#include <curses.h>
+
+\fBint\fR \fBscroll\fR(\fBWINDOW *\fR\fIwin\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBscrl\fR(\fBint\fR \fIn\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBwscrl\fR(\fBWINDOW *\fR\fIwin\fR, \fBint\fR \fIn\fR);
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+With the \fBscroll()\fR routine, the window is scrolled up one line. This
+involves moving the lines in the window data structure. As an optimization, if
+the scrolling region of the window is the entire screen, the physical screen is
+scrolled at the same time.
+.sp
+.LP
+With the \fBscrl()\fR and \fBwscrl()\fR routines, for positive \fIn\fR scroll
+the window up \fIn\fR lines (line \fIi+n\fR becomes \fIi\fR); otherwise scroll
+the window down \fIn\fR lines. This involves moving the lines in the window
+character image structure. The current cursor position is not changed.
+.sp
+.LP
+For these functions to work, scrolling must be enabled via \fBscrollok()\fR.
+.SH RETURN VALUES
+.sp
+.LP
+All routines return the integer \fBERR\fR upon failure and an integer value
+other than \fBERR\fR upon successful completion.
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+MT-LevelUnsafe
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBcurs_outopts\fR(3CURSES), \fBcurses\fR(3CURSES), \fBattributes\fR(5)
+.SH NOTES
+.sp
+.LP
+The header <\fBcurses.h\fR> automatically includes the headers <\fBstdio.h\fR>
+and <\fBunctrl.h\fR>.
+.sp
+.LP
+Note that \fBscrl()\fR and \fBscroll()\fR may be macros.
diff --git a/usr/src/man/man3curses/curs_slk.3curses b/usr/src/man/man3curses/curs_slk.3curses
new file mode 100644
index 0000000000..c57419d73f
--- /dev/null
+++ b/usr/src/man/man3curses/curs_slk.3curses
@@ -0,0 +1,158 @@
+'\" te
+.\" Copyright 1989 AT&T
+.\" Portions Copyright (c) 1996, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH curs_slk 3CURSES "31 Dec 1996" "SunOS 5.11" "Curses Library Functions"
+.SH NAME
+curs_slk, slk_init, slk_set, slk_refresh, slk_noutrefresh, slk_label,
+slk_clear, slk_restore, slk_touch, slk_attron, slk_attrset, slk_attroff \-
+curses soft label routines
+.SH SYNOPSIS
+.LP
+.nf
+\fBcc\fR [ \fIflag\fR ... ] \fIfile\fR ... \fB-lcurses\fR [ \fIlibrary\fR ... ]
+#include <curses.h>
+
+\fBint\fR \fBslk_init\fR(\fBint\fR \fIfmt\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBslk_set\fR(\fBint\fR \fIlabnum\fR, \fBchar *\fR\fIlabel\fR, \fBint\fR \fIfmt\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBslk_refresh\fR(\fBvoid\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBslk_noutrefresh\fR(\fBvoid\fR);
+.fi
+
+.LP
+.nf
+\fBchar *\fR\fBslk_label\fR(\fBint\fR \fIlabnum\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBslk_clear\fR(\fBvoid\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBslk_restore\fR(\fBvoid\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBslk_touch\fR(\fBvoid\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBslk_attron\fR(\fBchtype\fR \fIattrs\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBslk_attrset\fR(\fBchtype\fR \fIattrs\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBslk_attroff\fR(\fBchtype\fR \fIattrs\fR);
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBcurses\fR manipulates the set of soft function-key labels that exist on many
+terminals. For those terminals that do not have soft labels, \fBcurses\fR takes
+over the bottom line of \fBstdscr\fR, reducing the size of \fBstdscr\fR and the
+variable \fBLINES\fR. \fBcurses\fR standardizes on eight labels of up to eight
+characters each.
+.sp
+.LP
+To use soft labels, the \fBslk_init()\fR routine must be called before
+\fBinitscr()\fR or \fBnewterm()\fR is called. If \fBinitscr()\fR eventually
+uses a line from \fBstdscr\fR to emulate the soft labels, then \fBfmt\fR
+determines how the labels are arranged on the screen. Setting \fBfmt\fR to
+\fB0\fR indicates a 3-2-3 arrangement of the labels; \fB1\fR indicates a 4-4
+arrangement.
+.sp
+.LP
+With the \fBslk_set()\fR routine, \fIlabnum\fR is the label number, from
+\fB1\fR to \fB8\fR. \fIlabel\fR is the string to be put on the label, up to
+eight characters in length. A null string or a null pointer sets up a blank
+label. \fBfmt\fR is either \fB0\fR, \fB1\fR, or \fB2\fR, indicating whether the
+label is to be left-justified, centered, or right-justified, respectively,
+within the label.
+.sp
+.LP
+The \fBslk_refresh()\fR and \fBslk_noutrefresh()\fR routines correspond to the
+\fBwrefresh()\fR and \fBwnoutrefresh()\fR routines.
+.sp
+.LP
+With the \fBslk_label()\fR routine, the current label for label number
+\fIlabnum\fR is returned with leading and trailing blanks stripped.
+.sp
+.LP
+With the \fBslk_clear()\fR routine, the soft labels are cleared from the
+screen.
+.sp
+.LP
+With the \fBslk_restore()\fR routine, the soft labels are restored to the
+screen after a \fBslk_clear()\fR is performed.
+.sp
+.LP
+With the \fBslk_touch()\fR routine, all the soft labels are forced to be output
+the next time a \fBslk_noutrefresh()\fR is performed.
+.sp
+.LP
+The \fBslk_attron()\fR, \fBslk_attrset()\fR, and \fBslk_attroff()\fR routines
+correspond to \fBattron()\fR, \fBattrset()\fR, and \fBattroff()\fR. They have
+an effect only if soft labels are simulated on the bottom line of the screen.
+.SH RETURN VALUES
+.sp
+.LP
+Routines that return an integer return \fBERR\fR upon failure and an integer
+value other than \fBERR\fR upon successful completion.
+.sp
+.LP
+\fBslk_label()\fR returns \fINULL\fR on error.
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+MT-LevelUnsafe
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBcurs_attr\fR(3CURSES), \fBcurs_initscr\fR(3CURSES),
+\fBcurs_refresh\fR(3CURSES), \fBcurses\fR(3CURSES), \fBattributes\fR(5)
+.SH NOTES
+.sp
+.LP
+The header <\fBcurses.h\fR> automatically includes the headers <\fBstdio.h\fR>
+and <\fBunctrl.h\fR>.
+.sp
+.LP
+Most applications would use \fBslk_noutrefresh()\fR because a \fBwrefresh()\fR
+is likely to follow soon.
diff --git a/usr/src/man/man3curses/curs_termattrs.3curses b/usr/src/man/man3curses/curs_termattrs.3curses
new file mode 100644
index 0000000000..4a3d641a9f
--- /dev/null
+++ b/usr/src/man/man3curses/curs_termattrs.3curses
@@ -0,0 +1,136 @@
+'\" te
+.\" Copyright 1989 AT&T
+.\" Portions Copyright (c) 1996, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH curs_termattrs 3CURSES "31 Dec 1996" "SunOS 5.11" "Curses Library Functions"
+.SH NAME
+curs_termattrs, baudrate, erasechar, has_ic, has_il, killchar, longname,
+termattrs, termname \- curses environment query routines
+.SH SYNOPSIS
+.LP
+.nf
+\fBcc\fR [ \fIflag\fR ... ] \fIfile\fR ... \fB-lcurses\fR [ \fIlibrary\fR ... ]
+#include <curses.h>
+
+\fBint\fR \fBbaudrate\fR(\fBvoid\fR);
+.fi
+
+.LP
+.nf
+\fBchar\fR \fBerasechar\fR(\fBvoid\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBhas_ic\fR(\fBvoid\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBhas_il\fR(\fBvoid\fR);
+.fi
+
+.LP
+.nf
+\fBchar\fR \fBkillchar\fR(\fBvoid\fR);
+.fi
+
+.LP
+.nf
+\fBchar *\fR\fBlongname\fR(\fBvoid\fR);
+.fi
+
+.LP
+.nf
+\fBchtype\fR \fBtermattrs\fR(\fBvoid\fR);
+.fi
+
+.LP
+.nf
+\fBchar *\fR\fBtermname\fR(\fBvoid\fR);
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBbaudrate()\fR routine returns the output speed of the terminal. The
+number returned is in bits per second, for example \fB9600\fR, and is an
+integer.
+.sp
+.LP
+With the \fBerasechar()\fR routine, the user's current erase character is
+returned.
+.sp
+.LP
+The \fBhas_ic()\fR routine is true if the terminal has insert- and
+delete-character capabilities.
+.sp
+.LP
+The \fBhas_il()\fR routine is true if the terminal has insert- and delete-line
+capabilities, or can simulate them using scrolling regions. This might be used
+to determine if it would be appropriate to turn on physical scrolling using
+\fBscrollok()\fR.
+.sp
+.LP
+With the \fBkillchar()\fR routine, the user's current line kill character is
+returned.
+.sp
+.LP
+The \fBlongname()\fR routine returns a pointer to a static area containing a
+verbose description of the current terminal. The maximum length of a verbose
+description is 128 characters. It is defined only after the call to
+\fBinitscr()\fR or \fBnewterm()\fR. The area is overwritten by each call to
+\fBnewterm()\fR and is not restored by \fBset_term()\fR, so the value should be
+saved between calls to \fBnewterm()\fR if \fBlongname()\fR is going to be used
+with multiple terminals.
+.sp
+.LP
+If a given terminal doesn't support a video attribute that an application
+program is trying to use, \fBcurses\fR may substitute a different video
+attribute for it. The \fBtermattrs()\fR function returns a logical OR of all
+video attributes supported by the terminal. This information is useful when a
+\fBcurses\fR program needs complete control over the appearance of the screen.
+.sp
+.LP
+The \fBtermname()\fR routine returns the value of the environment variable
+\fBTERM\fR (truncated to 14 characters).
+.SH RETURN VALUES
+.sp
+.LP
+\fBlongname()\fR and \fBtermname()\fR return \fINULL\fR on error.
+.sp
+.LP
+Routines that return an integer return \fBERR\fR upon failure and an integer
+value other than \fBERR\fR upon successful completion.
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+MT-LevelUnsafe
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBcurs_initscr\fR(3CURSES), \fBcurs_outopts\fR(3CURSES),
+\fBcurses\fR(3CURSES), \fBattributes\fR(5)
+.SH NOTES
+.sp
+.LP
+The header <\fBcurses.h\fR> automatically includes the headers <\fBstdio.h\fR>
+and <\fBunctrl.h\fR>.
+.sp
+.LP
+Note that \fBtermattrs()\fR may be a macro.
diff --git a/usr/src/man/man3curses/curs_termcap.3curses b/usr/src/man/man3curses/curs_termcap.3curses
new file mode 100644
index 0000000000..3dba64dd1d
--- /dev/null
+++ b/usr/src/man/man3curses/curs_termcap.3curses
@@ -0,0 +1,109 @@
+'\" te
+.\" Copyright 1989 AT&T
+.\" Portions Copyright (c) 1996, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH curs_termcap 3CURSES "31 Dec 1996" "SunOS 5.11" "Curses Library Functions"
+.SH NAME
+curs_termcap, tgetent, tgetflag, tgetnum, tgetstr, tgoto \- curses interfaces
+(emulated) to the termcap library
+.SH SYNOPSIS
+.LP
+.nf
+\fBcc\fR [ \fIflag\fR ... ] \fIfile\fR ... \fB-lcurses\fR [ \fIlibrary\fR ... ]
+#include <curses.h>
+#include <term.h>
+
+\fBint\fR \fBtgetent\fR(\fBchar *\fR\fIbp\fR, \fBchar *\fR\fIname\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBtgetflag\fR(\fBchar\fR \fIid\fR[2]);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBtgetnum\fR(\fBchar\fR \fIid\fR[2]);
+.fi
+
+.LP
+.nf
+\fBchar *\fR\fBtgetstr\fR(\fBchar\fR \fIid\fR[2], \fBchar **\fR\fIarea\fR);
+.fi
+
+.LP
+.nf
+\fBchar *\fR\fBtgoto\fR(\fBchar *\fR\fIcap\fR, \fBint\fR \fIcol\fR, \fBint\fR \fIrow\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBtputs\fR(\fBchar *\fR\fIstr\fR, \fBint\fR \fIaffcnt\fR, \fBint (*\fR\fIputc\fR)(void));
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+These routines are included as a conversion aid for programs that use the
+\fItermcap\fR library. Their parameters are the same and the routines are
+emulated using the \fIterminfo\fR database. These routines are supported at
+Level 2 and should not be used in new applications.
+.sp
+.LP
+The \fBtgetent()\fR routine looks up the termcap entry for \fIname\fR. The
+emulation ignores the buffer pointer \fIbp\fR.
+.sp
+.LP
+The \fBtgetflag()\fR routine gets the boolean entry for \fIid\fR.
+.sp
+.LP
+The \fBtgetnum()\fR routine gets the numeric entry for \fIid\fR.
+.sp
+.LP
+The \fBtgetstr()\fR routine returns the string entry for \fIid\fR. Use
+\fBtputs()\fR to output the returned string.
+.sp
+.LP
+The \fBtgoto()\fR routine instantiates the parameters into the given
+capability. The output from this routine is to be passed to \fBtputs()\fR.
+.sp
+.LP
+The \fBtputs()\fR routine is described on the \fBcurs_terminfo\fR(3CURSES)
+manual page.
+.SH RETURN VALUES
+.sp
+.LP
+Routines that return an integer return \fBERR\fR upon failure and an integer
+value other than \fBERR\fR upon successful completion.
+.sp
+.LP
+Routines that return pointers return \fINULL\fR on error.
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+MT-LevelUnsafe
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBcurs_terminfo\fR(3CURSES), \fBcurses\fR(3CURSES), \fBputc\fR(3C),
+\fBattributes\fR(5)
+.SH NOTES
+.sp
+.LP
+The header <\fBcurses.h\fR> automatically includes the headers <\fBstdio.h\fR>
+and <\fBunctrl.h\fR>.
diff --git a/usr/src/man/man3curses/curs_terminfo.3curses b/usr/src/man/man3curses/curs_terminfo.3curses
new file mode 100644
index 0000000000..be89e56689
--- /dev/null
+++ b/usr/src/man/man3curses/curs_terminfo.3curses
@@ -0,0 +1,278 @@
+'\" te
+.\" Copyright 1989 AT&T
+.\" Portions Copyright (c) 1996, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH curs_terminfo 3CURSES "31 Dec 1996" "SunOS 5.11" "Curses Library Functions"
+.SH NAME
+curs_terminfo, setupterm, setterm, set_curterm, del_curterm, restartterm,
+tparm, tputs, putp, vidputs, vidattr, mvcur, tigetflag, tigetnum, tigetstr \-
+curses interfaces to terminfo database
+.SH SYNOPSIS
+.LP
+.nf
+\fBcc\fR [ \fIflag\fR ... ] \fIfile\fR ... \fB-lcurses\fR [ \fIlibrary\fR ... ]
+#include <curses.h>
+#include <term.h>
+
+\fBint\fR \fBsetupterm\fR(\fBchar *\fR\fIterm\fR, \fBint\fR \fIfildes\fR, \fBint *\fR\fIerrret\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBsetterm\fR(\fBchar *\fR\fIterm\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBset_curterm\fR(\fBTERMINAL *\fR\fInterm\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBdel_curterm\fR(\fBTERMINAL *\fR\fIoterm\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBrestartterm\fR(\fBchar *\fR\fIterm\fR, \fBint\fR \fIfildes\fR, \fBint *\fR\fIerrret\fR);
+.fi
+
+.LP
+.nf
+\fBchar *\fR\fBtparm\fR(\fBchar *\fR\fIstr\fR, \fBlong int\fR \fIp1\fR, \fBlong int\fR \fIp2\fR, \fBlong int\fR \fIp3\fR, \fBlong int\fR \fIp4\fR,
+ \fBlong int\fR \fIp5\fR, \fBlong int\fR \fIp6\fR, \fBlong int\fR \fIp7\fR, \fBlong int\fR \fIp8\fR, \fBlong int\fR \fIp9\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBtputs\fR(\fBchar *\fR\fIstr\fR, \fBint\fR \fIaffcnt\fR, \fBint (*\fR\fIputc\fR)(\fIchar\fR));
+.fi
+
+.LP
+.nf
+\fBint\fR \fBputp\fR(\fBchar *\fR\fIstr\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBvidputs\fR(\fBchtype\fR \fIattrs\fR, \fBint (*\fR\fIputc\fR)(\fIchar\fR));
+.fi
+
+.LP
+.nf
+\fBint\fR \fBvidattr\fR(\fBchtype\fR \fIattrs\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBmvcur\fR(\fBint\fR \fIoldrow\fR, \fBint\fR \fIoldcol\fR, \fBint\fR \fInewrow\fR, \fBint\fR \fInewcol\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBtigetflag\fR(\fBchar *\fR\fIcapname\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBtigetnum\fR(\fBchar *\fR\fIcapname\fR);
+.fi
+
+.LP
+.nf
+\fBchar *\fR\fBtigetstr\fR(\fBchar *\fR\fIcapname\fR);
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+These low-level routines must be called by programs that have to deal directly
+with the \fIterminfo\fR database to handle certain terminal capabilities, such
+as programming function keys. For all other functionality, \fBcurses\fR
+routines are more suitable and their use is recommended.
+.sp
+.LP
+Initially, \fBsetupterm()\fR should be called. Note that \fBsetupterm()\fR is
+automatically called by \fBinitscr()\fR and \fBnewterm()\fR. This defines the
+set of terminal-dependent variables (listed in \fBterminfo\fR(4)). The
+\fIterminfo\fR variables \fBlines\fR and \fBcolumns\fR are initialized by
+\fBsetupterm()\fR as follows: If \fBuse_env(FALSE)\fR has been called, values
+for \fBlines\fR and \fBcolumns\fR specified in \fIterminfo\fR are used.
+Otherwise, if the environment variables \fBLINES\fR and \fBCOLUMNS\fR exist,
+their values are used. If these environment variables do not exist and the
+program is running in a window, the current window size is used. Otherwise, if
+the environment variables do not exist, the values for \fBlines\fR and
+\fBcolumns\fR specified in the \fIterminfo\fR database are used.
+.sp
+.LP
+The headers \fB<curses.h>\fR and \fB<term.h>\fR should be included (in this
+order) to get the definitions for these strings, numbers, and flags.
+Parameterized strings should be passed through \fBtparm()\fR to instantiate
+them. All \fIterminfo\fR strings (including the output of \fBtparm()\fR) should
+be printed with \fBtputs()\fR or \fBputp()\fR. Call the
+\fBreset_shell_mode()\fR routine to restore the tty modes before exiting (see
+\fBcurs_kernel\fR(3CURSES)). Programs which use cursor addressing should output
+\fBenter_ca_mode\fR upon startup and should output \fBexit_ca_mode\fR before
+exiting. Programs desiring shell escapes should call \fBreset_shell_mode\fR and
+output \fBexit_ca_mode\fR before the shell is called and should output
+\fBenter_ca_mode\fR and call \fBreset_prog_mode\fR after returning from the
+shell.
+.sp
+.LP
+The \fBsetupterm()\fR routine reads in the \fIterminfo\fR database,
+initializing the \fIterminfo\fR structures, but does not set up the output
+virtualization structures used by \fBcurses\fR. The terminal type is the
+character string \fIterm;\fR if \fIterm\fR is null, the environment variable
+\fBTERM\fR is used. All output is to file descriptor \fIfildes\fR which is
+initialized for output. If \fIerrret\fR is not null, then \fBsetupterm()\fR
+returns \fBOK\fR or \fBERR\fR and stores a status value in the integer pointed
+to by \fIerrret\fR. A status of \fB1\fR in \fIerrret\fR is normal, \fB0\fR
+means that the terminal could not be found, and \fB\(mi1\fR means that the
+\fIterminfo\fR database could not be found. If \fIerrret\fR is null,
+\fBsetupterm()\fR prints an error message upon finding an error and exits.
+Thus, the simplest call is:
+.sp
+.LP
+setupterm((char *)0, 1, (int *)0);,
+.sp
+.LP
+which uses all the defaults and sends the output to \fBstdout\fR.
+.sp
+.LP
+The \fBsetterm()\fR routine is being replaced by \fBsetupterm()\fR. The call:
+.sp
+.LP
+\fBsetupterm(\fR\fIterm\fR, 1, (int *)0)
+.sp
+.LP
+provides the same functionality as \fBsetterm(\fR\fIterm\fR). The
+\fBsetterm()\fR routine is included here for compatibility and is supported at
+Level 2.
+.sp
+.LP
+The \fBset_curterm()\fR routine sets the variable \fBcur_term\fR to
+\fInterm\fR, and makes all of the \fIterminfo\fR boolean, numeric, and string
+variables use the values from \fInterm\fR.
+.sp
+.LP
+The \fBdel_curterm()\fR routine frees the space pointed to by \fIoterm\fR and
+makes it available for further use. If \fIoterm\fR is the same as
+\fBcur_term\fR, references to any of the \fIterminfo\fR boolean, numeric, and
+string variables thereafter may refer to invalid memory locations until another
+\fBsetupterm()\fR has been called.
+.sp
+.LP
+The \fBrestartterm()\fR routine is similar to \fBsetupterm()\fR and
+\fBinitscr()\fR, except that it is called after restoring memory to a previous
+state. It assumes that the windows and the input and output options are the
+same as when memory was saved, but the terminal type and baud rate may be
+different.
+.sp
+.LP
+The \fBtparm()\fR routine instantiates the string \fIstr\fR with parameters
+\fIpi\fR. A pointer is returned to the result of \fIstr\fR with the parameters
+applied.
+.sp
+.LP
+The \fBtputs()\fR routine applies padding information to the string \fIstr\fR
+and outputs it. The \fIstr\fR must be a terminfo string variable or the return
+value from \fBtparm()\fR, \fBtgetstr()\fR, or \fBtgoto()\fR. \fIaffcnt\fR is
+the number of lines affected, or 1 if not applicable. \fIputc\fR is a
+\fBputchar()\fR-like routine to which the characters are passed, one at a time.
+.sp
+.LP
+The \fBputp()\fR routine calls \fBtputs(\fR\fIstr\fR, 1, putchar). Note that
+the output of \fBputpA()\fR always goes to \fBstdout\fR, not to the
+\fIfildes\fR specified in \fBsetupterm()\fR.
+.sp
+.LP
+The \fBvidputs()\fR routine displays the string on the terminal in the video
+attribute mode \fIattrs\fR, which is any combination of the attributes listed
+in \fBcurses\fR(3CURSES). The characters are passed to the \fBputchar()\fR-like
+routine \fBputc()\fR \fB\&.\fR
+.sp
+.LP
+The \fBvidattr()\fR routine is like the \fBvidputs()\fR routine, except that it
+outputs through \fBputchar()\fR.
+.sp
+.LP
+The \fBmvcur()\fR routine provides low-level cursor motion.
+.sp
+.LP
+The \fBtigetflag()\fR, \fBtigetnum()\fR and \fBtigetstr()\fR routines return
+the value of the capability corresponding to the \fIterminfo\fR \fIcapname\fR
+passed to them, such as \fBxenl\fR.
+.sp
+.LP
+With the \fBtigetflag()\fR routine, the value \fB\(mi1\fR is returned if
+\fIcapname\fR is not a boolean capability.
+.sp
+.LP
+With the \fBtigetnum()\fR routine, the value \fB\(mi2\fR is returned if
+\fIcapname\fR is not a numeric capability.
+.sp
+.LP
+With the \fBtigetstr()\fR routine, the value \fB(char *)\(mi1\fR is returned if
+\fIcapname\fR is not a string capability.
+.sp
+.LP
+The \fIcapname\fR for each capability is given in the table column entitled
+\fIcapname\fR code in the capabilities section of \fBterminfo\fR(4).
+.sp
+.in +2
+.nf
+char *boolnames, *boolcodes, *boolfnames
+char *numnames, *numcodes, *numfnames
+char *strnames, *strcodes, *strfnames
+.fi
+.in -2
+
+.sp
+.LP
+These null-terminated arrays contain the \fIcapnames\fR, the \fItermcap\fR
+codes, and the full C names, for each of the \fIterminfo\fR variables.
+.SH RETURN VALUES
+.sp
+.LP
+All routines return the integer \fBERR\fR upon failure and an integer value
+other than \fBERR\fR upon successful completion, unless otherwise noted in the
+preceding routine descriptions.
+.sp
+.LP
+Routines that return pointers always return \fINULL\fR on error.
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+MT-LevelUnsafe
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBcurs_initscr\fR(3CURSES), \fBcurs_kernel\fR(3CURSES),
+\fBcurs_termcap\fR(3CURSES), \fBcurses\fR(3CURSES), \fBputc\fR(3C),
+\fBterminfo\fR(4), \fBattributes\fR(5)
+.SH NOTES
+.sp
+.LP
+The header <\fBcurses.h\fR> automatically includes the headers <\fBstdio.h\fR>
+and <\fBunctrl.h\fR>.
+.sp
+.LP
+The \fBsetupterm()\fR routine should be used in place of \fBsetterm()\fR.
+.sp
+.LP
+Note that \fBvidattr()\fR and \fBvidputs()\fR may be macros.
diff --git a/usr/src/man/man3curses/curs_touch.3curses b/usr/src/man/man3curses/curs_touch.3curses
new file mode 100644
index 0000000000..2e38218ed1
--- /dev/null
+++ b/usr/src/man/man3curses/curs_touch.3curses
@@ -0,0 +1,105 @@
+'\" te
+.\" Copyright 1989 AT&T
+.\" Portions Copyright (c) 1996, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH curs_touch 3CURSES "31 Dec 1996" "SunOS 5.11" "Curses Library Functions"
+.SH NAME
+curs_touch, touchwin, touchline, untouchwin, wtouchln, is_linetouched,
+is_wintouched \- curses refresh control routines
+.SH SYNOPSIS
+.LP
+.nf
+\fBcc\fR [ \fIflag\fR ... ] \fIfile\fR ... \fB-lcurses\fR [ \fIlibrary\fR ... ]
+#include <curses.h>
+
+\fBint\fR \fBtouchwin\fR(\fBWINDOW *\fR\fIwin\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBtouchline\fR(\fBWINDOW *\fR\fIwin\fR, \fBint\fR \fIstart\fR, \fBint\fR \fIcount\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBuntouchwin\fR(\fBWINDOW *\fR\fIwin\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBwtouchln\fR(\fBWINDOW *\fR\fIwin\fR, \fBint\fR \fIy\fR, \fBint\fR \fIn\fR, \fBint\fR \fIchanged\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBis_linetouched\fR(\fBWINDOW *\fR\fIwin\fR, \fBint\fR \fIline\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBis_wintouched\fR(\fBWINDOW *\fR\fIwin\fR);
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBtouchwin()\fR and \fBtouchline()\fR routines throw away all optimization
+information about which parts of the window have been touched, by pretending
+that the entire window has been drawn on. This is sometimes necessary when
+using overlapping windows, since a change to one window affects the other
+window, but the records of which lines have been changed in the other window do
+not reflect the change. The routine \fBtouchline()\fR only pretends that
+\fIcount\fR lines have been changed, beginning with line \fIstart\fR.
+.sp
+.LP
+The \fBuntouchwin()\fR routine marks all lines in the window as unchanged since
+the last call to \fBwrefresh()\fR.
+.sp
+.LP
+ The \fBwtouchln()\fR routine makes \fIn\fR lines in the window, starting at
+line \fIy\fR, look as if they have (\fIchanged\fR\fB=1\fR) or have not
+(\fIchanged\fR\fB=0\fR) been changed since the last call to \fBwrefresh()\fR.
+.sp
+.LP
+The \fBis_linetouched()\fR and \fBis_wintouched()\fR routines return \fBTRUE\fR
+if the specified line/window was modified since the last call to
+\fBwrefresh()\fR; otherwise they return \fBFALSE\fR. In addition,
+\fBis_linetouched()\fR returns \fBERR\fR if \fBline\fR is not valid for the
+given window.
+.SH RETURN VALUES
+.sp
+.LP
+All routines return the integer \fBERR\fR upon failure and an integer value
+other than \fBERR\fR upon successful completion, unless otherwise noted in the
+preceding routine descriptions.
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+MT-LevelUnsafe
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBcurs_refresh\fR(3CURSES), \fBcurses\fR(3CURSES), \fBattributes\fR(5)
+.SH NOTES
+.sp
+.LP
+The header <\fBcurses.h\fR> automatically includes the headers <\fBstdio.h\fR>
+and <\fBunctrl.h\fR>.
+.sp
+.LP
+Note that all routines except \fBwtouchln()\fR may be macros.
diff --git a/usr/src/man/man3curses/curs_util.3curses b/usr/src/man/man3curses/curs_util.3curses
new file mode 100644
index 0000000000..76603bba3c
--- /dev/null
+++ b/usr/src/man/man3curses/curs_util.3curses
@@ -0,0 +1,140 @@
+'\" te
+.\" Copyright 1989 AT&T
+.\" Portions Copyright (c) 1996, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH curs_util 3CURSES "31 Dec 1996" "SunOS 5.11" "Curses Library Functions"
+.SH NAME
+curs_util, unctrl, keyname, filter, use_env, putwin, getwin, delay_output,
+flushinp \- curses miscellaneous utility routines
+.SH SYNOPSIS
+.LP
+.nf
+\fBcc\fR [ \fIflag\fR ... ] \fIfile\fR ... \fB-lcurses\fR [ \fIlibrary\fR ... ]
+#include <curses.h>
+
+\fBchar *\fR\fBunctrl\fR(\fBchtype\fR \fIc\fR);
+.fi
+
+.LP
+.nf
+\fBchar *\fR\fBkeyname\fR(\fBint\fR \fIc\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBfilter\fR(\fBvoid\fR);
+.fi
+
+.LP
+.nf
+\fBvoid\fR \fBuse_env\fR(\fBchar\fR \fIbool\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBputwin\fR(\fBWINDOW *\fR\fIwin\fR, \fBFILE *\fR\fIfilep\fR);
+.fi
+
+.LP
+.nf
+\fBWINDOW *\fR\fBgetwin\fR(\fBFILE *\fR\fIfilep\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBdelay_output\fR(\fBint\fR \fIms\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBflushinp\fR(\fBvoid\fR);
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBunctrl()\fR macro expands to a character string which is a printable
+representation of the character \fIc\fR. Control characters are displayed in
+the \fB^\fR\fIX\fR notation. Printing characters are displayed as is.
+.sp
+.LP
+With the \fBkeyname()\fR routine, a character string corresponding to the key
+\fIc\fR is returned.
+.sp
+.LP
+The \fBfilter()\fR routine, if used, is called before \fBinitscr()\fR or
+\fBnewterm()\fR are called. It makes \fBcurses\fR think that there is a
+one-line screen. \fBcurses\fR does not use any terminal capabilities that
+assume that they know on what line of the screen the cursor is positioned.
+.sp
+.LP
+The \fBuse_env()\fR routine, if used, is called before \fBinitscr()\fR or
+\fBnewterm()\fR are called. When called with \fBFALSE\fR as an argument, the
+values of \fBlines\fR and \fBcolumns\fR specified in the \fIterminfo\fR
+database will be used, even if environment variables \fBLINES\fR and
+\fBCOLUMNS\fR (used by default) are set, or if \fBcurses\fR is running in a
+window (in which case default behavior would be to use the window size if
+\fBLINES\fR and \fBCOLUMNS\fR are not set).
+.sp
+.LP
+With the \fBputwin()\fR routine, all data associated with window \fIwin\fR is
+written into the file to which \fIfilep\fR points. This information can be
+later retrieved using the \fBgetwin()\fR function.
+.sp
+.LP
+The \fBgetwin()\fR routine reads window related data stored in the file by
+\fBputwin()\fR. The routine then creates and initializes a new window using
+that data. It returns a pointer to the new window.
+.sp
+.LP
+The \fBdelay_output()\fR routine inserts an \fIms\fR millisecond pause in
+output. This routine should not be used extensively because padding characters
+are used rather than a \fBCPU\fR pause.
+.sp
+.LP
+The \fBflushinp()\fR routine throws away any typeahead that has been typed by
+the user and has not yet been read by the program.
+.SH RETURN VALUES
+.sp
+.LP
+Except for \fBflushinp()\fR, routines that return an integer return \fBERR\fR
+upon failure and an integer value other than \fBERR\fR upon successful
+completion.
+.sp
+.LP
+\fBflushinp()\fR always returns \fBOK\fR.
+.sp
+.LP
+Routines that return pointers return \fINULL\fR on error.
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+MT-LevelUnsafe
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBcurs_initscr\fR(3CURSES), \fBcurs_scr_dump\fR(3CURSES),
+\fBcurses\fR(3CURSES), \fBattributes\fR(5)
+.SH NOTES
+.sp
+.LP
+The header <\fBcurses.h\fR> automatically includes the headers <\fBstdio.h\fR>
+and <\fBunctrl.h\fR>.
+.sp
+.LP
+Note that \fBunctrl()\fR is a macro, which is defined in <\fBunctrl.h\fR>.
diff --git a/usr/src/man/man3curses/curs_window.3curses b/usr/src/man/man3curses/curs_window.3curses
new file mode 100644
index 0000000000..e384155b1d
--- /dev/null
+++ b/usr/src/man/man3curses/curs_window.3curses
@@ -0,0 +1,189 @@
+'\" te
+.\" Copyright 1989 AT&T
+.\" Portions Copyright (c) 1996, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH curs_window 3CURSES "31 Dec 1996" "SunOS 5.11" "Curses Library Functions"
+.SH NAME
+curs_window, newwin, delwin, mvwin, subwin, derwin, mvderwin, dupwin, wsyncup,
+syncok, wcursyncup, wsyncdown \- create curses windows
+.SH SYNOPSIS
+.LP
+.nf
+\fBcc\fR [ \fIflag\fR ... ] \fIfile\fR ... \fB-lcurses\fR [ \fIlibrary\fR ... ]
+#include <curses.h>
+
+\fBWINDOW *\fR\fBnewwin\fR(\fBint\fR \fInlines\fR, \fBint\fR \fIncols\fR, \fBint\fR \fIbegin_y\fR, \fBint\fR \fIbegin_x\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBdelwin\fR(\fBWINDOW *\fR\fIwin\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBmvwin\fR(\fBWINDOW *\fR\fIwin\fR, \fBint\fR \fIy\fR, \fBint\fR \fIx\fR);
+.fi
+
+.LP
+.nf
+\fBWINDOW *\fR\fBsubwin\fR(\fBWINDOW *\fR\fIorig\fR, \fBint\fR \fInlines\fR, \fBint\fR \fIncols\fR,
+ \fBint\fR \fIbegin_y\fR, \fBint\fR \fIbegin_x\fR);
+.fi
+
+.LP
+.nf
+\fBWINDOW *\fR\fBderwin\fR(\fBWINDOW *\fR\fIorig\fR, \fBint\fR \fInlines\fR, \fBint\fR \fIncols\fR,
+ \fBint\fR \fIbegin_y\fR, \fBint\fR \fIbegin_x\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBmvderwin\fR(\fBWINDOW *\fR\fIwin\fR, \fBint\fR \fIpar_y\fR, \fBint\fR \fIpar_x\fR);
+.fi
+
+.LP
+.nf
+\fBWINDOW *\fR\fBdupwin\fR(\fBWINDOW *\fR\fIwin\fR);
+.fi
+
+.LP
+.nf
+\fBvoid\fR \fBwsyncup\fR(\fBWINDOW *\fR\fIwin\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBsyncok\fR(\fBWINDOW *\fR\fIwin\fR, \fBbool\fR \fIbf\fR);
+.fi
+
+.LP
+.nf
+\fBvoid\fR \fBwcursyncup\fR(\fBWINDOW *\fR\fIwin\fR);
+.fi
+
+.LP
+.nf
+\fBvoid\fR \fBwsyncdown\fR(\fBWINDOW *\fR\fIwin\fR);
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBnewwin()\fR routine creates and returns a pointer to a new window with
+the given number of lines, \fInlines\fR, and columns, \fIncols\fR. The upper
+left-hand corner of the window is at line \fIbegin_y\fR, column \fIbegin_x\fR.
+If either \fInlines\fR or \fIncols\fR is zero, they default to \fBLINES\fR \(em
+\fIbegin_y\fR and \fBCOLS\fR \(em \fIbegin_x\fR. A new full-screen window is
+created by calling \fBnewwin(0,0,0,0)\fR.
+.sp
+.LP
+The \fBdelwin()\fR routine deletes the named window, freeing all memory
+associated with it. Subwindows must be deleted before the main window can be
+deleted.
+.sp
+.LP
+The \fBmvwin()\fR routine moves the window so that the upper left-hand corner
+is at position (\fIx\fR, \fIy\fR). If the move would cause the window to be off
+the screen, it is an error and the window is not moved. Moving subwindows is
+allowed, but should be avoided.
+.sp
+.LP
+The \fBsubwin()\fR routine creates and returns a pointer to a new window with
+the given number of lines, \fInlines\fR, and columns, \fIncols\fR. The window
+is at position (\fIbegin_y\fR, \fIbegin_x\fR) on the screen. (This position is
+relative to the screen, and not to the window \fIorig\fR.) The window is made
+in the middle of the window \fIorig\fR, so that changes made to one window will
+affect both windows. The subwindow shares memory with the window \fIorig\fR.
+When using this routine, it is necessary to call \fBtouchwin()\fR or
+\fBtouchline()\fR on \fIorig\fR before calling \fBwrefresh()\fR on the
+subwindow.
+.sp
+.LP
+The \fBderwin()\fR routine is the same as \fBsubwin()\fR, except that
+\fIbegin_y\fR and \fIbegin_x\fR are relative to the origin of the window
+\fIorig\fR rather than the screen. There is no difference between the
+subwindows and the derived windows.
+.sp
+.LP
+The \fBmvderwin()\fR routine moves a derived window (or subwindow) inside its
+parent window. The screen-relative parameters of the window are not changed.
+This routine is used to display different parts of the parent window at the
+same physical position on the screen.
+.sp
+.LP
+The \fBdupwin()\fR routine creates an exact duplicate of the window \fIwin\fR.
+.sp
+.LP
+Each \fBcurses\fR window maintains two data structures: the character image
+structure and the status structure. The character image structure is shared
+among all windows in the window hierarchy (that is, the window with all
+subwindows). The status structure, which contains information about individual
+line changes in the window, is private to each window. The routine
+\fBwrefresh()\fR uses the status data structure when performing screen
+updating. Since status structures are not shared, changes made to one window in
+the hierarchy may not be properly reflected on the screen.
+.sp
+.LP
+The routine \fBwsyncup()\fR causes the changes in the status structure of a
+window to be reflected in the status structures of its ancestors. If
+\fBsyncok()\fR is called with second argument \fBTRUE\fR then \fBwsyncup()\fR
+is called automatically whenever there is a change in the window.
+.sp
+.LP
+The routine \fBwcursyncup()\fR updates the current cursor position of all the
+ancestors of the window to reflect the current cursor position of the window.
+.sp
+.LP
+The routine \fBwsyncdown()\fR updates the status structure of the window to
+reflect the changes in the status structures of its ancestors. Applications
+seldom call this routine because it is called automatically by
+\fBwrefresh()\fR.
+.SH RETURN VALUES
+.sp
+.LP
+Routines that return an integer return the integer \fBERR\fR upon failure and
+an integer value other than \fBERR\fR upon successful completion.
+.sp
+.LP
+\fBdelwin()\fR returns the integer \fBERR\fR upon failure and \fBOK\fR upon
+successful completion.
+.sp
+.LP
+Routines that return pointers return \fINULL\fR on error.
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+MT-LevelUnsafe
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBcurs_refresh\fR(3CURSES), \fBcurs_touch\fR(3CURSES), \fBcurses\fR(3CURSES),
+\fBattributes\fR(5)
+.SH NOTES
+.sp
+.LP
+The header <\fBcurses.h\fR> automatically includes the headers <\fBstdio.h\fR>
+and <\fBunctrl.h\fR>.
+.sp
+.LP
+If many small changes are made to the window, the \fBwsyncup()\fR option could
+degrade performance.
+.sp
+.LP
+Note that \fBsyncok()\fR may be a macro.
diff --git a/usr/src/man/man3curses/curses.3curses b/usr/src/man/man3curses/curses.3curses
new file mode 100644
index 0000000000..163bbee455
--- /dev/null
+++ b/usr/src/man/man3curses/curses.3curses
@@ -0,0 +1,3866 @@
+'\" te
+.\" Copyright 1989 AT&T
+.\" Portions Copyright (c) 2001, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH curses 3CURSES "23 Oct 2001" "SunOS 5.11" "Curses Library Functions"
+.SH NAME
+curses \- CRT screen handling and optimization package
+.SH SYNOPSIS
+.LP
+.nf
+cc [ \fIflag\fR... ] \fIfile\fR.. .-lcurses [ \fIlibrary\fR... ]
+#include <curses.h>
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBcurses\fR library routines give the user a terminal-independent method
+of updating character screens with reasonable optimization.
+.sp
+.LP
+The \fBcurses\fR package allows: overall screen, window and pad manipulation;
+output to windows and pads; reading terminal input; control over terminal and
+\fBcurses\fR input and output options; environment query routines; color
+manipulation; use of soft label keys; terminfo access; and access to low-level
+\fBcurses\fR routines.
+.sp
+.LP
+To initialize the routines, the routine \fBinitscr()\fR or \fBnewterm()\fR must
+be called before any of the other routines that deal with windows and screens
+are used. The routine \fBendwin()\fR must be called before exiting. To get
+character-at-a-time input without echoing (most interactive, screen oriented
+programs want this), the following sequence should be used:
+.sp
+.LP
+\fBinitscr,cbreak,noecho;\fR
+.sp
+.LP
+Most programs would additionally use the sequence:
+.sp
+.LP
+\fBnonl,intrflush(stdscr,FALSE),keypad(stdscr,TRUE);\fR
+.sp
+.LP
+Before a \fBcurses\fR program is run, the tab stops of the terminal should be
+set and its initialization strings, if defined, must be output. This can be
+done by executing the \fBtput init\fR command after the shell environment
+variable \fBTERM\fR has been exported. (See \fBterminfo\fR(4) for further
+details.)
+.sp
+.LP
+The \fBcurses\fR library permits manipulation of data structures, called
+\fIwindows\fR, which can be thought of as two-dimensional arrays of characters
+representing all or part of a \fBCRT\fR screen. A default window called
+\fBstdscr\fR, which is the size of the terminal screen, is supplied. Others may
+be created with \fBnewwin\fR(3CURSES).
+.sp
+.LP
+Windows are referred to by variables declared as \fBWINDOW *\fR. These data
+structures are manipulated with routines described on 3CURSES pages (whose
+names begin "curs_"). Among which the most basic routines are
+\fBmove\fR(3CURSES) and \fBaddch\fR(3CURSES). More general versions of these
+routines are included with names beginning with \fBw\fR, allowing the user to
+specify a window. The routines not beginning with \fBw\fR affect \fBstdscr\fR.
+.sp
+.LP
+After using routines to manipulate a window, \fBrefresh\fR(3CURSES) is called,
+telling \fBcurses\fR to make the user's \fBCRT\fR screen look like
+\fBstdscr\fR. The characters in a window are actually of type \fBchtype\fR,
+(character and attribute data) so that other information about the character
+may also be stored with each character.
+.sp
+.LP
+Special windows called \fIpads\fR may also be manipulated. These are windows
+which are not constrained to the size of the screen and whose contents need not
+be completely displayed. See \fBcurs_pad\fR(3CURSES) for more information.
+.sp
+.LP
+In addition to drawing characters on the screen, video attributes and colors
+may be included, causing the characters to show up in such modes as underlined,
+in reverse video, or in color on terminals that support such display
+enhancements. Line drawing characters may be specified to be output. On input,
+\fBcurses\fR is also able to translate arrow and function keys that transmit
+escape sequences into single values. The video attributes, line drawing
+characters, and input values use names, defined in <\fBcurses.h\fR>, such as
+\fBA_REVERSE\fR, \fBACS_HLINE\fR, and \fBKEY_LEFT\fR.
+.sp
+.LP
+If the environment variables \fBLINES\fR and \fBCOLUMNS\fR are set, or if the
+program is executing in a window environment, line and column information in
+the environment will override information read by \fIterminfo\fR. This would
+effect a program running in an AT&T 630 layer, for example, where the size of a
+screen is changeable.
+.sp
+.LP
+If the environment variable \fBTERMINFO\fR is defined, any program using
+\fBcurses\fR checks for a local terminal definition before checking in the
+standard place. For example, if \fBTERM\fR is set to \fBatt4424\fR, then the
+compiled terminal definition is found in
+.sp
+.LP
+\fB/usr/share/lib/terminfo/a/att4424\fR.
+.sp
+.LP
+(The `\fBa\fR' is copied from the first letter of \fBatt4424\fR to avoid
+creation of huge directories.) However, if \fBTERMINFO\fR is set to
+\fB$HOME/myterms\fR, \fBcurses\fR first checks
+.sp
+.LP
+\fB$HOME/myterms/a/att4424\fR,
+.sp
+.LP
+and if that fails, it then checks
+.sp
+.LP
+\fB/usr/share/lib/terminfo/a/att4424\fR.
+.sp
+.LP
+This is useful for developing experimental definitions or when write permission
+in \fB/usr/share/lib/terminfo\fR is not available.
+.sp
+.LP
+The integer variables \fBLINES\fR and \fBCOLS\fR are defined in
+\fB<curses.h>\fR and will be filled in by \fBinitscr\fR with the size of the
+screen. The constants \fBTRUE\fR and \fBFALSE\fR have the values \fB1\fR and
+\fB0\fR, respectively.
+.sp
+.LP
+The \fBcurses\fR routines also define the \fBWINDOW *\fR variable \fBcurscr\fR
+which is used for certain low-level operations like clearing and redrawing a
+screen containing garbage. The \fBcurscr\fR can be used in only a few routines.
+.SS "International Functions"
+.sp
+.LP
+The number of bytes and the number of columns to hold a character from the
+supplementary character set is locale-specific (locale category \fBLC_CTYPE\fR)
+and can be specified in the character class table.
+.sp
+.LP
+For editing, operating at the character level is entirely appropriate. For
+screen formatting, arbitrary movement of characters on screen is not desirable.
+.sp
+.LP
+Overwriting characters (\fBaddch\fR, for example) operates on a screen level.
+Overwriting a character by a character that requires a different number of
+columns may produce \fIorphaned columns\fR. These orphaned columns are filled
+with background characters.
+.sp
+.LP
+Inserting characters (\fBinsch\fR, for example) operates on a character level
+(that is, at the character boundaries). The specified character is inserted
+right before the character, regardless of which column of a character the
+cursor points to. Before insertion, the cursor position is adjusted to the
+first column of the character.
+.sp
+.LP
+As with inserting characters, deleting characters (\fBdelch\fR, for example)
+operates on a character level (that is, at the character boundaries). The
+character at the cursor is deleted whichever column of the character the cursor
+points to. Before deletion, the cursor position is adjusted to the first column
+of the character.
+.sp
+.LP
+A \fImulti-column\fR character cannot be put on the last column of a line. When
+such attempts are made, the last column is set to the background character. In
+addition, when such an operation creates orphaned columns, the orphaned columns
+are filled with background characters.
+.sp
+.LP
+Overlapping and overwriting a window follows the operation of overwriting
+characters around its edge. The orphaned columns, if any, are handled as in the
+character operations.
+.sp
+.LP
+The cursor is allowed to be placed anywhere in a window. If the insertion or
+deletion is made when the cursor points to the second or later column position
+of a character that holds multiple columns, the cursor is adjusted to the first
+column of the character before the insertion or deletion.
+.SS "Routine and Argument Names"
+.sp
+.LP
+Many \fBcurses\fR routines have two or more versions. The routines prefixed
+with \fBw\fR require a window argument. The routines prefixed with \fBp\fR
+require a pad argument. Those without a prefix generally use \fBstdscr\fR.
+.sp
+.LP
+The routines prefixed with \fBmv\fR require an \fIx\fR and \fIy\fR coordinate
+to move to before performing the appropriate action. The \fBmv\fR routines
+imply a call to \fBmove\fR(3CURSES) before the call to the other routine. The
+coordinate \fIy\fR always refers to the row (of the window), and \fIx\fR always
+refers to the column. The upper left-hand corner is always (0,0), not (1,1).
+.sp
+.LP
+The routines prefixed with \fBmvw\fR take both a window argument and \fIx\fR
+and \fIy\fR coordinates. The window argument is always specified before the
+coordinates.
+.sp
+.LP
+In each case, \fIwin\fR is the window affected, and \fIpad\fR is the pad
+affected; \fIwin\fR and \fIpad\fR are always pointers to type \fBWINDOW\fR
+.sp
+.LP
+Option setting routines require a Boolean flag \fIbf\fR with the value
+\fBTRUE\fR or \fBFALSE\fR; \fIbf\fR is always of type \fBbool\fR. The variables
+\fIch\fR and \fIattrs\fR below are always of type \fBchtype\fR. The types
+\fBWINDOW\fR, \fBSCREEN\fR, \fBbool\fR, and \fBchtype\fR are defined in
+\fB<curses.h>\fR\&. The type \fBTERMINAL\fR is defined in \fB<term.h>\fR\&. All
+other arguments are integers.
+.SS "Routine Name Index"
+.sp
+.LP
+The following table lists each \fBcurses\fR routine and the name of the manual
+page on which it is described.
+.sp
+.ne 2
+.mk
+.na
+\fBcurses Routine Name\fR
+.ad
+.RS 23n
+.rt
+Manual Page Name
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBaddch\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_addch\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBaddchnstr\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_addchstr\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBaddchstr\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_addchstr\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBaddnstr\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_addstr\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBaddnwstr\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_addwstr\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBaddstr\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_addstr\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBaddwch\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_addwch\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBaddwchnstr\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_addwchstr\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBaddwchstr\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_addwchstr\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBaddwstr\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_addwstr\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBadjcurspos\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_alecompat\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBattroff\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_attr\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBattron\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_attr\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBattrset\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_attr\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBbaudrate\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_termattrs\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBbeep\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_beep\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBbkgd\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_bkgd\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBbkgdset\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_bkgd\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBborder\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_border\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBbox\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_border\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBcan_change_color\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_color\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBcbreak\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_inopts\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBclear\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_clear\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBclearok\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_outopts\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBclrtobot\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_clear\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBclrtoeol\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_clear\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBcolor_content\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_color\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBcopywin\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_overlay\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBcurs_set\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_kernel\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBdef_prog_mode\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_kernel\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBdef_shell_mode\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_kernel\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBdel_curterm\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_terminfo\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBdelay_output\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_util\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBdelch\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_delch\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBdeleteln\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_deleteln\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBdelscreen\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_initscr\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBdelwin\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_window\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBderwin\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_window\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBdoupdate\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_refresh\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBdupwin\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_window\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBecho\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_inopts\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBechochar\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_addch\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBechowchar\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_addwch\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBendwin\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_initscr\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBerase\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_clear\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBerasechar\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_termattrs\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBfilter\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_util\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBflash\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_beep\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBflushinp\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_util\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBgetbegyx\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_getyx\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBgetch\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_getch\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBgetmaxyx\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_getyx\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBgetnwstr\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_getwstr\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBgetparyx\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_getyx\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBgetstr\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_getstr\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBgetsyx\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_kernel\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBgetwch\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_getwch\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBgetwin\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_util\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBgetwstr\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_getwstr\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBgetyx\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_getyx\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBhalfdelay\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_inopts\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBhas_colors\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_color\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBhas_ic\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_termattrs\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBhas_il\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_termattrs\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBidcok\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_outopts\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBidlok\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_outopts\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBimmedok\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_outopts\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBinch\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_inch\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBinchnstr\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_inchstr\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBinchstr\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_inchstr\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBinit_color\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_color\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBinit_pair\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_color\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBinitscr\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_initscr\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBinnstr\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_instr\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBinnwstr\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_inwstr\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBinsch\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_insch\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBinsdelln\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_deleteln\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBinsertln\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_deleteln\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBinsnstr\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_insstr\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBinsnwstr\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_inswstr\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBinsstr\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_insstr\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBinstr\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_instr\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBinswch\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_inswch\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBinswstr\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_inswstr\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBintrflush\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_inopts\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBinwch\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_inwch\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBinwchnstr\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_inwchstr\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBinwchstr\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_inwchstr\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBinwstr\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_inwstr\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBis_linetouched\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_touch\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBis_wintouched\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_touch\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBisendwin\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_initscr\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBkeyname\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_util\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBkeypad\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_inopts\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBkillchar\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_termattrs\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBleaveok\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_outopts\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBlongname\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_termattrs\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBmeta\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_inopts\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBmove\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_move\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBmovenextch\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_alecompat\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBmoveprevch\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_alecompat\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBmvaddch\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_addch\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBmvaddchnstr\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_addchstr\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBmvaddchstr\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_addchstr\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBmvaddnstr\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_addstr\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBmvaddnwstr\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_addwstr\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBmvaddstr\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_addstr\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBmvaddwch\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_addwch\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBmvaddwchnstr\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_addwchstr\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBmvaddwchstr\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_addwchstr\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBmvaddwstr\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_addwstr\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBmvcur\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_terminfo\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBmvdelch\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_delch\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBmvderwin\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_window\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBmvgetch\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_getch\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBmvgetnwstr\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_getwstr\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBmvgetstr\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_getstr\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBmvgetwch\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_getwch\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBmvgetwstr\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_getwstr\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBmvinch\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_inch\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBmvinchnstr\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_inchstr\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBmvinchstr\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_inchstr\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBmvinnstr\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_instr\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBmvinnwstr\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_inwstr\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBmvinsch\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_insch\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBmvinsnstr\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_insstr\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBmvinsnwstr\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_inswstr\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBmvinsstr\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_insstr\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBmvinstr\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_instr\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBmvinswch\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_inswch\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBmvinswstr\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_inswstr\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBmvinwch\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_inwch\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBmvinwchnstr\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_inwchstr\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBmvinwchstr\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_inwchstr\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBmvinwstr\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_inwstr\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBmvprintw\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_printw\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBmvscanw\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_scanw\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBmvwaddch\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_addch\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBmvwaddchnstr\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_addchstr\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBmvwaddchstr\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_addchstr\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBmvwaddnstr\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_addstr\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBmvwaddnwstr\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_addwstr\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBmvwaddstr\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_addstr\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBmvwaddwch\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_addwch\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBmvwaddwchnstr\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_addwchstr\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBmvwaddwchstr\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_addwchstr\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBmvwaddwstr\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_addwstr\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBmvwdelch\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_delch\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBmvwgetch\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_getch\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBmvwgetnwstr\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_getwstr\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBmvwgetstr\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_getstr\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBmvwgetwch\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_getwch\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBmvwgetwstr\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_getwstr\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBmvwin\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_window\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBmvwinch\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_inch\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBmvwinchnstr\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_inchstr\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBmvwinchstr\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_inchstr\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBmvwinnstr\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_instr\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBmvwinnwstr\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_inwstr\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBmvwinsch\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_insch\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBmvwinsnstr\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_insstr\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBmvwinsstr\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_insstr\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBmvwinstr\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_instr\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBmvwinswch\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_inswch\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBmvwinswstr\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_inswstr\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBmvwinwch\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_inwch\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBmvwinwchnstr\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_inwchstr\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBmvwinwchstr\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_inwchstr\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBmvwinwstr\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_inwstr\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBmvwprintw\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_printw\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBmvwscanw\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_scanw\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBnapms\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_kernel\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBnewpad\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_pad\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBnewterm\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_initscr\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBnewwin\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_window\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBnl\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_outopts\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBnocbreak\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_inopts\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBnodelay\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_inopts\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBnoecho\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_inopts\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBnonl\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_outopts\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBnoqiflush\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_inopts\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBnoraw\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_inopts\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBnotimeout\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_inopts\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBoverlay\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_overlay\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBoverwrite\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_overlay\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBpair_content\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_color\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBpechochar\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_pad\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBpechowchar\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_pad\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBpnoutrefresh\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_pad\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBprefresh\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_pad\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBprintw\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_printw\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBputp\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_terminfo\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBputwin\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_util\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBqiflush\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_inopts\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBraw\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_inopts\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBredrawwin\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_refresh\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBrefresh\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_refresh\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBreset_prog_mode\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_kernel\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBreset_shell_mode\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_kernel\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBresetty\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_kernel\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBrestartterm\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_terminfo\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBripoffline\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_kernel\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBsavetty\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_kernel\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBscanw\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_scanw\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBscr_dump\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_scr_dump\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBscr_init\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_scr_dump\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBscr_restore\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_scr_dump\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBscr_set\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_scr_dump\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBscroll\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_scroll\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBscrollok\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_outopts\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBset_curterm\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_terminfo\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBset_term\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_initscr\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBsetscrreg\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_outopts\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBsetsyx\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_kernel\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBsetterm\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_terminfo\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBsetupterm\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_terminfo\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBslk_attroff\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_slk\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBslk_attron\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_slk\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBslk_attrset\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_slk\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBslk_clear\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_slk\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBslk_init\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_slk\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBslk_label\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_slk\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBslk_noutrefresh\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_slk\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBslk_refresh\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_slk\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBslk_restore\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_slk\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBslk_set\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_slk\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBslk_touch\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_slk\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBsrcl\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_scroll\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBstandend\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_attr\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBstandout\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_attr\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBstart_color\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_color\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBsubpad\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_pad\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBsubwin\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_window\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBsyncok\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_window\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBtermattrs\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_termattrs\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBtermname\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_termattrs\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBtgetent\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_termcap\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBtgetflag\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_termcap\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBtgetnum\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_termcap\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBtgetstr\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_termcap\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBtgoto\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_termcap\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBtigetflag\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_terminfo\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBtigetnum\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_terminfo\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBtigetstr\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_terminfo\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBtimeout\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_inopts\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBtouchline\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_touch\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBtouchwin\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_touch\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBtparm\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_terminfo\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBtputs\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_terminfo\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBtypeahead\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_inopts\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBunctrl\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_util\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBungetch\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_getch\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBungetwch\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_getwch\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBuntouchwin\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_touch\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBuse_env\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_util\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBvidattr\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_terminfo\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBvidputs\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_terminfo\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBvwprintw\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_printw\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBvwscanw\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_scanw\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBwaddch\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_addch\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBwaddchnstr\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_addchstr\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBwaddchstr\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_addchstr\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBwaddnstr\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_addstr\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBwaddnwstr\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_addwstr\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBwaddstr\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_addstr\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBwaddwch\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_addwch\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBwaddwchnstr\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_addwchstr\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBwaddwchstr\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_addwchstr\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBwaddwstr\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_addwstr\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBwadjcurspos\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_alecompat\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBwattroff\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_attr\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBwattron\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_attr\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBwattrset\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_attr\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBwbkgd\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_bkgd\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBwbkgdset\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_bkgd\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBwborder\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_border\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBwclear\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_clear\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBwclrtobot\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_clear\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBwclrtoeol\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_clear\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBwcursyncup\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_window\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBwdelch\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_delch\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBwdeleteln\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_deleteln\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBwechochar\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_addch\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBwechowchar\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_addwch\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBwerase\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_clear\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBwgetch\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_getch\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBwgetnstr\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_getstr\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBwgetnwstr\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_getwstr\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBwgetstr\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_getstr\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBwgetwch\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_getwch\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBwgetwstr\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_getwstr\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBwhline\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_border\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBwinch\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_inch\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBwinchnstr\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_inchstr\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBwinchstr\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_inchstr\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBwinnstr\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_instr\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBwinnwstr\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_inwstr\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBwinsch\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_insch\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBwinsdelln\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_deleteln\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBwinsertln\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_deleteln\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBwinsnstr\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_insstr\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBwinsnwstr\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_inswstr\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBwinsstr\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_insstr\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBwinstr\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_instr\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBwinswch\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_inswch\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBwinswstr\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_inswstr\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBwinwch\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_inwch\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBwinwchnstr\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_inwchstr\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBwinwchstr\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_inwchstr\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBwinwstr\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_inwstr\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBwmove\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_move\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBwmovenextch\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_alecompat\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBwmoveprevch\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_alecompat\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBwnoutrefresh\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_refresh\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBwprintw\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_printw\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBwredrawln\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_refresh\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBwrefresh\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_refresh\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBwscanw\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_scanw\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBwscrl\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_scroll\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBwsetscrreg\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_outopts\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBwstandend\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_attr\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBwstandout\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_attr\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBwsyncdown\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_window\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBwsyncup\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_window\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBwtimeout\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_inopts\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBwtouchln\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_touch\fR(3CURSES)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBwvline\fR
+.ad
+.RS 23n
+.rt
+\fBcurs_border\fR(3CURSES)
+.RE
+
+.SH RETURN VALUES
+.sp
+.LP
+Routines that return an integer return \fBERR\fR upon failure and an integer
+value other than \fBERR\fR upon successful completion, unless otherwise noted
+in the routine descriptions.
+.sp
+.LP
+All macros return the value of the \fBw\fR version, except \fBsetscrreg()\fR,
+\fBwsetscrreg()\fR, \fBgetyx()\fR, \fBgetbegyx()\fR, and \fBgetmaxyx()\fR. The
+return values of \fBsetscrreg()\fR, \fBwsetscrreg()\fR, \fBgetyx()\fR,
+\fBgetbegyx()\fR, and \fBgetmaxyx()\fR are undefined (that is, these should not
+be used as the right-hand side of assignment statements).
+.sp
+.LP
+Routines that return pointers return \fINULL\fR on error.
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+MT-LevelUnsafe
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBcurses\fR(3XCURSES), \fBlibcurses\fR(3LIB), \fBlibcurses\fR(3XCURSES),
+\fBterminfo\fR(4), \fBattributes\fR(5)
+.SH NOTES
+.sp
+.LP
+The header <\fBcurses.h\fR> automatically includes the headers <\fBstdio.h\fR>
+and <\fBunctrl.h\fR>.
diff --git a/usr/src/man/man3curses/form_cursor.3curses b/usr/src/man/man3curses/form_cursor.3curses
new file mode 100644
index 0000000000..00d017f3fc
--- /dev/null
+++ b/usr/src/man/man3curses/form_cursor.3curses
@@ -0,0 +1,98 @@
+'\" te
+.\" Copyright 1989 AT&T
+.\" Portions Copyright (c) 1996, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH form_cursor 3CURSES "31 Dec 1996" "SunOS 5.11" "Curses Library Functions"
+.SH NAME
+form_cursor, pos_form_cursor \- position forms window cursor
+.SH SYNOPSIS
+.LP
+.nf
+\fBcc\fR [ \fIflag\fR... ] \fIfile\fR... \fB-lform\fR \fB -lcurses \fR [ \fIlibrary\fR... ]
+#include <form.h>
+
+\fBint\fR \fBpos_form_cursor\fR(\fBFORM *\fR\fIform\fR);
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBpos_form_cursor()\fR moves the form window cursor to the location required
+by the form driver to resume form processing. This may be needed after the
+application calls a \fBcurses\fR library I/O routine.
+.SH RETURN VALUES
+.sp
+.LP
+\fBpos_form_cursor()\fR returns one of the following:
+.sp
+.ne 2
+.mk
+.na
+\fBE_OK\fR
+.ad
+.RS 18n
+.rt
+Thefunction returned successfully.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBE_SYSTEM_ERROR\fR
+.ad
+.RS 18n
+.rt
+System error.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBE_BAD_ARGUMENT\fR
+.ad
+.RS 18n
+.rt
+An argument is incorrect.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBE_NOT_POSTED\fR
+.ad
+.RS 18n
+.rt
+The form is not posted.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+MT-LevelUnsafe
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBcurses\fR(3CURSES), \fBforms\fR(3CURSES), \fBattributes\fR(5)
+.SH NOTES
+.sp
+.LP
+The header \fB<form.h>\fR automatically includes the headers \fB<eti.h>\fR and
+\fB<curses.h>\fR\&.
diff --git a/usr/src/man/man3curses/form_data.3curses b/usr/src/man/man3curses/form_data.3curses
new file mode 100644
index 0000000000..5d0086be42
--- /dev/null
+++ b/usr/src/man/man3curses/form_data.3curses
@@ -0,0 +1,61 @@
+'\" te
+.\" Copyright 1989 AT&T
+.\" Portions Copyright (c) 1996, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH form_data 3CURSES "31 Dec 1996" "SunOS 5.11" "Curses Library Functions"
+.SH NAME
+form_data, data_ahead, data_behind \- tell if forms field has off-screen data
+ahead or behind
+.SH SYNOPSIS
+.LP
+.nf
+\fBcc\fR [ \fIflag\fR ... ] \fIfile\fR ... \fB-lform\fR \fB -lcurses \fR [ \fIlibrary\fR .. ]
+#include <form.h>
+
+
+
+\fBint\fR \fBdata_ahead\fR(\fBFORM *\fR\fIform\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBdata_behind\fR(\fBFORM *\fR\fIform\fR);
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBdata_ahead()\fR returns \fBTRUE\fR (1) if the current field has more
+off-screen data ahead; otherwise it returns \fBFALSE\fR (0).
+.sp
+.LP
+\fBdata_behind()\fR returns \fBTRUE\fR (1) if the current field has more
+off-screen data behind; otherwise it returns \fBFALSE\fR (0).
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+MT-LevelUnsafe
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBcurses\fR(3CURSES), \fBforms\fR(3CURSES), \fBattributes\fR(5)
+.SH NOTES
+.sp
+.LP
+The header \fB<form.h>\fR automatically includes the headers \fB<eti.h>\fR and
+\fB<curses.h>\fR\&.
diff --git a/usr/src/man/man3curses/form_driver.3curses b/usr/src/man/man3curses/form_driver.3curses
new file mode 100644
index 0000000000..ec48ebf15d
--- /dev/null
+++ b/usr/src/man/man3curses/form_driver.3curses
@@ -0,0 +1,777 @@
+'\" te
+.\" Copyright 1989 AT&T
+.\" Portions Copyright (c) 1996, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH form_driver 3CURSES "31 Dec 1996" "SunOS 5.11" "Curses Library Functions"
+.SH NAME
+form_driver \- command processor for the forms subsystem
+.SH SYNOPSIS
+.LP
+.nf
+\fBcc\fR [ \fIflag\fR... ] \fIfile\fR... \fB-lform\fR \fB -lcurses \fR [ \fIlibrary\fR... ]
+#include <form.h>
+
+\fBint\fR \fBform_driver\fR(\fBFORM *\fR\fIform\fR, \fBint\fR \fIc\fR);
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBform_driver()\fR function is the workhorse of the \fBforms\fR subsystem;
+it checks to determine whether the character \fIc\fR is a \fBforms\fR request
+or data. If it is a request, the form driver executes the request and reports
+the result. If it is data (a printable \fBASCII\fR character), it enters the
+data into the current position in the current field. If it is not recognized,
+the form driver assumes it is an application-defined command and returns
+\fBE_UNKNOWN_COMMAND\fR. Application defined commands should be defined
+relative to \fBMAX_COMMAND\fR, the maximum value of a request listed below.
+.sp
+.LP
+Form driver requests:
+.sp
+.ne 2
+.mk
+.na
+\fBREQ_NEXT_PAGE\fR
+.ad
+.RS 20n
+.rt
+Move to the next page.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBREQ_PREV_PAGE\fR
+.ad
+.RS 20n
+.rt
+Move to the previous page.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBREQ_FIRST_PAGE\fR
+.ad
+.RS 20n
+.rt
+Move to the first page.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBREQ_LAST_PAGE\fR
+.ad
+.RS 20n
+.rt
+Move to the last page.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBREQ_NEXT_FIELD\fR
+.ad
+.RS 20n
+.rt
+Move to the next field.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBREQ_PREV_FIELD\fR
+.ad
+.RS 20n
+.rt
+Move to the previous field.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBREQ_FIRST_FIELD\fR
+.ad
+.RS 20n
+.rt
+Move to the first field.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBREQ_LAST_FIELD\fR
+.ad
+.RS 20n
+.rt
+Move to the last field.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBREQ_SNEXT_FIELD\fR
+.ad
+.RS 20n
+.rt
+Move to the sorted next field.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBREQ_SPREV_FIELD\fR
+.ad
+.RS 20n
+.rt
+Move to the sorted prev field.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBREQ_SFIRST_FIELD\fR
+.ad
+.RS 20n
+.rt
+Move to the sorted first field.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBREQ_SLAST_FIELD\fR
+.ad
+.RS 20n
+.rt
+Move to the sorted last field.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBREQ_LEFT_FIELD\fR
+.ad
+.RS 20n
+.rt
+Move left to field.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBREQ_RIGHT_FIELD\fR
+.ad
+.RS 20n
+.rt
+Move right to field.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBREQ_UP_FIELD\fR
+.ad
+.RS 20n
+.rt
+Move up to field.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBREQ_DOWN_FIELD\fR
+.ad
+.RS 20n
+.rt
+Move down to field.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBREQ_NEXT_CHAR\fR
+.ad
+.RS 20n
+.rt
+Move to the next character in the field.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBREQ_PREV_CHAR\fR
+.ad
+.RS 20n
+.rt
+Move to the previous character in the field.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBREQ_NEXT_LINE\fR
+.ad
+.RS 20n
+.rt
+Move to the next line in the field.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBREQ_PREV_LINE\fR
+.ad
+.RS 20n
+.rt
+Move to the previous line in the field.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBREQ_NEXT_WORD\fR
+.ad
+.RS 20n
+.rt
+Move to the next word in the field.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBREQ_PREV_WORD\fR
+.ad
+.RS 20n
+.rt
+Move to the previous word in the field.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBREQ_BEG_FIELD\fR
+.ad
+.RS 20n
+.rt
+Move to the first char in the field.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBREQ_END_FIELD\fR
+.ad
+.RS 20n
+.rt
+ Move after the last char in the field.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBREQ_BEG_LINE\fR
+.ad
+.RS 20n
+.rt
+Move to the beginning of the line.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBREQ_END_LINE\fR
+.ad
+.RS 20n
+.rt
+Move after the last char in the line.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBREQ_LEFT_CHAR\fR
+.ad
+.RS 20n
+.rt
+Move left in the field.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBREQ_RIGHT_CHAR\fR
+.ad
+.RS 20n
+.rt
+Move right in the field.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBREQ_UP_CHAR\fR
+.ad
+.RS 20n
+.rt
+Move up in the field.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBREQ_DOWN_CHAR\fR
+.ad
+.RS 20n
+.rt
+Move down in the field.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBREQ_NEW_LINE\fR
+.ad
+.RS 20n
+.rt
+Insert/overlay a new line.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBREQ_INS_CHAR\fR
+.ad
+.RS 20n
+.rt
+Insert the blank character at the cursor.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBREQ_INS_LINE\fR
+.ad
+.RS 20n
+.rt
+Insert a blank line at the cursor.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBREQ_DEL_CHAR\fR
+.ad
+.RS 20n
+.rt
+Delete the character at the cursor.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBREQ_DEL_PREV\fR
+.ad
+.RS 20n
+.rt
+Delete the character before the cursor.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBREQ_DEL_LINE\fR
+.ad
+.RS 20n
+.rt
+Delete the line at the cursor.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBREQ_DEL_WORD\fR
+.ad
+.RS 20n
+.rt
+Delete the word at the cursor.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBREQ_CLR_EOL\fR
+.ad
+.RS 20n
+.rt
+Clear to the end of the line.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBREQ_CLR_EOF\fR
+.ad
+.RS 20n
+.rt
+Clear to the end of the field.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBREQ_CLR_FIELD\fR
+.ad
+.RS 20n
+.rt
+Clear the entire field.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBREQ_OVL_MODE\fR
+.ad
+.RS 20n
+.rt
+Enter overlay mode.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBREQ_INS_MODE\fR
+.ad
+.RS 20n
+.rt
+Enter insert mode.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBREQ_SCR_FLINE\fR
+.ad
+.RS 20n
+.rt
+Scroll the field forward a line.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBREQ_SCR_BLINE\fR
+.ad
+.RS 20n
+.rt
+Scroll the field backward a line.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBREQ_SCR_FPAGE\fR
+.ad
+.RS 20n
+.rt
+Scroll the field forward a page.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBREQ_SCR_BPAGE \fR
+.ad
+.RS 20n
+.rt
+ Scroll the field backward a page.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBREQ_SCR_FHPAGE\fR
+.ad
+.RS 20n
+.rt
+Scroll the field forward half a page.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBREQ_SCR_BHPAGE\fR
+.ad
+.RS 20n
+.rt
+Scroll the field backward half a page.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBREQ_SCR_FCHAR\fR
+.ad
+.RS 20n
+.rt
+Horizontal scroll forward a character.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBREQ_SCR_BCHAR\fR
+.ad
+.RS 20n
+.rt
+ Horizontal scroll backward a character
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBREQ_SCR_HFLINE\fR
+.ad
+.RS 20n
+.rt
+Horizontal scroll forward a line.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBREQ_SCR_HBLINE\fR
+.ad
+.RS 20n
+.rt
+Horizontal scroll backward a line.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBREQ_SCR_HFHALF\fR
+.ad
+.RS 20n
+.rt
+Horizontal scroll forward half a line.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBREQ_SCR_HBHALF\fR
+.ad
+.RS 20n
+.rt
+Horizontal scroll backward half a line.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBREQ_VALIDATION\fR
+.ad
+.RS 20n
+.rt
+Validate field.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBREQ_PREV_CHOICE\fR
+.ad
+.RS 20n
+.rt
+Display the previous field choice.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBREQ_NEXT_CHOICE\fR
+.ad
+.RS 20n
+.rt
+Display the next field choice.
+.RE
+
+.SH RETURN VALUES
+.sp
+.LP
+The \fBform_driver()\fR function returns one of the following:
+.sp
+.ne 2
+.mk
+.na
+\fBE_OK\fR
+.ad
+.RS 21n
+.rt
+The function returned successfully.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBE_SYSTEM_ERROR\fR
+.ad
+.RS 21n
+.rt
+System error.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBE_BAD_ARGUMENT\fR
+.ad
+.RS 21n
+.rt
+An argument is incorrect.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBE_NOT_POSTED\fR
+.ad
+.RS 21n
+.rt
+The form is not posted.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBE_INVALID_FIELD\fR
+.ad
+.RS 21n
+.rt
+The field contents are invalid.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBE_BAD_STATE\fR
+.ad
+.RS 21n
+.rt
+The routine was called from an initialization or termination function.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBE_REQUEST_DENIED\fR
+.ad
+.RS 21n
+.rt
+The form driver request failed.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBE_UNKNOWN_COMMAND\fR
+.ad
+.RS 21n
+.rt
+An unknown request was passed to the form driver.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+MT-LevelUnsafe
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBcurses\fR(3CURSES), \fBforms\fR(3CURSES), \fBattributes\fR(5)
+.SH NOTES
+.sp
+.LP
+The header <\fBform.h\fR> automatically includes the headers <\fBeti.h\fR> and
+<\fBcurses.h\fR>.
diff --git a/usr/src/man/man3curses/form_field.3curses b/usr/src/man/man3curses/form_field.3curses
new file mode 100644
index 0000000000..f6a7fbef9f
--- /dev/null
+++ b/usr/src/man/man3curses/form_field.3curses
@@ -0,0 +1,141 @@
+'\" te
+.\" Copyright 1989 AT&T
+.\" Portions Copyright (c) 1996, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH form_field 3CURSES "31 Dec 1996" "SunOS 5.11" "Curses Library Functions"
+.SH NAME
+form_field, set_form_fields, form_fields, field_count, move_field \- connect
+fields to forms
+.SH SYNOPSIS
+.LP
+.nf
+\fBcc\fR [ \fIflag\fR... ] \fIfile\fR... \fB-lform\fR \fB -lcurses \fR [ \fIlibrary\fR... ]
+#include <form.h>
+
+\fBint\fR \fBset_form_fields\fR(\fBFORM *\fR\fIform\fR, \fBFIELD **\fR\fIfield\fR);
+.fi
+
+.LP
+.nf
+\fBFIELD **\fR\fBform_fields\fR(\fBFORM *\fR\fIform\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBfield_count\fR(\fBFORM *\fR\fIform\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBmove_field\fR(\fBFIELD *\fR\fIfield\fR, \fBint\fR \fIfrow\fR, \fBint\fR \fIfcol\fR);
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBset_form_fields()\fR changes the fields connected to \fIform\fR to
+\fIfields\fR. The original fields are disconnected.
+.sp
+.LP
+\fBform_fields()\fR returns a pointer to the field pointer array connected to
+\fIform\fR.
+.sp
+.LP
+\fBfield_count()\fR returns the number of fields connected to \fIform\fR.
+.sp
+.LP
+\fBmove_field()\fR moves the disconnected \fIfield\fR to the location \fIfrow,
+fcol\fR in the \fBforms\fR subwindow.
+.SH RETURN VALUES
+.sp
+.LP
+\fBform_fields()\fR returns \fINULL\fR on error.
+.sp
+.LP
+\fBfield_count()\fR returns \fB-1\fR on error.
+.sp
+.LP
+\fBset_form_fields()\fR and \fBmove_field()\fR return one of the following:
+.sp
+.ne 2
+.mk
+.na
+\fBE_OK \fR
+.ad
+.RS 18n
+.rt
+The function returned successfully.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBE_CONNECTED\fR
+.ad
+.RS 18n
+.rt
+The field is already connected to a form.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBE_SYSTEM_ERROR\fR
+.ad
+.RS 18n
+.rt
+System error.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBE_BAD_ARGUMENT\fR
+.ad
+.RS 18n
+.rt
+An argument is incorrect
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBE_POSTED\fR
+.ad
+.RS 18n
+.rt
+The form is posted.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+MT-LevelUnsafe
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBcurses\fR(3CURSES), \fBforms\fR(3CURSES), \fBattributes\fR(5)
+.SH NOTES
+.sp
+.LP
+The header \fB<form.h>\fR automatically includes the headers \fB<eti.h>\fR and
+\fB<curses.h>\fR\&.
diff --git a/usr/src/man/man3curses/form_field_attributes.3curses b/usr/src/man/man3curses/form_field_attributes.3curses
new file mode 100644
index 0000000000..c294cf6c5a
--- /dev/null
+++ b/usr/src/man/man3curses/form_field_attributes.3curses
@@ -0,0 +1,132 @@
+'\" te
+.\" Copyright 1989 AT&T
+.\" Portions Copyright (c) 1996, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH form_field_attributes 3CURSES "31 Dec 1996" "SunOS 5.11" "Curses Library Functions"
+.SH NAME
+form_field_attributes, set_field_fore, field_fore, set_field_back, field_back,
+set_field_pad, field_pad \- format the general display attributes of forms
+.SH SYNOPSIS
+.LP
+.nf
+\fBcc\fR [ \fIflag\fR... ] \fIfile\fR... \fB-lform\fR \fB -lcurses \fR [ \fIlibrary\fR... ]
+#include <form.h>
+
+\fBint\fR \fBset_field_fore\fR(\fBFIELD *\fR\fIfield\fR, \fBchtype\fR \fIattr\fR);
+.fi
+
+.LP
+.nf
+\fBchtype\fR \fBfield_fore\fR(\fBFIELD *\fR\fIfield\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBset_field_back\fR(\fBFIELD *\fR\fIfield\fR, \fBchtype\fR \fIattr\fR);
+.fi
+
+.LP
+.nf
+\fBchtype\fR \fBfield_back\fR(\fBFIELD *\fR\fIfield\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBset_field_pad\fR(\fBFIELD *\fR\fIfield\fR, \fBint\fR \fIpad\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBfield_pad\fR(\fBFIELD *\fR\fIfield\fR);
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBset_field_fore()\fR sets the foreground attribute of \fIfield\fR. The
+foreground attribute is the low-level \fBcurses\fR display attribute used to
+display the field contents. \fBfield_fore()\fR returns the foreground attribute
+of \fIfield\fR.
+.sp
+.LP
+\fBset_field_back()\fR sets the background attribute of \fIfield\fR. The
+background attribute is the low-level \fBcurses\fR display attribute used to
+display the extent of the field. \fBfield_back()\fR returns the background
+attribute of \fIfield\fR.
+.sp
+.LP
+\fBset_field_pad()\fR sets the pad character of \fIfield\fR to \fIpad\fR. The
+pad character is the character used to fill within the field. \fBfield_pad()\fR
+returns the pad character of \fIfield\fR.
+.SH RETURN VALUES
+.sp
+.LP
+\fBfield_fore()\fR, \fBfield_back()\fR, and \fBfield_pad()\fR return default
+values if \fIfield\fR is \fINULL\fR. If \fIfield\fR is not \fINULL\fR and is
+not a valid \fBFIELD\fR pointer, the return value from these routines is
+undefined.
+.sp
+.LP
+\fBset_field_fore()\fR, \fBset_field_back()\fR, and \fBset_field_pad()\fR
+return one of the following:
+.sp
+.ne 2
+.mk
+.na
+\fBE_OK\fR
+.ad
+.RS 18n
+.rt
+The function returned successfully.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBE_SYSTEM_ERROR\fR
+.ad
+.RS 18n
+.rt
+System error.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBE_BAD_ARGUMENT\fR
+.ad
+.RS 18n
+.rt
+An argument is incorrect.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+MT-LevelUnsafe
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBcurses\fR(3CURSES), \fBforms\fR(3CURSES), \fBattributes\fR(5)
+.SH NOTES
+.sp
+.LP
+The header \fB<form.h>\fR automatically includes the headers \fB<eti.h>\fR and
+\fB<curses.h>\fR\&.
diff --git a/usr/src/man/man3curses/form_field_buffer.3curses b/usr/src/man/man3curses/form_field_buffer.3curses
new file mode 100644
index 0000000000..f5a07da256
--- /dev/null
+++ b/usr/src/man/man3curses/form_field_buffer.3curses
@@ -0,0 +1,128 @@
+'\" te
+.\" Copyright 1989 AT&T
+.\" Portions Copyright (c) 1996, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH form_field_buffer 3CURSES "31 Dec 1996" "SunOS 5.11" "Curses Library Functions"
+.SH NAME
+form_field_buffer, set_field_buffer, field_buffer, set_field_status,
+field_status, set_max_field \- set and get forms field attributes
+.SH SYNOPSIS
+.LP
+.nf
+\fBcc\fR [ \fIflag\fR... ] \fIfile\fR... \fB-lform\fR \fB -lcurses \fR [ \fIlibrary\fR... ]
+#include <form.h>
+
+
+
+\fBint\fR \fBset_field_buffer\fR(\fBFIELD *\fR\fIfield\fR, \fBint\fR \fIbuf\fR, \fBchar *\fR\fIvalue\fR);
+.fi
+
+.LP
+.nf
+\fBchar *\fR\fBfield_buffer\fR(\fBFIELD *\fR\fIfield\fR, \fBint\fR \fIbuf\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBset_field_status\fR(\fBFIELD *\fR\fIfield\fR, \fBint\fR \fIstatus\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBfield_status\fR(\fBFIELD *\fR\fIfield\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBset_max_field\fR(\fBFIELD *\fR\fIfield\fR, \fBint\fR \fImax\fR);
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBset_field_buffer()\fR sets buffer \fIbuf\fR of \fIfield\fR to \fIvalue\fR.
+Buffer 0 stores the displayed contents of the field. Buffers other than 0 are
+application specific and not used by the \fBforms\fR library routines.
+\fBfield_buffer()\fR returns the value of \fIfield\fR buffer \fIbuf\fR.
+.sp
+.LP
+Every field has an associated status flag that is set whenever the contents of
+field buffer 0 changes. \fBset_field_status()\fR sets the status flag of
+\fIfield\fR to \fIstatus\fR. \fBfield_status()\fR returns the status of
+\fIfield\fR.
+.sp
+.LP
+\fBset_max_field()\fR sets a maximum growth on a dynamic field, or if
+\fImax=\fR\fB0\fR turns off any maximum growth.
+.SH RETURN VALUES
+.sp
+.LP
+\fBfield_buffer()\fR returns \fINULL\fR on error.
+.sp
+.LP
+\fBfield_status()\fR returns \fBTRUE\fR or \fBFALSE\fR.
+.sp
+.LP
+\fBset_field_buffer()\fR, \fBset_field_status()\fR, and \fBset_max_field()\fR
+return one of the following:
+.sp
+.ne 2
+.mk
+.na
+\fBE_OK\fR
+.ad
+.RS 18n
+.rt
+Thefunction returned successfully.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBE_SYSTEM_ERROR\fR
+.ad
+.RS 18n
+.rt
+System error
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBE_BAD_ARGUMENT\fR
+.ad
+.RS 18n
+.rt
+An argument is incorrect.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+MT-LevelUnsafe
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBcurses\fR(3CURSES), \fBforms\fR(3CURSES), \fBattributes\fR(5)
+.SH NOTES
+.sp
+.LP
+The header \fB<form.h>\fR automatically includes the headers \fB<eti.h>\fR and
+\fB<curses.h>\fR\&.
diff --git a/usr/src/man/man3curses/form_field_info.3curses b/usr/src/man/man3curses/form_field_info.3curses
new file mode 100644
index 0000000000..208b26bc9d
--- /dev/null
+++ b/usr/src/man/man3curses/form_field_info.3curses
@@ -0,0 +1,102 @@
+'\" te
+.\" Copyright 1989 AT&T
+.\" Portions Copyright (c) 1996, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH form_field_info 3CURSES "31 Dec 1996" "SunOS 5.11" "Curses Library Functions"
+.SH NAME
+form_field_info, field_info, dynamic_field_info \- get forms field
+characteristics
+.SH SYNOPSIS
+.LP
+.nf
+\fBcc\fR [ \fIflag\fR... ] \fIfile\fR... \fB-lform\fR \fB -lcurses \fR [ \fIlibrary\fR... ]
+#include <form.h>
+
+\fBint\fR \fBfield_info\fR(\fBFIELD *\fR\fIfield\fR, \fBint *\fR\fIrows\fR, \fBint *\fR\fIcols\fR, \fBint *\fR\fIfrow\fR, \fBint *\fR\fIfcol\fR,
+ \fBint *\fR\fInrow\fR, \fBint *\fR\fInbuf\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBdynamic_field_info\fR(\fBFIELD *\fR\fIfield\fR, \fBint *\fR\fIdrows\fR, \fBint *\fR\fIdcols\fR, \fBint *\fR\fImax\fR);
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBfield_info()\fR returns the size, position, and other named field
+characteristics, as defined in the original call to \fBnew_field()\fR, to the
+locations pointed to by the arguments \fIrows\fR, \fIcols\fR, \fIfrow\fR,
+\fIfcol\fR, \fInrow\fR, and \fInbuf\fR.
+.sp
+.LP
+\fBdynamic_field_info()\fR returns the actual size of the \fIfield\fR in the
+pointer arguments \fIdrows\fR, \fIdcols\fR and returns the maximum growth
+allowed for \fIfield\fR in \fImax\fR. If no maximum growth limit is specified
+for \fIfield\fR, \fImax\fR will contain 0. A field can be made dynamic by
+turning off the field option \fBO_STATIC\fR.
+.SH RETURN VALUES
+.sp
+.LP
+These routines return one of the following:
+.sp
+.ne 2
+.mk
+.na
+\fBE_OK\fR
+.ad
+.RS 18n
+.rt
+The function returned successfully.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBE_SYSTEM_ERROR\fR
+.ad
+.RS 18n
+.rt
+System error.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBE_BAD_ARGUMENT\fR
+.ad
+.RS 18n
+.rt
+An argument is incorrect.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+MT-LevelUnsafe
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBcurses\fR(3CURSES), \fBforms\fR(3CURSES), \fBattributes\fR(5)
+.SH NOTES
+.sp
+.LP
+The header \fB<form.h>\fR automatically includes the headers \fB<eti.h>\fR and
+\fB<curses.h>\fR\&.
diff --git a/usr/src/man/man3curses/form_field_just.3curses b/usr/src/man/man3curses/form_field_just.3curses
new file mode 100644
index 0000000000..1b1cca6c91
--- /dev/null
+++ b/usr/src/man/man3curses/form_field_just.3curses
@@ -0,0 +1,136 @@
+'\" te
+.\" Copyright 1989 AT&T
+.\" Portions Copyright (c) 1996, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH form_field_just 3CURSES "31 Dec 1996" "SunOS 5.11" "Curses Library Functions"
+.SH NAME
+form_field_just, set_field_just, field_just \- format the general appearance of
+forms
+.SH SYNOPSIS
+.LP
+.nf
+\fBcc\fR [ \fIflag\fR... ] \fIfile\fR... \fB-lform\fR \fB -lcurses \fR [ \fIlibrary\fR... ]
+#include <form.h>
+
+
+
+\fBint\fR \fBset_field_just\fR(\fBFIELD *\fR\fIfield\fR, \fBint\fR \fIjustification\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBfield_just\fR(\fBFIELD *\fR\fIfield\fR);
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBset_field_just()\fR function sets the justification for \fIfield\fR.
+Justification can be one of:
+.br
+.in +2
+\fBNO_JUSTIFICATION\fR
+.in -2
+.br
+.in +2
+\fBJUSTIFY_RIGHT\fR
+.in -2
+.br
+.in +2
+\fBJUSTIFY_LEFT\fR
+.in -2
+.br
+.in +2
+\fBJUSTIFY_CENTER\fR
+.in -2
+.sp
+.LP
+The field justification is ignored if \fIfield\fR is a dynamic field.
+.sp
+.LP
+The \fBfield_just()\fR function returns the type of justification assigned to
+\fIfield\fR.
+.SH RETURN VALUES
+.sp
+.LP
+The \fBfield_just()\fR function returns one of the following:
+.br
+.in +2
+\fBNO_JUSTIFICATION\fR
+.in -2
+.br
+.in +2
+\fBJUSTIFY_RIGHT\fR
+.in -2
+.br
+.in +2
+\fBJUSTIFY_LEFT\fR
+.in -2
+.br
+.in +2
+ \fBJUSTIFY_CENTER\fR
+.in -2
+.sp
+.LP
+The \fBset_field_just()\fR function returns one of the following:
+.sp
+.ne 2
+.mk
+.na
+\fBE_OK\fR
+.ad
+.RS 18n
+.rt
+The function returned successfully.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBE_SYSTEM_ERROR\fR
+.ad
+.RS 18n
+.rt
+System error.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBE_BAD_ARGUMENT\fR
+.ad
+.RS 18n
+.rt
+An argument is incorrect.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+MT-LevelUnsafe
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBcurses\fR(3CURSES), \fBforms\fR(3CURSES), \fBattributes\fR(5)
+.SH NOTES
+.sp
+.LP
+The header \fB<form.h>\fR automatically includes the headers \fB<eti.h>\fR and
+\fB<curses.h>\fR\&.
diff --git a/usr/src/man/man3curses/form_field_new.3curses b/usr/src/man/man3curses/form_field_new.3curses
new file mode 100644
index 0000000000..092be55891
--- /dev/null
+++ b/usr/src/man/man3curses/form_field_new.3curses
@@ -0,0 +1,129 @@
+'\" te
+.\" Copyright 1989 AT&T
+.\" Portions Copyright (c) 1996, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH form_field_new 3CURSES "31 Dec 1996" "SunOS 5.11" "Curses Library Functions"
+.SH NAME
+form_field_new, new_field, dup_field, link_field, free_field \- create and
+destroy forms fields
+.SH SYNOPSIS
+.LP
+.nf
+\fBcc\fR [ \fIflag\fR... ] \fIfile\fR... \fB-lform\fR \fB -lcurses \fR [ \fIlibrary\fR... ]
+#include <form.h>
+
+\fBFIELD *\fR\fBnew_field\fR(\fBint\fR \fIr\fR, \fBint\fR \fIc\fR, \fBint\fR \fIfrow\fR, \fBint\fR \fIfcol\fR, \fBint\fR \fInrow\fR, \fBint\fR \fIncol\fR);
+.fi
+
+.LP
+.nf
+\fBFIELD *\fR\fBdup_field\fR(\fBFIELD *\fR\fIfield\fR, \fBint\fR \fIfrow\fR, \fBint\fR \fIfcol\fR);
+.fi
+
+.LP
+.nf
+\fBFIELD *\fR\fBlink_field\fR(\fBFIELD *\fR\fIfield\fR, \fBint\fR \fIfrow\fR, \fBint\fR \fIfcol\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBfree_field\fR(\fBFIELD *\fR\fIfield\fR);
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBnew_field()\fR creates a new field with \fIr\fR rows and \fIc\fR columns,
+starting at \fIfrow\fR, \fIfcol\fR, in the subwindow of a form. \fInrow\fR is
+the number of off-screen rows and \fInbuf\fR is the number of additional
+working buffers. This routine returns a pointer to the new field.
+.sp
+.LP
+\fBdup_field()\fR duplicates \fIfield\fR at the specified location. All field
+attributes are duplicated, including the current contents of the field buffers.
+.sp
+.LP
+\fBlink_field()\fR also duplicates \fIfield\fR at the specified location.
+However, unlike \fBdup_field()\fR, the new field shares the field buffers with
+the original field. After creation, the attributes of the new field can be
+changed without affecting the original field.
+.sp
+.LP
+\fBfree_field()\fR frees the storage allocated for \fIfield\fR.
+.SH RETURN VALUES
+.sp
+.LP
+Routines that return pointers return \fINULL\fR on error. \fBfree_field()\fR
+returns one of the following:
+.sp
+.ne 2
+.mk
+.na
+\fBE_OK\fR
+.ad
+.RS 18n
+.rt
+Thefunction returned successfully.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBE_CONNECTED\fR
+.ad
+.RS 18n
+.rt
+The field is already connected to a form.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBE_SYSTEM_ERROR\fR
+.ad
+.RS 18n
+.rt
+System error.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBE_BAD_ARGUMENT\fR
+.ad
+.RS 18n
+.rt
+An argument is incorrect.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+MT-LevelUnsafe
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBcurses\fR(3CURSES), \fBforms\fR(3CURSES), \fBattributes\fR(5)
+.SH NOTES
+.sp
+.LP
+The header \fB<form.h>\fR automatically includes the headers \fB<eti.h>\fR and
+\fB<curses.h>\fR\&.
diff --git a/usr/src/man/man3curses/form_field_opts.3curses b/usr/src/man/man3curses/form_field_opts.3curses
new file mode 100644
index 0000000000..349ff4db0c
--- /dev/null
+++ b/usr/src/man/man3curses/form_field_opts.3curses
@@ -0,0 +1,228 @@
+'\" te
+.\" Copyright 1989 AT&T
+.\" Portions Copyright (c) 1996, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH form_field_opts 3CURSES "31 Dec 1996" "SunOS 5.11" "Curses Library Functions"
+.SH NAME
+form_field_opts, set_field_opts, field_opts_on, field_opts_off, field_opts \-
+forms field option routines
+.SH SYNOPSIS
+.LP
+.nf
+\fBcc\fR [ \fIflag\fR... ] \fIfile\fR... \fB-lform\fR \fB -lcurses \fR [ \fIlibrary\fR... ]
+#include <form.h>
+
+\fBint\fR \fBset_field_opts\fR(\fBFIELD *\fR\fIfield\fR, \fBOPTIONS\fR \fIopts\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBset_field_opts\fR(\fBFIELD *\fR\fIfield\fR, \fBOPTIONS\fR \fIopts\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBfield_opts_on\fR(\fBFIELD *\fR\fIfield\fR, \fBOPTIONS\fR \fIopts\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBfield_opts_off\fR(\fBFIELD *\fR\fIfield\fR, \fBOPTIONS\fR \fIopts\fR);
+.fi
+
+.LP
+.nf
+\fBOPTIONS\fR \fBfield_opts\fR(\fBFIELD *\fR\fIfield\fR);
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBset_field_opts()\fR turns on the named options of \fIfield\fR and turns off
+all remaining options. Options are boolean values that can be OR-ed together.
+.sp
+.LP
+\fBfield_opts_on()\fR turns on the named options; no other options are changed.
+.sp
+.LP
+\fBfield_opts_off()\fR turns off the named options; no other options are
+changed.
+.sp
+.LP
+\fBfield_opts()\fR returns the options set for \fIfield\fR.
+.sp
+.ne 2
+.mk
+.na
+\fBO_VISIBLE\fR
+.ad
+.RS 14n
+.rt
+The field is displayed.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBO_ACTIVE\fR
+.ad
+.RS 14n
+.rt
+ The field is visited during processing.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBO_PUBLIC\fR
+.ad
+.RS 14n
+.rt
+The field contents are displayed as data is entered.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBO_EDIT\fR
+.ad
+.RS 14n
+.rt
+ The field can be edited.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBO_WRAP\fR
+.ad
+.RS 14n
+.rt
+Words not fitting on a line are wrapped to the next line.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBO_BLANK\fR
+.ad
+.RS 14n
+.rt
+The whole field is cleared if a character is entered in the first position.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBO_AUTOSKIP\fR
+.ad
+.RS 14n
+.rt
+Skip to the next field when the current field becomes full.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBO_NULLOK\fR
+.ad
+.RS 14n
+.rt
+A blank field is considered valid.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBO_STATIC\fR
+.ad
+.RS 14n
+.rt
+The field buffers are fixed in size.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBO_PASSOK\fR
+.ad
+.RS 14n
+.rt
+Validate field only if modified by user.
+.RE
+
+.SH RETURN VALUES
+.sp
+.LP
+\fBset_field_opts\fR, \fBfield_opts_on\fR and \fBfield_opts_off\fR return one
+of the following:
+.sp
+.ne 2
+.mk
+.na
+\fBE_OK\fR
+.ad
+.RS 18n
+.rt
+The function returned successfully.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBE_SYSTEM_ERROR\fR
+.ad
+.RS 18n
+.rt
+System error.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBE_CURRENT\fR
+.ad
+.RS 18n
+.rt
+The field is the current field.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+MT-LevelUnsafe
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBcurses\fR(3CURSES), \fBforms\fR(3CURSES), \fBattributes\fR(5)
+.SH NOTES
+.sp
+.LP
+The header \fB<form.h>\fR automatically includes the headers \fB<eti.h>\fR and
+\fB<curses.h>\fR\&.
diff --git a/usr/src/man/man3curses/form_field_userptr.3curses b/usr/src/man/man3curses/form_field_userptr.3curses
new file mode 100644
index 0000000000..ce5422f34c
--- /dev/null
+++ b/usr/src/man/man3curses/form_field_userptr.3curses
@@ -0,0 +1,83 @@
+'\" te
+.\" Copyright 1989 AT&T
+.\" Portions Copyright (c) 1996, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH form_field_userptr 3CURSES "31 Dec 1996" "SunOS 5.11" "Curses Library Functions"
+.SH NAME
+form_field_userptr, set_field_userptr, field_userptr \- associate application
+data with forms
+.SH SYNOPSIS
+.LP
+.nf
+\fBcc\fR [ \fIflag\fR... ] \fIfile\fR... \fB-lform\fR \fB -lcurses \fR [ \fIlibrary\fR... ]
+#include <form.h>
+
+\fBint\fR \fBset_field_userptr\fR(\fBFIELD *\fR\fIfield\fR, \fBchar *\fR\fIptr\fR);
+.fi
+
+.LP
+.nf
+\fBchar *\fR\fBfield_userptr\fR(\fBFIELD *\fR\fIfield\fR);
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+Every field has an associated user pointer that can be used to store pertinent
+data. \fBset_field_userptr()\fR sets the user pointer of \fIfield\fR.
+\fBfield_userptr()\fR returns the user pointer of \fIfield\fR.
+.SH RETURN VALUES
+.sp
+.LP
+\fBfield_userptr()\fR returns \fINULL\fR \fBon\fR \fBerror.\fR
+\fBset_field_userptr()\fR returns one of the following:
+.sp
+.ne 2
+.mk
+.na
+\fBE_OK\fR
+.ad
+.RS 18n
+.rt
+The function returned successfully.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBE_SYSTEM_ERROR\fR
+.ad
+.RS 18n
+.rt
+System error.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+MT-LevelUnsafe
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBcurses\fR(3CURSES), \fBforms\fR(3CURSES), \fBattributes\fR(5)
+.SH NOTES
+.sp
+.LP
+The header \fB<form.h>\fR automatically includes the headers \fB<eti.h>\fR and
+\fB<curses.h>\fR\&.
diff --git a/usr/src/man/man3curses/form_field_validation.3curses b/usr/src/man/man3curses/form_field_validation.3curses
new file mode 100644
index 0000000000..ef0af754c3
--- /dev/null
+++ b/usr/src/man/man3curses/form_field_validation.3curses
@@ -0,0 +1,100 @@
+'\" te
+.\" Copyright 1989 AT&T
+.\" Portions Copyright (c) 1996, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH form_field_validation 3CURSES "31 Dec 1996" "SunOS 5.11" "Curses Library Functions"
+.SH NAME
+form_field_validation, set_field_type, field_type, field_arg \- forms field
+data type validation
+.SH SYNOPSIS
+.LP
+.nf
+\fBcc\fR [ \fIflag\fR... ] \fIfile\fR... \fB-lform\fR \fB -lcurses \fR [ \fIlibrary\fR... ]
+#include <form.h>
+
+\fBint\fR \fBset_field_type\fR(\fBFIELD *\fR\fIfield\fR, \fBFIELDTYPE *\fR\fItype\fR...);
+.fi
+
+.LP
+.nf
+\fBFIELDTYPE *\fR\fBfield_type\fR(\fBFIELD *\fR\fIfield\fR);
+.fi
+
+.LP
+.nf
+\fBchar *\fR\fBfield_arg\fR(\fBFIELD *\fR\fIfield\fR);
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBset_field_type()\fR associates the specified field type with \fIfield\fR.
+Certain field types take additional arguments. \fBTYPE_ALNUM\fR, for instance,
+requires one, the minimum width specification for the field. The other
+predefined field types are: \fBTYPE_ALPHA\fR, \fBTYPE_ENUM\fR,
+\fBTYPE_INTEGER\fR, \fBTYPE_NUMERIC\fR, and \fBTYPE_REGEXP\fR.
+.sp
+.LP
+\fBfield_type()\fR returns a pointer to the field type of \fIfield\fR.
+\fINULL\fR is returned if no field type is assigned.
+.sp
+.LP
+\fBfield_arg()\fR returns a pointer to the field arguments associated with the
+field type of \fIfield\fR. \fINULL\fR is returned if no field type is assigned.
+.SH RETURN VALUES
+.sp
+.LP
+\fBfield_type()\fR and \fBfield_arg()\fR return \fINULL\fR on error.
+.sp
+.LP
+\fBset_field_type()\fR returns one of the following:
+.sp
+.ne 2
+.mk
+.na
+\fBE_OK\fR
+.ad
+.RS 18n
+.rt
+The function returned successfully.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBE_SYSTEM_ERROR\fR
+.ad
+.RS 18n
+.rt
+System error.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+MT-LevelUnsafe
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBcurses\fR(3CURSES), \fBforms\fR(3CURSES), \fBattributes\fR(5)
+.SH NOTES
+.sp
+.LP
+The header \fB<form.h>\fR automatically includes the headers \fB<eti.h>\fR and
+\fB<curses.h>\fR\&.
diff --git a/usr/src/man/man3curses/form_fieldtype.3curses b/usr/src/man/man3curses/form_fieldtype.3curses
new file mode 100644
index 0000000000..ba8e5f7eef
--- /dev/null
+++ b/usr/src/man/man3curses/form_fieldtype.3curses
@@ -0,0 +1,146 @@
+'\" te
+.\" Copyright 1989 AT&T
+.\" Portions Copyright (c) 1996, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH form_fieldtype 3CURSES "31 Dec 1996" "SunOS 5.11" "Curses Library Functions"
+.SH NAME
+form_fieldtype, new_fieldtype, free_fieldtype, set_fieldtype_arg,
+set_fieldtype_choice, link_fieldtype \- forms fieldtype routines
+.SH SYNOPSIS
+.LP
+.nf
+\fBcc\fR [ \fIflag\fR... ] \fIfile\fR... \fB-lform\fR \fB -lcurses \fR [ \fIlibrary\fR... ]
+#include <form.h>
+
+\fBFIELDTYPE *\fR\fBnew_fieldtype\fR(\fBint (*\fR \fIfield_check\fR)(FIELD *, \fBchar *\fR),
+ \fBint (*char_check)(int, char *)\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBfree_fieldtype\fR(\fBFIELDTYPE *\fR\fIfieldtype\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBset_fieldtype_arg\fR(\fBFIELDTYPE *\fR\fIfieldtype\fR, \fBchar *(*\fR \fImak_arg\fR)(va_list *),
+ \fBchar *(*\fR \fIcopy_arg\fR)(char *), \fBvoid (*\fR \fIfree_arg\fR)(char *));
+.fi
+
+.LP
+.nf
+\fBint\fR \fBset_fieldtype_choice\fR(\fBFIELDTYPE *\fR\fIfieldtype\fR, \fBint (*\fR \fInext_choice\fR)
+ (FIELD *, \fBchar *)\fR, \fBint (*\fR\fIprev_choice\fR)(FIELD *, \fBchar *)\fR);
+.fi
+
+.LP
+.nf
+\fBFIELDTYPE *\fR\fBlink_fieldtype\fR(\fBFIELDTYPE *\fR\fItype1\fR, \fBFIELDTYPE *\fR\fItype2\fR);
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBnew_fieldtype()\fR creates a new field type. The application programmer must
+write the function \fIfield_check\fR, which validates the field value, and the
+function \fIchar_check\fR, which validates each character.
+\fBfree_fieldtype()\fR frees the space allocated for the field type.
+.sp
+.LP
+By associating function pointers with a field type, \fBset_fieldtype_arg()\fR
+connects to the field type additional arguments necessary for a
+\fBset_field_type()\fR call. Function \fImak_arg\fR allocates a structure for
+the field specific parameters to \fBset_field_type()\fR and returns a pointer
+to the saved data. Function \fIcopy_arg\fR duplicates the structure created by
+\fImake_arg\fR. Function \fIfree_arg\fR frees any storage allocated by
+\fImake_arg\fR or \fIcopy_arg\fR.
+.sp
+.LP
+The \fBform_driver()\fR requests \fBREQ_NEXT_CHOICE\fR and
+\fBREQ_PREV_CHOICE\fR let the user request the next or previous value of a
+field type comprising an ordered set of values. \fBset_fieldtype_choice()\fR
+allows the application programmer to implement these requests for the given
+field type. It associates with the given field type those application-defined
+functions that return pointers to the next or previous choice for the field.
+.sp
+.LP
+\fBlink_fieldtype()\fR returns a pointer to the field type built from the two
+given types. The constituent types may be any application-defined or
+pre-defined types.
+.SH RETURN VALUES
+.sp
+.LP
+Routines that return pointers always return \fINULL\fR on error. Routines that
+return an integer return one of the following:
+.sp
+.ne 2
+.mk
+.na
+\fBE_OK\fR
+.ad
+.RS 18n
+.rt
+The function returned successfully.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBE_SYSTEM_ERROR\fR
+.ad
+.RS 18n
+.rt
+System error.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBE_BAD_ARGUMENT\fR
+.ad
+.RS 18n
+.rt
+An argument is incorrect.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBE_CONNECTED\fR
+.ad
+.RS 18n
+.rt
+Type is connected to one or more fields.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+MT-LevelUnsafe
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBcurses\fR(3CURSES), \fBforms\fR(3CURSES), \fBattributes\fR(5)
+.SH NOTES
+.sp
+.LP
+The header \fB<form.h>\fR automatically includes the headers \fB<eti.h>\fR and
+\fB<curses.h>\fR\&.
diff --git a/usr/src/man/man3curses/form_hook.3curses b/usr/src/man/man3curses/form_hook.3curses
new file mode 100644
index 0000000000..34d370d45f
--- /dev/null
+++ b/usr/src/man/man3curses/form_hook.3curses
@@ -0,0 +1,138 @@
+'\" te
+.\" Copyright 1989 AT&T
+.\" Portions Copyright (c) 1996, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH form_hook 3CURSES "31 Dec 1996" "SunOS 5.11" "Curses Library Functions"
+.SH NAME
+form_hook, set_form_init, form_init, set_form_term, form_term, set_field_init,
+field_init, set_field_term, field_term \- assign application-specific routines
+for invocation by forms
+.SH SYNOPSIS
+.LP
+.nf
+\fBcc\fR [ \fIflag\fR... ] \fIfile\fR... \fB-lform\fR \fB -lcurses \fR [ \fIlibrary\fR... ]
+#include <form.h>
+
+
+
+\fBint\fR \fBset_form_init\fR(\fBFORM *\fR\fIform\fR, \fBvoid (*func)(FORM*)\fR);
+.fi
+
+.LP
+.nf
+\fBvoid\fR \fB(*form_init)\fR(\fBFORM *\fR\fIform\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBset_form_term\fR(\fBFORM *\fR\fIform\fR, \fBvoid (*func)(FORM*)\fR);
+.fi
+
+.LP
+.nf
+\fBvoid\fR \fB(*form_term)\fR(\fBFORM *\fR\fIform\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBset_field_init\fR(\fBFORM *\fR\fIform\fR, \fBvoid (*func)(FORM*)\fR);
+.fi
+
+.LP
+.nf
+\fBvoid\fR \fB(*field_init)\fR(\fBFORM *\fR\fIform\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBset_field_term\fR(\fBFORM *\fR\fIform\fR, \fBvoid (*func)(FORM*)\fR);
+.fi
+
+.LP
+.nf
+\fBvoid\fR \fB(*field_term)\fR(\fBFORM *\fR\fIform\fR);
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+These routines allow the programmer to assign application specific routines to
+be executed automatically at initialization and termination points in the
+\fBforms\fR application. The user need not specify any application-defined
+initialization or termination routines at all, but they may be helpful for
+displaying messages or page numbers and other chores.
+.sp
+.LP
+\fBset_form_init()\fR assigns an application-defined initialization function to
+be called when the \fIform\fR is posted and just after a page change.
+\fBform_init()\fR returns a pointer to the initialization function, if any.
+.sp
+.LP
+\fBset_form_term()\fR assigns an application-defined function to be called when
+the \fIform\fR is unposted and just before a page change. \fBform_term()\fR
+returns a pointer to the function, if any.
+.sp
+.LP
+\fBset_field_init()\fR assigns an application-defined function to be called
+when the \fIform\fR is posted and just after the current field changes.
+\fBfield_init()\fR returns a pointer to the function, if any.
+.sp
+.LP
+\fBset_field_term()\fR assigns an application-defined function to be called
+when the \fIform\fR is unposted and just before the current field changes.
+\fBfield_term()\fR returns a pointer to the function, if any.
+.SH RETURN VALUES
+.sp
+.LP
+Routines that return pointers always return \fINULL\fR on error. Routines that
+return an integer return one of the following:
+.sp
+.ne 2
+.mk
+.na
+\fBE_OK\fR
+.ad
+.RS 18n
+.rt
+The function returned successfully.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBE_SYSTEM_ERROR\fR
+.ad
+.RS 18n
+.rt
+System error.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+MT-LevelUnsafe
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBcurses\fR(3CURSES), \fBforms\fR(3CURSES), \fBattributes\fR(5)
+.SH NOTES
+.sp
+.LP
+The header \fB<form.h>\fR automatically includes the headers \fB<eti.h>\fR and
+\fB<curses.h>\fR\&.
diff --git a/usr/src/man/man3curses/form_new.3curses b/usr/src/man/man3curses/form_new.3curses
new file mode 100644
index 0000000000..626bb9aaeb
--- /dev/null
+++ b/usr/src/man/man3curses/form_new.3curses
@@ -0,0 +1,96 @@
+'\" te
+.\" Copyright 1989 AT&T
+.\" Portions Copyright (c) 1996, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH form_new 3CURSES "31 Dec 1996" "SunOS 5.11" "Curses Library Functions"
+.SH NAME
+form_new, new_form, free_form \- create and destroy forms
+.SH SYNOPSIS
+.LP
+.nf
+\fBcc\fR [ \fIflag\fR... ] \fIfile\fR... \fB-lform\fR \fB -lcurses \fR [ \fIlibrary\fR... ]
+#include <form.h>
+
+\fBFORM *\fR\fBnew_form\fR(\fBFIELD **\fR\fIfields\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBfree_form\fR(\fBFORM *\fR\fIform\fR);
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBnew_form()\fR creates a new form connected to the designated fields and
+returns a pointer to the form.
+.sp
+.LP
+\fBfree_form()\fR disconnects the \fIform\fR from its associated field pointer
+array and deallocates the space for the form.
+.SH RETURN VALUES
+.sp
+.LP
+\fBnew_form()\fR always returns \fINULL\fR on error. \fBfree_form()\fR returns
+one of the following:
+.sp
+.ne 2
+.mk
+.na
+\fBE_OK \fR
+.ad
+.RS 18n
+.rt
+The function returned successfully.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBE_BAD_ARGUMENT\fR
+.ad
+.RS 18n
+.rt
+An argument is incorrect.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBE_POSTED\fR
+.ad
+.RS 18n
+.rt
+The form is posted.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+MT-LevelUnsafe
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBcurses\fR(3CURSES), \fBforms\fR(3CURSES), \fBattributes\fR(5)
+.SH NOTES
+.sp
+.LP
+The header \fB<form.h>\fR automatically includes the headers \fB<eti.h>\fR and
+\fB<curses.h>\fR\&.
diff --git a/usr/src/man/man3curses/form_new_page.3curses b/usr/src/man/man3curses/form_new_page.3curses
new file mode 100644
index 0000000000..0b903beaf1
--- /dev/null
+++ b/usr/src/man/man3curses/form_new_page.3curses
@@ -0,0 +1,98 @@
+'\" te
+.\" Copyright 1989 AT&T
+.\" Portions Copyright (c) 1996, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH form_new_page 3CURSES "31 Dec 1996" "SunOS 5.11" "Curses Library Functions"
+.SH NAME
+form_new_page, set_new_page, new_page \- forms pagination
+.SH SYNOPSIS
+.LP
+.nf
+\fBcc\fR [ \fIflag\fR... ] \fIfile\fR... \fB-lform\fR \fB -lcurses \fR [ \fIlibrary\fR... ]
+#include <form.h>
+
+\fBint\fR \fBset_new_page\fR(\fBFIELD *\fR\fIfield\fR, \fBint\fR \fIbool\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBnew_page\fR(\fBFIELD *\fR\fIfield\fR);
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBset_new_page()\fR marks \fIfield\fR as the beginning of a new page on the
+form.
+.sp
+.LP
+\fBnew_page()\fR returns a boolean value indicating whether or not \fIfield\fR
+begins a new page of the form.
+.SH RETURN VALUES
+.sp
+.LP
+\fBnew_page\fR returns \fBTRUE\fR or \fBFALSE\fR.
+.sp
+.LP
+\fBset_new_page()\fR returns one of the following:
+.sp
+.ne 2
+.mk
+.na
+\fBE_OK\fR
+.ad
+.RS 18n
+.rt
+The function returned successfully.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBE_CONNECTED\fR
+.ad
+.RS 18n
+.rt
+The field is already connected to a form.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBE_SYSTEM_ERROR\fR
+.ad
+.RS 18n
+.rt
+System error.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+MT-LevelUnsafe
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBcurses\fR(3CURSES), \fBforms\fR(3CURSES), \fBattributes\fR(5)
+.SH NOTES
+.sp
+.LP
+The header \fB<form.h>\fR automatically includes the headers \fB<eti.h>\fR and
+\fB<curses.h>\fR\&.
diff --git a/usr/src/man/man3curses/form_opts.3curses b/usr/src/man/man3curses/form_opts.3curses
new file mode 100644
index 0000000000..2fd4cf3323
--- /dev/null
+++ b/usr/src/man/man3curses/form_opts.3curses
@@ -0,0 +1,119 @@
+'\" te
+.\" Copyright 1989 AT&T
+.\" Portions Copyright (c) 1996, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH form_opts 3CURSES "31 Dec 1996" "SunOS 5.11" "Curses Library Functions"
+.SH NAME
+form_opts, set_form_opts, form_opts_on, form_opts_off \- forms option routines
+.SH SYNOPSIS
+.LP
+.nf
+\fBcc\fR [ \fIflag\fR... ] \fIfile\fR... \fB-lform\fR \fB -lcurses \fR [ \fIlibrary\fR... ]
+#include <form.h>
+
+\fBint\fR \fBset_form_opts\fR(\fBFORM *\fR\fIform\fR, \fBOPTIONS\fR \fIopts\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBform_opts_on\fR(\fBFORM *\fR\fIform\fR, \fBOPTIONS\fR \fIopts\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBform_opts_off\fR(\fBFORM *\fR\fIform\fR, \fBOPTIONS\fR \fIopts\fR);
+.fi
+
+.LP
+.nf
+\fBOPTIONS\fR \fBform_opts\fR(\fBFORM *\fR\fIform\fR);
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBset_form_opts()\fR turns on the named options for \fIform\fR and turns off
+all remaining options. Options are boolean values which can be OR-ed
+together.\fBform_opts_on()\fR turns on the named options; no other options are
+changed.\fBform_opts_off()\fR turns off the named options; no other options are
+changed.
+.sp
+.LP
+\fBform_opts()\fR returns the options set for \fIform\fR.
+.sp
+.ne 2
+.mk
+.na
+\fBO_NL_OVERLOAD\fR
+.ad
+.RS 17n
+.rt
+Overload the \fBREQ_NEW_LINE\fR form driver request.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBO_BS_OVERLOAD\fR
+.ad
+.RS 17n
+.rt
+Overload the \fBREQ_DEL_PREV\fR form driver request.
+.RE
+
+.SH RETURN VALUES
+.sp
+.LP
+\fBset_form_opts()\fR, \fBform_opts_on()\fR, and \fBform_opts_off()\fR return
+one of the following:
+.sp
+.ne 2
+.mk
+.na
+\fBE_OK\fR
+.ad
+.RS 18n
+.rt
+The function returned successfully.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBE_SYSTEM_ERROR\fR
+.ad
+.RS 18n
+.rt
+System error.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+MT-LevelUnsafe
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBcurses\fR(3CURSES), \fBforms\fR(3CURSES), \fBattributes\fR(5)
+.SH NOTES
+.sp
+.LP
+The header \fB<form.h>\fR automatically includes the headers \fB<eti.h>\fR and
+\fB<curses.h>\fR\&.
diff --git a/usr/src/man/man3curses/form_page.3curses b/usr/src/man/man3curses/form_page.3curses
new file mode 100644
index 0000000000..fd52cf0b5e
--- /dev/null
+++ b/usr/src/man/man3curses/form_page.3curses
@@ -0,0 +1,158 @@
+'\" te
+.\" Copyright 1989 AT&T
+.\" Portions Copyright (c) 1996, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH form_page 3CURSES "31 Dec 1996" "SunOS 5.11" "Curses Library Functions"
+.SH NAME
+form_page, set_form_page, set_current_field, current_field, field_index \- set
+forms current page and field
+.SH SYNOPSIS
+.LP
+.nf
+\fBcc\fR [ \fIflag\fR... ] \fIfile\fR... \fB-lform\fR \fB -lcurses \fR [ \fIlibrary\fR... ]
+#include <form.h>
+
+\fBint\fR \fBset_form_page\fR(\fBFORM *\fR\fIform\fR, \fBint\fR \fIpage\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBform_page\fR(\fBFORM *\fR\fIform\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBset_current_field\fR(\fBFORM *\fR\fIform\fR, \fBFIELD *\fR\fIfield\fR);
+.fi
+
+.LP
+.nf
+\fBFIELD *\fR\fBcurrent_field\fR(\fBFORM*\fR\fIform\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBfield_index\fR(\fBFIELD *\fR\fIfield\fR);
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBset_form_page()\fR sets the page number of \fIform\fR to \fBpage\fR.
+\fBform_page()\fR returns the current page number of \fIform\fR.
+.sp
+.LP
+\fBset_current_field()\fR sets the current field of \fIform\fR to \fIfield\fR.
+\fBcurrent_field()\fR returns a pointer to the current field of \fIform\fR.
+.sp
+.LP
+\fBfield_index()\fR returns the index in the field pointer array of
+\fIfield\fR.
+.SH RETURN VALUES
+.sp
+.LP
+\fBform_page()\fR returns \fB-1\fR on error.
+.sp
+.LP
+\fBcurrent_field()\fR returns \fINULL\fR on error.
+.sp
+.LP
+\fBfield_index()\fR returns \fB-1\fR on error.
+.sp
+.LP
+\fBset_form_page()\fR and \fBset_current_field()\fR return one of the
+following:
+.sp
+.ne 2
+.mk
+.na
+\fBE_OK\fR
+.ad
+.RS 20n
+.rt
+The function returned successfully.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBE_SYSTEM_ERROR\fR
+.ad
+.RS 20n
+.rt
+System error.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBE_BAD_ARGUMENT\fR
+.ad
+.RS 20n
+.rt
+An argument is incorrect.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBE_BAD_STATE\fR
+.ad
+.RS 20n
+.rt
+The routine was called from an initialization or termination function.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBE_INVALID_FIELD\fR
+.ad
+.RS 20n
+.rt
+The field contents are invalid.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBE_REQUEST_DENIED\fR
+.ad
+.RS 20n
+.rt
+The form driver request failed
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+MT-LevelUnsafe
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBcurses\fR(3CURSES), \fBforms\fR(3CURSES), \fBattributes\fR(5)
+.SH NOTES
+.sp
+.LP
+The header \fB<form.h>\fR automatically includes the headers \fB<eti.h>\fR and
+\fB<curses.h>\fR\&.
diff --git a/usr/src/man/man3curses/form_post.3curses b/usr/src/man/man3curses/form_post.3curses
new file mode 100644
index 0000000000..f48fe055e0
--- /dev/null
+++ b/usr/src/man/man3curses/form_post.3curses
@@ -0,0 +1,155 @@
+'\" te
+.\" Copyright 1989 AT&T
+.\" Portions Copyright (c) 1996, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH form_post 3CURSES "31 Dec 1996" "SunOS 5.11" "Curses Library Functions"
+.SH NAME
+form_post, post_form, unpost_form \- write or erase forms from associated
+subwindows
+.SH SYNOPSIS
+.LP
+.nf
+\fBcc\fR [ \fIflag\fR... ] \fIfile\fR... \fB-lform\fR \fB -lcurses \fR [ \fIlibrary\fR... ]
+#include <form.h>
+
+
+
+\fBint\fR \fBpost_form\fR(\fBFORM *\fR\fIform\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBunpost_form\fR(\fBFORM *\fR\fIform\fR);
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBpost_form()\fR writes \fIform\fR into its associated subwindow. The
+application programmer must use \fBcurses\fR library routines to display the
+form on the physical screen or call \fBupdate_panels()\fR if the \fBpanels\fR
+library is being used.
+.sp
+.LP
+\fBunpost_form()\fR erases \fIform\fR from its associated subwindow.
+.SH RETURN VALUES
+.sp
+.LP
+These routines return one of the following:
+.sp
+.ne 2
+.mk
+.na
+\fBE_OK\fR
+.ad
+.RS 20n
+.rt
+The function returned successfully.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBE_SYSTEM_ERROR\fR
+.ad
+.RS 20n
+.rt
+System error.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBE_BAD_ARGUMENT\fR
+.ad
+.RS 20n
+.rt
+An argument is incorrect.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBE_POSTED\fR
+.ad
+.RS 20n
+.rt
+The form is posted.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBE_NOT_POSTED\fR
+.ad
+.RS 20n
+.rt
+The form is not posted.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBE_NO_ROOM\fR
+.ad
+.RS 20n
+.rt
+The form does not fit in the subwindow.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBE_BAD_STATE\fR
+.ad
+.RS 20n
+.rt
+The routine was called from an initialization or termination function.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBE_NOT_CONNECTED \fR
+.ad
+.RS 20n
+.rt
+The field is not connected to a form.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+MT-LevelUnsafe
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBcurses\fR(3CURSES), \fBforms\fR(3CURSES), \fBpanel_update\fR(3CURSES),
+\fBpanels\fR(3CURSES), \fBattributes\fR(5)
+.SH NOTES
+.sp
+.LP
+The header \fB<form.h>\fR automatically includes the headers \fB<eti.h>\fR and
+\fB<curses.h>\fR\&.
diff --git a/usr/src/man/man3curses/form_userptr.3curses b/usr/src/man/man3curses/form_userptr.3curses
new file mode 100644
index 0000000000..5d33508ba4
--- /dev/null
+++ b/usr/src/man/man3curses/form_userptr.3curses
@@ -0,0 +1,82 @@
+'\" te
+.\" Copyright 1989 AT&T
+.\" Portions Copyright (c) 1996, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH form_userptr 3CURSES "31 Dec 1996" "SunOS 5.11" "Curses Library Functions"
+.SH NAME
+form_userptr, set_form_userptr \- associate application data with forms
+.SH SYNOPSIS
+.LP
+.nf
+\fBcc\fR [ \fIflag\fR... ] \fIfile\fR... \fB-lform\fR \fB -lcurses \fR [ \fIlibrary\fR... ]
+#include <form.h>
+
+\fBint\fR \fBset_form_userptr\fR(\fBFORM *\fR\fIform\fR, \fBchar *\fR\fIptr\fR);
+.fi
+
+.LP
+.nf
+\fBchar *\fR\fBform_userptr\fR(\fBFORM *\fR\fIform\fR);
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+Every form has an associated user pointer that can be used to store pertinent
+data. \fBset_form_userptr()\fR sets the user pointer of \fIform\fR.
+\fBform_userptr()\fR returns the user pointer of \fIform\fR.
+.SH RETURN VALUES
+.sp
+.LP
+\fBform_userptr()\fR returns \fINULL\fR on error. \fBset_form_userptr()\fR
+returns one of the following:
+.sp
+.ne 2
+.mk
+.na
+\fBE_OK\fR
+.ad
+.RS 19n
+.rt
+The function returned successfully.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBE_SYSTEM_ERROR \fR
+.ad
+.RS 19n
+.rt
+System error.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+MT-LevelUnsafe
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBcurses\fR(3CURSES), \fBforms\fR(3CURSES), \fBattributes\fR(5)
+.SH NOTES
+.sp
+.LP
+The header \fB<form.h>\fR automatically includes the headers \fB<eti.h>\fR and
+\fB<curses.h>\fR\&.
diff --git a/usr/src/man/man3curses/form_win.3curses b/usr/src/man/man3curses/form_win.3curses
new file mode 100644
index 0000000000..b9e9cb802b
--- /dev/null
+++ b/usr/src/man/man3curses/form_win.3curses
@@ -0,0 +1,135 @@
+'\" te
+.\" Copyright 1989 AT&T
+.\" Portions Copyright (c) 1996, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH form_win 3CURSES "31 Dec 1996" "SunOS 5.11" "Curses Library Functions"
+.SH NAME
+form_win, set_form_win, set_form_sub, form_sub, scale_form \- forms window and
+subwindow association routines
+.SH SYNOPSIS
+.LP
+.nf
+\fBcc\fR [ \fIflag\fR... ] \fIfile\fR... \fB-lform\fR \fB -lcurses \fR [ \fIlibrary\fR... ]
+#include <form.h>
+
+\fBint\fR \fBset_form_win\fR(\fBFORM *\fR\fIform\fR, \fBWINDOW *\fR\fIwin\fR);
+.fi
+
+.LP
+.nf
+\fBWINDOW *\fR\fBform_win\fR(\fBFORM *\fR\fIform\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBset_form_sub\fR(\fBFORM *\fR\fIform\fR, \fBWINDOW *\fR\fIsub\fR);
+.fi
+
+.LP
+.nf
+\fBWINDOW *\fR\fBform_sub\fR(\fBFORM *\fR\fIform\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBscale_form\fR(\fBFORM *\fR\fIform\fR, \fBint *\fR\fIrows\fR, \fBint *\fR\fIcols\fR);
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBset_form_win()\fR sets the window of \fIform\fR to \fIwin\fR.
+\fBform_win()\fR returns a pointer to the window associated with
+\fIform\fR.\fBset_form_sub()\fR sets the subwindow of \fIform\fR to \fIsub\fR.
+\fBform_sub()\fR returns a pointer to the subwindow associated with
+\fIform\fR.\fBscale_form()\fR returns the smallest window size necessary for
+the subwindow of \fIform\fR. \fIrows\fR and \fIcols\fR are pointers to the
+locations used to return the number of rows and columns for the form.
+.SH RETURN VALUES
+.sp
+.LP
+Routines that return pointers always return \fINULL\fR on error. Routines that
+return an integer return one of the following:
+.sp
+.ne 2
+.mk
+.na
+\fBE_OK\fR
+.ad
+.RS 19n
+.rt
+The function returnedsuccessfully.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBE_SYSTEM_ERROR\fR
+.ad
+.RS 19n
+.rt
+System error.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBE_BAD_ARGUMENT\fR
+.ad
+.RS 19n
+.rt
+An argument is incorrect.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBE_NOT_CONNECTED\fR
+.ad
+.RS 19n
+.rt
+The field is not connected to a form.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBE_POSTED\fR
+.ad
+.RS 19n
+.rt
+The form is posted.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+MT-LevelUnsafe
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBcurses\fR(3CURSES), \fBforms\fR(3CURSES), \fBattributes\fR(5)
+.SH NOTES
+.sp
+.LP
+The header \fB<form.h>\fR automatically includes the headers \fB<eti.h>\fR and
+\fB<curses.h>\fR\&.
diff --git a/usr/src/man/man3curses/forms.3curses b/usr/src/man/man3curses/forms.3curses
new file mode 100644
index 0000000000..2c2cdf6fbd
--- /dev/null
+++ b/usr/src/man/man3curses/forms.3curses
@@ -0,0 +1,1014 @@
+'\" te
+.\" Copyright 1989 AT&T
+.\" Portions Copyright (c) 1996, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH forms 3CURSES "31 Dec 1996" "SunOS 5.11" "Curses Library Functions"
+.SH NAME
+forms \- character based forms package
+.SH SYNOPSIS
+.LP
+.nf
+\fB#include <form.h>\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBform\fR library is built using the \fBcurses\fR library, and any program
+using \fBforms\fR routines must call one of the \fBcurses\fR initialization
+routines such as \fBinitscr\fR. A program using these routines must be compiled
+with \fB-lform\fR and \fB-lcurses\fR on the \fBcc\fR command line.
+.sp
+.LP
+The \fBforms\fR package gives the applications programmer a
+terminal-independent method of creating and customizing forms for
+user-interaction. The \fBforms\fR package includes: field routines, which are
+used to create and customize fields, link fields and assign field types;
+fieldtype routines, which are used to create new field types for validating
+fields; and form routines, which are used to create and customize forms, assign
+pre/post processing functions, and display and interact with forms.
+.SS "Current Default Values for Field Attributes"
+.sp
+.LP
+The \fBforms\fR package establishes initial current default values for field
+attributes. During field initialization, each field attribute is assigned the
+current default value for that attribute. An application can change or retrieve
+a current default attribute value by calling the appropriate set or retrieve
+routine with a \fINULL\fR field pointer. If an application changes a current
+default field attribute value, subsequent fields created using
+\fBnew_field()\fR will have the new default attribute value. (The attributes of
+previously created fields are not changed if a current default attribute value
+is changed.)
+.SS "Routine Name Index"
+.sp
+.LP
+The following table lists each \fBforms\fR routine and the name of the manual
+page on which it is described.
+.sp
+.ne 2
+.mk
+.na
+\fBforms Routine Name\fR
+.ad
+.RS 25n
+.rt
+\fBManual Page Name\fR
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBcurrent_field\fR
+.ad
+.RS 25n
+.rt
+form_page(3X)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBdata_ahead\fR
+.ad
+.RS 25n
+.rt
+form_data(3X)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBdata_behind\fR
+.ad
+.RS 25n
+.rt
+form_data(3X)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBdup_field\fR
+.ad
+.RS 25n
+.rt
+form_field_new(3X)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBdynamic_field_info\fR
+.ad
+.RS 25n
+.rt
+form_field_info(3X)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBfield_arg\fR
+.ad
+.RS 25n
+.rt
+form_field_validation(3X)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBfield_back\fR
+.ad
+.RS 25n
+.rt
+form_field_attributes(3X)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBfield_buffer\fR
+.ad
+.RS 25n
+.rt
+form_field_buffer(3X)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBfield_count\fR
+.ad
+.RS 25n
+.rt
+form_field(3X)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBfield_fore\fR
+.ad
+.RS 25n
+.rt
+form_field_attributes(3X)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBfield_index\fR
+.ad
+.RS 25n
+.rt
+form_page(3X)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBfield_info\fR
+.ad
+.RS 25n
+.rt
+ form_field_info(3X)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBfield_init\fR
+.ad
+.RS 25n
+.rt
+ form_hook(3X)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBfield_just\fR
+.ad
+.RS 25n
+.rt
+ form_field_just(3X)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBfield_opts\fR
+.ad
+.RS 25n
+.rt
+form_field_opts(3X)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBfield_opts_off\fR
+.ad
+.RS 25n
+.rt
+form_field_opts(3X)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBfield_opts_on\fR
+.ad
+.RS 25n
+.rt
+form_field_opts(3X)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBfield_pad\fR
+.ad
+.RS 25n
+.rt
+form_field_attributes(3X)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBfield_status\fR
+.ad
+.RS 25n
+.rt
+form_field_buffer(3X)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBfield_term\fR
+.ad
+.RS 25n
+.rt
+form_hook(3X)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBfield_type\fR
+.ad
+.RS 25n
+.rt
+form_field_validation(3X)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBfield_userptr\fR
+.ad
+.RS 25n
+.rt
+form_field_userptr(3X)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBform_driver\fR
+.ad
+.RS 25n
+.rt
+form_driver(3X)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBform_fields\fR
+.ad
+.RS 25n
+.rt
+form_field(3X)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBform_init\fR
+.ad
+.RS 25n
+.rt
+ form_hook(3X)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBform_opts\fR
+.ad
+.RS 25n
+.rt
+form_opts(3X)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBform_opts_off\fR
+.ad
+.RS 25n
+.rt
+form_opts(3X)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBform_opts_on\fR
+.ad
+.RS 25n
+.rt
+form_opts(3X)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBform_page\fR
+.ad
+.RS 25n
+.rt
+form_page(3X)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBform_sub\fR
+.ad
+.RS 25n
+.rt
+form_win(3X)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBform_term\fR
+.ad
+.RS 25n
+.rt
+form_hook(3X)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBform_userptr\fR
+.ad
+.RS 25n
+.rt
+form_userptr(3X)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBform_win\fR
+.ad
+.RS 25n
+.rt
+ form_win(3X)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBfree_field \fR
+.ad
+.RS 25n
+.rt
+form_field_new(3X)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBfree_fieldtype\fR
+.ad
+.RS 25n
+.rt
+form_fieldtype(3X)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBfree_form\fR
+.ad
+.RS 25n
+.rt
+form_new(3X)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBlink_field\fR
+.ad
+.RS 25n
+.rt
+ form_field_new(3X)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBlink_fieldtype\fR
+.ad
+.RS 25n
+.rt
+form_fieldtype(3X)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBmove_field\fR
+.ad
+.RS 25n
+.rt
+form_field(3X)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBnew_field\fR
+.ad
+.RS 25n
+.rt
+ form_field_new(3X)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBnew_fieldtype\fR
+.ad
+.RS 25n
+.rt
+ form_fieldtype(3X)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBnew_form\fR
+.ad
+.RS 25n
+.rt
+ form_new(3X)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBnew_page\fR
+.ad
+.RS 25n
+.rt
+form_new_page(3X)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBpos_form_cursor\fR
+.ad
+.RS 25n
+.rt
+form_cursor(3X)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBpost_form\fR
+.ad
+.RS 25n
+.rt
+form_post(3X)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBscale_form \fR
+.ad
+.RS 25n
+.rt
+form_win(3X)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBset_current_field\fR
+.ad
+.RS 25n
+.rt
+form_page(3X)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBset_field_back\fR
+.ad
+.RS 25n
+.rt
+form_field_attributes(3X)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBset_field_buffer\fR
+.ad
+.RS 25n
+.rt
+ form_field_buffer(3X)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBset_field_fore\fR
+.ad
+.RS 25n
+.rt
+form_field_attributes(3X)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBset_field_init\fR
+.ad
+.RS 25n
+.rt
+form_hook(3X)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB set_field_just\fR
+.ad
+.RS 25n
+.rt
+form_field_just(3X)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBset_field_opts\fR
+.ad
+.RS 25n
+.rt
+form_field_opts(3X)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBset_field_pad\fR
+.ad
+.RS 25n
+.rt
+form_field_attributes(3X)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBset_field_status\fR
+.ad
+.RS 25n
+.rt
+form_field_buffer(3X)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBset_field_term\fR
+.ad
+.RS 25n
+.rt
+form_hook(3X)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBset_field_type\fR
+.ad
+.RS 25n
+.rt
+form_field_validation(3X)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBset_field_userptr\fR
+.ad
+.RS 25n
+.rt
+form_field_userptr(3X)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBset_fieldtype_arg\fR
+.ad
+.RS 25n
+.rt
+form_fieldtype(3X)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBset_fieldtype_choice \fR
+.ad
+.RS 25n
+.rt
+form_fieldtype(3X)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBset_form_fields\fR
+.ad
+.RS 25n
+.rt
+form_field(3X)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBset_form_init\fR
+.ad
+.RS 25n
+.rt
+form_hook(3X)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBset_form_opts\fR
+.ad
+.RS 25n
+.rt
+form_opts(3X)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBset_form_page\fR
+.ad
+.RS 25n
+.rt
+form_page(3X)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBset_form_sub\fR
+.ad
+.RS 25n
+.rt
+form_win(3X)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBset_form_term\fR
+.ad
+.RS 25n
+.rt
+form_hook(3X)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBset_form_userptr\fR
+.ad
+.RS 25n
+.rt
+form_userptr(3X)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBset_form_win\fR
+.ad
+.RS 25n
+.rt
+form_win(3X)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBset_max_field\fR
+.ad
+.RS 25n
+.rt
+form_field_buffer(3X)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBset_new_page\fR
+.ad
+.RS 25n
+.rt
+form_new_page(3X)
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBunpost_form\fR
+.ad
+.RS 25n
+.rt
+form_post(3X)
+.RE
+
+.SH RETURN VALUES
+.sp
+.LP
+Routines that return a pointer always return \fINULL\fR on error. Routines that
+return an integer return one of the following:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBE_OK\fR\fR
+.ad
+.RS 21n
+.rt
+The function returned successfully.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBE_CONNECTED\fR\fR
+.ad
+.RS 21n
+.rt
+The field is already connected to a form.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBE_SYSTEM_ERROR\fR\fR
+.ad
+.RS 21n
+.rt
+System error.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBE_BAD_ARGUMENT\fR\fR
+.ad
+.RS 21n
+.rt
+An argument is incorrect.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBE_CURRENT\fR\fR
+.ad
+.RS 21n
+.rt
+The field is the current field.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBE_POSTED\fR\fR
+.ad
+.RS 21n
+.rt
+The form is posted.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBE_NOT_POSTED\fR\fR
+.ad
+.RS 21n
+.rt
+The form is not posted.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBE_INVALID_FIELD\fR\fR
+.ad
+.RS 21n
+.rt
+The field contents are invalid.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBE_NOT_CONNECTED\fR\fR
+.ad
+.RS 21n
+.rt
+The field is not connected to a form.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBE_NO_ROOM\fR\fR
+.ad
+.RS 21n
+.rt
+The form does not fit in the subwindow.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBE_BAD_STATE\fR\fR
+.ad
+.RS 21n
+.rt
+The routine was called from an initialization or termination function.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBE_REQUEST_DENIED\fR\fR
+.ad
+.RS 21n
+.rt
+The form driver request failed.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBE_UNKNOWN_COMMAND\fR\fR
+.ad
+.RS 21n
+.rt
+An unknown request was passed to the form driver.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+MT-LevelUnsafe
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBcurses\fR(3CURSES), \fBattributes\fR(5)
+.SH NOTES
+.sp
+.LP
+The header \fB<form.h>\fR automatically includes the headers \fB<eti.h>\fR and
+\fB<curses.h>\fR\&.
diff --git a/usr/src/man/man3curses/menu_attributes.3curses b/usr/src/man/man3curses/menu_attributes.3curses
new file mode 100644
index 0000000000..e344729c61
--- /dev/null
+++ b/usr/src/man/man3curses/menu_attributes.3curses
@@ -0,0 +1,143 @@
+'\" te
+.\" Copyright 1989 AT&T
+.\" Portions Copyright (c) 1996, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH menu_attributes 3CURSES "31 Dec 1996" "SunOS 5.11" "Curses Library Functions"
+.SH NAME
+menu_attributes, set_menu_fore, menu_fore, set_menu_back, menu_back,
+set_menu_grey, menu_grey, set_menu_pad, menu_pad \- control menus display
+attributes
+.SH SYNOPSIS
+.LP
+.nf
+\fBcc\fR [ \fIflag\fR... ] \fIfile\fR... \fB-lmenu\fR \fB -lcurses \fR [ \fIlibrary\fR... ]
+#include <menu.h>
+
+\fBint\fR \fBset_menu_fore\fR(\fBMENU *\fR\fImenu\fR, \fBchtype\fR \fIattr\fR);
+.fi
+
+.LP
+.nf
+\fBchtype\fR \fBmenu_fore\fR(\fBMENU *\fR\fImenu\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBset_menu_back\fR(\fBMENU *\fR\fImenu\fR, \fBchtype\fR \fIattr\fR);
+.fi
+
+.LP
+.nf
+\fBchtype\fR \fBmenu_back\fR(\fBMENU *\fR\fImenu\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBset_menu_grey\fR(\fBMENU*\fR\fImenu\fR, \fBchtype\fR \fIattr\fR);
+.fi
+
+.LP
+.nf
+\fBchtype\fR \fBmenu_grey\fR(\fBMENU *\fR\fImenu\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBset_menu_pad\fR(\fBMENU *\fR\fImenu\fR, \fBint\fR \fIpad\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBmenu_pad\fR(\fBMENU *\fR\fImenu\fR);
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBset_menu_fore()\fR sets the foreground attribute of \fImenu\fR \(em the
+display attribute for the current item (if selectable) on single-valued menus
+and for selected items on multi-valued menus. This display attribute is a
+\fBcurses\fR library visual attribute. \fBmenu_fore()\fR returns the foreground
+attribute of \fImenu\fR.
+.sp
+.LP
+\fBset_menu_back()\fR sets the background attribute of \fBmenu\fR \(em the
+display attribute for unselected, yet selectable, items. This display attribute
+is a \fBcurses\fR library visual attribute.
+.sp
+.LP
+\fBset_menu_grey()\fR sets the grey attribute of \fImenu\fR \(em the display
+attribute for nonselectable items in multi-valued menus. This display attribute
+is a \fBcurses\fR library visual attribute. \fBmenu_grey()\fR returns the grey
+attribute of \fImenu\fR.
+.sp
+.LP
+The pad character is the character that fills the space between the name and
+description of an item. \fBset_menu_pad()\fR sets the pad character for
+\fImenu\fR to \fIpad\fR. \fBmenu_pad()\fR returns the pad character of
+\fImenu\fR.
+.SH RETURN VALUES
+.sp
+.LP
+These routines return one of the following:
+.sp
+.ne 2
+.mk
+.na
+\fBE_OK\fR
+.ad
+.RS 19n
+.rt
+The routine returned successfully.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBE_SYSTEM_ERROR\fR
+.ad
+.RS 19n
+.rt
+System error.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBE_BAD_ARGUMENT \fR
+.ad
+.RS 19n
+.rt
+An incorrect argument was passed to the routine.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+MT-LevelUnsafe
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBcurses\fR(3CURSES), \fBmenus\fR(3CURSES), \fBattributes\fR(5)
+.SH NOTES
+.sp
+.LP
+The header \fB<menu.h>\fR automatically includes the headers \fB<eti.h>\fR and
+\fB<curses.h>\fR\&.
diff --git a/usr/src/man/man3curses/menu_cursor.3curses b/usr/src/man/man3curses/menu_cursor.3curses
new file mode 100644
index 0000000000..b0df30491e
--- /dev/null
+++ b/usr/src/man/man3curses/menu_cursor.3curses
@@ -0,0 +1,101 @@
+'\" te
+.\" Copyright 1989 AT&T
+.\" Portions Copyright (c) 1996, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH menu_cursor 3CURSES "31 Dec 1996" "SunOS 5.11" "Curses Library Functions"
+.SH NAME
+menu_cursor, pos_menu_cursor \- correctly position a menus cursor
+.SH SYNOPSIS
+.LP
+.nf
+\fBcc\fR [ \fIflag\fR... ] \fIfile\fR... \fB-lmenu\fR \fB -lcurses \fR [ \fIlibrary\fR... ]
+#include <menu.h>
+
+
+
+\fBint\fR \fBpos_menu_cursor\fR(\fBMENU *\fR\fImenu\fR);
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBpos_menu_cursor()\fR moves the cursor in the window of \fImenu\fR to the
+correct position to resume menu processing. This is needed after the
+application calls a \fBcurses\fR library I/O routine.
+.SH RETURN VALUES
+.sp
+.LP
+This routine returns one of the following:
+.sp
+.ne 2
+.mk
+.na
+\fBE_OK \fR
+.ad
+.RS 18n
+.rt
+The routine returned successfully.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBE_SYSTEM_ERROR\fR
+.ad
+.RS 18n
+.rt
+System error.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBE_BAD_ARGUMENT\fR
+.ad
+.RS 18n
+.rt
+An incorrect argument was passed to the routine.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBE_NOT_POSTED\fR
+.ad
+.RS 18n
+.rt
+The menu has not been posted.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+MT-LevelUnsafe
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBcurses\fR(3CURSES), \fBmenus\fR(3CURSES), \fBpanel_update\fR(3CURSES),
+\fBpanels\fR(3CURSES), \fBattributes\fR(5)
+.SH NOTES
+.sp
+.LP
+The header \fB<menu.h>\fR automatically includes the headers \fB<eti.h>\fR and
+\fB<curses.h>\fR\&.
diff --git a/usr/src/man/man3curses/menu_driver.3curses b/usr/src/man/man3curses/menu_driver.3curses
new file mode 100644
index 0000000000..5bffa2451e
--- /dev/null
+++ b/usr/src/man/man3curses/menu_driver.3curses
@@ -0,0 +1,352 @@
+'\" te
+.\" Copyright 1989 AT&T
+.\" Portions Copyright (c) 1996, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH menu_driver 3CURSES "31 Dec 1996" "SunOS 5.11" "Curses Library Functions"
+.SH NAME
+menu_driver \- command processor for the menus subsystem
+.SH SYNOPSIS
+.LP
+.nf
+\fBcc\fR [ \fIflag\fR... ] \fIfile\fR... \fB-lmenu\fR \fB -lcurses \fR [ \fIlibrary\fR... ]
+#include <menu.h>
+
+\fBint\fR \fBmenu_driver\fR(\fBMENU *\fR\fImenu\fR, \fBint\fR \fIc\fR);
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBmenu_driver()\fR is the workhorse of the \fBmenus\fR subsystem. It checks to
+determine whether the character \fIc\fR is a menu request or data. If \fIc\fR
+is a request, the menu driver executes the request and reports the result. If
+\fIc\fR is data (a printable \fBASCII\fR character), it enters the data into
+the pattern buffer and tries to find a matching item. If no match is found, the
+menu driver deletes the character from the pattern buffer and returns
+\fBE_NO_MATCH\fR. If the character is not recognized, the menu driver assumes
+it is an application-defined command and returns \fBE_UNKNOWN_COMMAND\fR.
+.sp
+.LP
+Menu driver requests:
+.sp
+.ne 2
+.mk
+.na
+\fBREQ_LEFT_ITEM\fR
+.ad
+.RS 21n
+.rt
+Move left to an item.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBREQ_RIGHT_ITEM \fR
+.ad
+.RS 21n
+.rt
+Move right to an item
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBREQ_UP_ITEM\fR
+.ad
+.RS 21n
+.rt
+Move up to an item.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBREQ_DOWN_ITEM\fR
+.ad
+.RS 21n
+.rt
+Move down to an item.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBREQ_SCR_ULINE\fR
+.ad
+.RS 21n
+.rt
+Scroll up a line.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBREQ_SCR_DLINE\fR
+.ad
+.RS 21n
+.rt
+Scroll down a line.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBREQ_SCR_DPAGE\fR
+.ad
+.RS 21n
+.rt
+Scroll up a page.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBREQ_SCR_UPAGE\fR
+.ad
+.RS 21n
+.rt
+Scroll down a page.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBREQ_FIRST_ITEM\fR
+.ad
+.RS 21n
+.rt
+Move to the first item.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBREQ_LAST_ITEM\fR
+.ad
+.RS 21n
+.rt
+Move to the last item.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBREQ_NEXT_ITEM\fR
+.ad
+.RS 21n
+.rt
+Move to the next item.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBREQ_PREV_ITEM\fR
+.ad
+.RS 21n
+.rt
+Move to the previous item.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBREQ_TOGGLE_ITEM\fR
+.ad
+.RS 21n
+.rt
+Select/de-select an item.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBREQ_CLEAR_PATTERN\fR
+.ad
+.RS 21n
+.rt
+Clear the menu pattern buffer.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBREQ_BACK_PATTERN\fR
+.ad
+.RS 21n
+.rt
+Delete the previous character from pattern buffer.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBREQ_NEXT_MATCH\fR
+.ad
+.RS 21n
+.rt
+Move the next matching item.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBREQ_PREV_MATCH\fR
+.ad
+.RS 21n
+.rt
+Move to the previous matching item.
+.RE
+
+.SH RETURN VALUES
+.sp
+.LP
+\fBmenu_driver()\fR returns one of the following:
+.sp
+.ne 2
+.mk
+.na
+\fBE_OK\fR
+.ad
+.RS 21n
+.rt
+The routine returned successfully.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBE_SYSTEM_ERROR\fR
+.ad
+.RS 21n
+.rt
+System error.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBE_BAD_ARGUMENT\fR
+.ad
+.RS 21n
+.rt
+An incorrect argument was passed to the routine.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBE_BAD_STATE\fR
+.ad
+.RS 21n
+.rt
+The routine was called from an initialization or termination function.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBE_NOT_POSTED\fR
+.ad
+.RS 21n
+.rt
+The menu has not been posted.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBE_UNKNOWN_COMMAND\fR
+.ad
+.RS 21n
+.rt
+An unknown request was passed to the menu driver.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBE_NO_MATCH\fR
+.ad
+.RS 21n
+.rt
+The character failed to match.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBE_NOT_SELECTABLE\fR
+.ad
+.RS 21n
+.rt
+The item cannot be selected.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBE_REQUEST_DENIED\fR
+.ad
+.RS 21n
+.rt
+The menu driver could not process the request.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+MT-LevelUnsafe
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBcurses\fR(3CURSES), \fBmenus\fR(3CURSES), \fBattributes\fR(5)
+.SH NOTES
+.sp
+.LP
+Application-defined commands should be defined relative to (greater than)
+\fBMAX_COMMAND\fR, the maximum value of a request listed above.
+.sp
+.LP
+The header \fB<menu.h>\fR automatically includes the headers \fB<eti.h>\fR and
+\fB<curses.h>\fR\&.
diff --git a/usr/src/man/man3curses/menu_format.3curses b/usr/src/man/man3curses/menu_format.3curses
new file mode 100644
index 0000000000..f3e3d9ac36
--- /dev/null
+++ b/usr/src/man/man3curses/menu_format.3curses
@@ -0,0 +1,109 @@
+'\" te
+.\" Copyright 1989 AT&T
+.\" Portions Copyright (c) 1996, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH menu_format 3CURSES "31 Dec 1996" "SunOS 5.11" "Curses Library Functions"
+.SH NAME
+menu_format, set_menu_format \- set and get maximum numbers of rows and columns
+in menus
+.SH SYNOPSIS
+.LP
+.nf
+\fBcc\fR [ \fIflag\fR... ] \fIfile\fR... \fB-lmenu\fR \fB -lcurses \fR [ \fIlibrary\fR... ]
+#include <menu.h>
+
+\fBint\fR \fBset_menu_format\fR(\fBMENU *\fR\fImenu\fR, \fBint\fR \fIrows\fR, \fBint\fR \fIcols\fR);
+.fi
+
+.LP
+.nf
+\fBvoid\fR \fBmenu_format\fR(\fBMENU *\fR\fImenu\fR, \fBint *\fR\fIrows\fR, \fBint *\fR\fIcols\fR);
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBset_menu_format()\fR sets the maximum number of rows and columns of items
+that may be displayed at one time on a menu. If the menu contains more items
+than can be displayed at once, the menu will be scrollable.
+.sp
+.LP
+\fBmenu_format()\fR returns the maximum number of rows and columns that may be
+displayed at one time on \fImenu\fR. \fIrows\fR and \fIcols\fR are pointers to
+the variables used to return these values.
+.SH RETURN VALUES
+.sp
+.LP
+\fBset_menu_format()\fR returns one of the following:
+.sp
+.ne 2
+.mk
+.na
+\fBE_OK\fR
+.ad
+.RS 18n
+.rt
+The routine returned successfully.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBE_SYSTEM_ERROR\fR
+.ad
+.RS 18n
+.rt
+System error.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBE_BAD_ARGUMENT\fR
+.ad
+.RS 18n
+.rt
+An incorrect argument was passed to the routine.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBE_POSTED\fR
+.ad
+.RS 18n
+.rt
+The menu is already posted.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+MT-LevelUnsafe
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBcurses\fR(3CURSES), \fBmenus\fR(3CURSES), \fBattributes\fR(5)
+.SH NOTES
+.sp
+.LP
+The header \fB<menu.h>\fR automatically includes the headers \fB<eti.h>\fR and
+\fB<curses.h>\fR\&.
diff --git a/usr/src/man/man3curses/menu_hook.3curses b/usr/src/man/man3curses/menu_hook.3curses
new file mode 100644
index 0000000000..86c3e0001a
--- /dev/null
+++ b/usr/src/man/man3curses/menu_hook.3curses
@@ -0,0 +1,130 @@
+'\" te
+.\" Copyright 1989 AT&T
+.\" Portions Copyright (c) 1996, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH menu_hook 3CURSES "31 Dec 1996" "SunOS 5.11" "Curses Library Functions"
+.SH NAME
+menu_hook, set_item_init, item_init, set_item_term, item_term, set_menu_init,
+menu_init, set_menu_term, menu_term \- assign application-specific routines for
+automatic invocation by menus
+.SH SYNOPSIS
+.LP
+.nf
+\fBcc\fR [ \fIflag\fR... ] \fIfile\fR... \fB-lmenu\fR \fB -lcurses \fR [ \fIlibrary\fR... ]
+#include <menu.h>
+
+\fBint\fR \fBset_item_init\fR(\fBMENU *\fR\fImenu\fR, \fBvoid (*func)(MENU *)\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBset_item_term\fR(\fBMENU *\fR\fImenu\fR, \fBvoid (*func)(MENU *)\fR);
+.fi
+
+.LP
+.nf
+\fBvoid\fR \fBitem_term\fR(\fBMENU *\fR\fImenu\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBset_menu_init\fR(\fBMENU *\fR\fImenu\fR, \fBvoid (*func)(MENU *)\fR);
+.fi
+
+.LP
+.nf
+\fBvoid\fR \fBmenu_init\fR(\fBMENU *\fR\fImenu\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBset_menu_term\fR(\fBMENU *\fR\fImenu\fR, \fBvoid (*func)(MENU *)\fR);
+.fi
+
+.LP
+.nf
+\fBvoid\fR \fBmenu_term\fR(\fBMENU *\fR\fImenu\fR);
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBset_item_init()\fR assigns the application-defined function to be called
+when the \fImenu\fR is posted and just after the current item changes.
+\fBitem_init()\fR returns a pointer to the item initialization routine, if any,
+called when the \fImenu\fR is posted and just after the current item changes.
+.sp
+.LP
+\fBset_item_term()\fR assigns an application-defined function to be called when
+the \fImenu\fR is unposted and just before the current item changes.
+\fBitem_term()\fR returns a pointer to the termination function, if any, called
+when the \fImenu\fR is unposted and just before the current item changes.
+.sp
+.LP
+\fBset_menu_init()\fR assigns an application-defined function to be called when
+the \fImenu\fR is posted and just after the top row changes on a posted menu.
+\fBmenu_init()\fR returns a pointer to the menu initialization routine, if any,
+called when the \fImenu\fR is posted and just after the top row changes on a
+posted menu.
+.sp
+.LP
+\fBset_menu_term()\fR assigns an application-defined function to be called when
+the \fImenu\fR is unposted and just before the top row changes on a posted
+menu. \fBmenu_term()\fR returns a pointer to the menu termination routine, if
+any, called when the \fImenu\fR is unposted and just before the top row changes
+on a posted menu.
+.SH RETURN VALUES
+.sp
+.LP
+Routines that return pointers always return \fBNULL\fR on error. Routines that
+return an integer return one of the following:
+.sp
+.ne 2
+.mk
+.na
+\fBE_OK\fR
+.ad
+.RS 18n
+.rt
+The routine returned successfully.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBE_SYSTEM_ERROR\fR
+.ad
+.RS 18n
+.rt
+System error.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+MT-LevelUnsafe
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBcurses\fR(3CURSES), \fBmenus\fR(3CURSES), \fBattributes\fR(5)
+.SH NOTES
+.sp
+.LP
+The header \fB<menu.h>\fR automatically includes the headers \fB<eti.h>\fR and
+\fB<curses.h>\fR\&.
diff --git a/usr/src/man/man3curses/menu_item_current.3curses b/usr/src/man/man3curses/menu_item_current.3curses
new file mode 100644
index 0000000000..ade2ecffe4
--- /dev/null
+++ b/usr/src/man/man3curses/menu_item_current.3curses
@@ -0,0 +1,147 @@
+'\" te
+.\" Copyright 1989 AT&T
+.\" Portions Copyright (c) 1996, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH menu_item_current 3CURSES "31 Dec 1996" "SunOS 5.11" "Curses Library Functions"
+.SH NAME
+menu_item_current, set_current_item, current_item, set_top_row, top_row,
+item_index \- set and get current menus items
+.SH SYNOPSIS
+.LP
+.nf
+\fBcc\fR [ \fIflag\fR... ] \fIfile\fR... \fB-lmenu\fR \fB -lcurses \fR [ \fIlibrary\fR... ]
+#include <menu.h>
+
+\fBint\fR \fBset_current_item\fR(\fBMENU *\fR\fImenu\fR, \fBITEM *\fR\fIitem\fR);
+.fi
+
+.LP
+.nf
+\fBITEM *\fR\fBcurrent_item\fR(\fBMENU *\fR\fImenu\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBset_top_row\fR(\fBMENU *\fR\fImenu\fR, \fBint\fR \fIrow\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBtop_row\fR(\fBMENU *\fR\fImenu\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBitem_index\fR(\fBITEM *\fR\fIitem\fR);
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The current item of a menu is the item where the cursor is currently
+positioned. \fBset_current_item()\fR sets the current item of \fImenu\fR to
+\fIitem\fR. \fBcurrent_item()\fR returns a pointer to the the current item in
+\fImenu\fR.
+.sp
+.LP
+\fBset_top_row()\fR sets the top row of \fImenu\fR to \fIrow\fR. The left-most
+item on the new top row becomes the current item. \fBtop_row()\fR returns the
+number of the menu row currently displayed at the top of \fImenu\fR.
+.sp
+.LP
+\fBitem_index()\fR returns the index to the \fIitem\fR in the item pointer
+array. The value of this index ranges from \fB0\fR through \fIN\fR\fB-1\fR,
+where \fIN\fR is the total number of items connected to the menu.
+.SH RETURN VALUES
+.sp
+.LP
+\fBcurrent_item()\fR returns \fBNULL\fR on error.
+.sp
+.LP
+\fBtop_row()\fR and \fBindex_item()\fR return \fB\(mi1\fR on error.
+.sp
+.LP
+\fBset_current_item()\fR and \fBset_top_row()\fR return one of the following:
+.sp
+.ne 2
+.mk
+.na
+\fBE_OK\fR
+.ad
+.RS 19n
+.rt
+The routine returned successfully.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBE_SYSTEM_ERROR\fR
+.ad
+.RS 19n
+.rt
+System error.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBE_BAD_ARGUMENT\fR
+.ad
+.RS 19n
+.rt
+An incorrect argument was passed to the routine.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBE_BAD_STATE\fR
+.ad
+.RS 19n
+.rt
+The routine was called from an initialization or termination function.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBE_NOT_CONNECTED\fR
+.ad
+.RS 19n
+.rt
+No items are connected to the menu.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+MT-LevelUnsafe
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBcurses\fR(3CURSES), \fBmenus\fR(3CURSES), \fBattributes\fR(5)
+.SH NOTES
+.sp
+.LP
+The header \fB<menu.h>\fR automatically includes the headers \fB<eti.h>\fR and
+\fB<curses.h>\fR\&.
diff --git a/usr/src/man/man3curses/menu_item_name.3curses b/usr/src/man/man3curses/menu_item_name.3curses
new file mode 100644
index 0000000000..5604614b1a
--- /dev/null
+++ b/usr/src/man/man3curses/menu_item_name.3curses
@@ -0,0 +1,64 @@
+'\" te
+.\" Copyright 1989 AT&T
+.\" Portions Copyright (c) 1996, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH menu_item_name 3CURSES "31 Dec 1996" "SunOS 5.11" "Curses Library Functions"
+.SH NAME
+menu_item_name, item_name, item_description \- get menus item name and
+description
+.SH SYNOPSIS
+.LP
+.nf
+\fBcc\fR [ \fIflag\fR ... ] \fIfile\fR ... \fB-lmenu\fR \fB -lcurses \fR [ \fIlibrary\fR .. ]
+#include <menu.h>
+
+
+
+\fBchar *\fR\fBitem_name\fR(\fBITEM *\fR\fIitem\fR);
+.fi
+
+.LP
+.nf
+\fBchar *\fR\fBitem_description\fR(\fBITEM *\fR\fIitem\fR);
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBitem_name()\fR returns a pointer to the name of \fIitem\fR.
+.sp
+.LP
+\fBitem_description()\fR returns a pointer to the description of \fIitem\fR.
+.SH RETURN VALUES
+.sp
+.LP
+These routines return \fBNULL\fR on error.
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+MT-LevelUnsafe
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBcurses\fR(3CURSES), \fBmenus\fR(3CURSES), \fBmenu_new\fR(3CURSES),
+\fBattributes\fR(5)
+.SH NOTES
+.sp
+.LP
+The header \fB<menu.h>\fR automatically includes the headers \fB<eti.h>\fR and
+\fB<curses.h>\fR\&.
diff --git a/usr/src/man/man3curses/menu_item_new.3curses b/usr/src/man/man3curses/menu_item_new.3curses
new file mode 100644
index 0000000000..0c29841104
--- /dev/null
+++ b/usr/src/man/man3curses/menu_item_new.3curses
@@ -0,0 +1,109 @@
+'\" te
+.\" Copyright 1989 AT&T
+.\" Portions Copyright (c) 1996, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH menu_item_new 3CURSES "31 Dec 1996" "SunOS 5.11" "Curses Library Functions"
+.SH NAME
+menu_item_new, new_item, free_item \- create and destroy menus items
+.SH SYNOPSIS
+.LP
+.nf
+\fBcc\fR [ \fIflag\fR... ] \fIfile\fR... \fB-lmenu\fR \fB -lcurses \fR [ \fIlibrary\fR... ]
+#include <menu.h>
+
+\fBITEM *\fR\fBnew_item\fR(\fBchar *\fR\fIname\fR, \fBchar *\fR\fIdesc\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBfree_item\fR(\fBITEM *\fR\fIitem\fR);
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBnew_item()\fR creates a new item from \fIname\fR and \fIdescription\fR, and
+returns a pointer to the new item.
+.sp
+.LP
+\fBfree_item()\fR frees the storage allocated for \fIitem\fR. Once an item is
+freed, the user can no longer connect it to a menu.
+.SH RETURN VALUES
+.sp
+.LP
+\fBnew_item()\fR returns \fBNULL\fR on error.
+.sp
+.LP
+\fBfree_item()\fR returns one of the following:
+.sp
+.ne 2
+.mk
+.na
+\fBE_OK\fR
+.ad
+.RS 19n
+.rt
+The routine returned successfully.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBE_SYSTEM_ERROR\fR
+.ad
+.RS 19n
+.rt
+System error.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBE_BAD_ARGUMENT \fR
+.ad
+.RS 19n
+.rt
+An incorrect argument was passed to the routine.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBE_CONNECTED\fR
+.ad
+.RS 19n
+.rt
+One or more items are already connected to another menu.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+MT-LevelUnsafe
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBcurses\fR(3CURSES), \fBmenus\fR(3CURSES), \fBattributes\fR(5)
+.SH NOTES
+.sp
+.LP
+The header \fB<menu.h>\fR automatically includes the headers \fB<eti.h>\fR and
+\fB<curses.h>\fR\&.
diff --git a/usr/src/man/man3curses/menu_item_opts.3curses b/usr/src/man/man3curses/menu_item_opts.3curses
new file mode 100644
index 0000000000..f4e8db958f
--- /dev/null
+++ b/usr/src/man/man3curses/menu_item_opts.3curses
@@ -0,0 +1,115 @@
+'\" te
+.\" Copyright 1989 AT&T
+.\" Portions Copyright (c) 1996, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH menu_item_opts 3CURSES "31 Dec 1996" "SunOS 5.11" "Curses Library Functions"
+.SH NAME
+menu_item_opts, set_item_opts, item_opts_on, item_opts_off, item_opts \- menus
+item option routines
+.SH SYNOPSIS
+.LP
+.nf
+\fBcc\fR [ \fIflag\fR... ] \fIfile\fR... \fB-lmenu\fR \fB -lcurses \fR [ \fIlibrary\fR... ]
+#include <menu.h>
+
+
+
+\fBint\fR \fBset_item_opts\fR(\fBITEM *\fR\fIitem\fR, \fBOPTIONS\fR \fIopts\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBitem_opts_on\fR(\fBITEM *\fR\fIitem\fR, \fBOPTIONS\fR \fIopts\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBitem_opts_off\fR(\fBITEM *\fR\fIitem\fR, \fBOPTIONS\fR \fIopts\fR);
+.fi
+
+.LP
+.nf
+\fBOPTIONS\fR \fBitem_opts\fR(\fBITEM *\fR\fIitem\fR);
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBset_item_opts()\fR turns on the named options for \fIitem\fR and turns off
+all other options. Options are boolean values that can be OR-ed together.
+.sp
+.LP
+\fBitem_opts_on()\fR turns on the named options for \fIitem\fR; no other option
+is changed.
+.sp
+.LP
+\fBitem_opts_off()\fR turns off the named options for \fIitem\fR; no other
+option is changed.
+.sp
+.LP
+\fBitem_opts()\fR returns the current options of \fIitem\fR.
+.sp
+.ne 2
+.mk
+.na
+\fB\fBO_SELECTABLE\fR\fR
+.ad
+.RS 16n
+.rt
+The item can be selected during menu processing.
+.RE
+
+.SH RETURN VALUES
+.sp
+.LP
+Except for \fBitem_opts()\fR, these routines return one of the following:
+.sp
+.ne 2
+.mk
+.na
+\fBE_OK\fR
+.ad
+.RS 18n
+.rt
+The routine returned successfully.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBE_SYSTEM_ERROR\fR
+.ad
+.RS 18n
+.rt
+System error.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+MT-LevelUnsafe
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBcurses\fR(3CURSES), \fBmenus\fR(3CURSES), \fBattributes\fR(5)
+.SH NOTES
+.sp
+.LP
+The header \fB<menu.h>\fR automatically includes the headers \fB<eti.h>\fR and
+\fB<curses.h>\fR\&.
diff --git a/usr/src/man/man3curses/menu_item_userptr.3curses b/usr/src/man/man3curses/menu_item_userptr.3curses
new file mode 100644
index 0000000000..977816b346
--- /dev/null
+++ b/usr/src/man/man3curses/menu_item_userptr.3curses
@@ -0,0 +1,83 @@
+'\" te
+.\" Copyright 1989 AT&T
+.\" Portions Copyright (c) 1996, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH menu_item_userptr 3CURSES "31 Dec 1996" "SunOS 5.11" "Curses Library Functions"
+.SH NAME
+menu_item_userptr, set_item_userptr, item_userptr \- associate application data
+with menus items
+.SH SYNOPSIS
+.LP
+.nf
+\fBcc\fR [ \fIflag\fR... ] \fIfile\fR... \fB-lmenu\fR \fB -lcurses \fR [ \fIlibrary\fR... ]
+#include <menu.h>
+
+\fBint\fR \fBset_item_userptr\fR(\fBITEM *\fR\fIitem\fR, \fBchar *\fR\fIuserptr\fR);
+.fi
+
+.LP
+.nf
+\fBchar *\fR\fBitem_userptr\fR(\fBITEM *\fR\fIitem\fR);
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+Every item has an associated user pointer that can be used to store relevant
+information. \fBset_item_userptr()\fR sets the user pointer of \fIitem\fR.
+\fBitem_userptr()\fR returns the user pointer of \fIitem\fR.
+.SH RETURN VALUES
+.sp
+.LP
+\fBitem_userptr()\fR returns \fBNULL\fR on error. \fBset_item_userptr()\fR
+returns one of the following:
+.sp
+.ne 2
+.mk
+.na
+\fBE_OK\fR
+.ad
+.RS 18n
+.rt
+The routine returned successfully.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBE_SYSTEM_ERROR\fR
+.ad
+.RS 18n
+.rt
+System error.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+MT-LevelUnsafe
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBcurses\fR(3CURSES), \fBmenus\fR(3CURSES), \fBattributes\fR(5)
+.SH NOTES
+.sp
+.LP
+The header \fB<menu.h>\fR automatically includes the headers \fB<eti.h>\fR and
+\fB<curses.h>\fR\&.
diff --git a/usr/src/man/man3curses/menu_item_value.3curses b/usr/src/man/man3curses/menu_item_value.3curses
new file mode 100644
index 0000000000..b536680161
--- /dev/null
+++ b/usr/src/man/man3curses/menu_item_value.3curses
@@ -0,0 +1,100 @@
+'\" te
+.\" Copyright 1989 AT&T
+.\" Portions Copyright (c) 1996, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH menu_item_value 3CURSES "31 Dec 1996" "SunOS 5.11" "Curses Library Functions"
+.SH NAME
+menu_item_value, set_item_value, item_value \- set and get menus item values
+.SH SYNOPSIS
+.LP
+.nf
+\fBcc\fR [ \fIflag\fR... ] \fIfile\fR... \fB-lmenu\fR \fB -lcurses \fR [ \fIlibrary\fR... ]
+#include <menu.h>
+
+\fBint\fR \fBset_item_value\fR(\fBITEM *\fR\fIitem\fR, \fBint\fR \fIbool\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBitem_value\fR(\fBITEM *\fR\fIitem\fR);
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+Unlike single-valued menus, multi-valued menus enable the end-user to select
+one or more items from a menu. \fBset_item_value()\fR sets the selected value
+of the \fIitem\fR \(em \fBTRUE\fR (selected) or \fBFALSE\fR (not selected).
+\fBset_item_value()\fR may be used only with multi-valued menus. To make a menu
+multi-valued, use \fBset_menu_opts\fR or \fBmenu_opts_off()\fR to turn off the
+option \fBO_ONEVALUE\fR. (See \fBmenu_opts\fR(3CURSES)).
+.sp
+.LP
+\fBitem_value()\fR returns the select value of \fIitem\fR, either \fBTRUE\fR
+(selected) or \fBFALSE\fR (unselected).
+.SH RETURN VALUES
+.sp
+.LP
+\fBset_item_value()\fR returns one of the following:
+.sp
+.ne 2
+.mk
+.na
+\fBE_OK\fR
+.ad
+.RS 20n
+.rt
+The routine returned successfully.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBE_SYSTEM_ERROR\fR
+.ad
+.RS 20n
+.rt
+System error.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBE_REQUEST_DENIED\fR
+.ad
+.RS 20n
+.rt
+The menu driver could not process the request.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+MT-LevelUnsafe
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBcurses\fR(3CURSES), \fBmenus\fR(3CURSES), \fBmenu_opts\fR(3CURSES),
+\fBattributes\fR(5)
+.SH NOTES
+.sp
+.LP
+The header \fB<menu.h>\fR automatically includes the headers \fB<eti.h>\fR and
+\fB<curses.h>\fR\&.
diff --git a/usr/src/man/man3curses/menu_item_visible.3curses b/usr/src/man/man3curses/menu_item_visible.3curses
new file mode 100644
index 0000000000..7750473468
--- /dev/null
+++ b/usr/src/man/man3curses/menu_item_visible.3curses
@@ -0,0 +1,53 @@
+'\" te
+.\" Copyright 1989 AT&T
+.\" Portions Copyright (c) 1996, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH menu_item_visible 3CURSES "31 Dec 1996" "SunOS 5.11" "Curses Library Functions"
+.SH NAME
+menu_item_visible, item_visible \- tell if menus item is visible
+.SH SYNOPSIS
+.LP
+.nf
+\fBcc\fR [ \fIflag\fR ... ] \fIfile\fR ... \fB-lmenu\fR \fB -lcurses \fR [ \fIlibrary\fR .. ]
+#include <menu.h>
+
+
+
+\fBint\fR \fBitem_visible\fR(\fBITEM *\fR\fIitem\fR);
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+A menu item is visible if it currently appears in the subwindow of a posted
+menu. \fBitem_visible()\fR returns \fBTRUE\fR if \fIitem\fR is visible,
+otherwise it returns \fBFALSE\fR.
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+MT-LevelUnsafe
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBcurses\fR(3CURSES), \fBmenus\fR(3CURSES), \fBmenu_new\fR(3CURSES),
+\fBattributes\fR(5)
+.SH NOTES
+.sp
+.LP
+The header \fB<menu.h>\fR automatically includes the headers \fB<eti.h>\fR and
+\fB<curses.h>\fR\&.
diff --git a/usr/src/man/man3curses/menu_items.3curses b/usr/src/man/man3curses/menu_items.3curses
new file mode 100644
index 0000000000..5928cbf512
--- /dev/null
+++ b/usr/src/man/man3curses/menu_items.3curses
@@ -0,0 +1,127 @@
+'\" te
+.\" Copyright 1989 AT&T
+.\" Portions Copyright (c) 1996, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH menu_items 3CURSES "31 Dec 1996" "SunOS 5.11" "Curses Library Functions"
+.SH NAME
+menu_items, set_menu_items, item_count \- connect and disconnect items to and
+from menus
+.SH SYNOPSIS
+.LP
+.nf
+\fBcc\fR [ \fIflag\fR... ] \fIfile\fR... \fB-lmenu\fR \fB -lcurses \fR [ \fIlibrary\fR... ]
+#include <menu.h>
+
+\fBint\fR \fBset_menu_items\fR(\fBMENU *\fR\fImenu\fR, \fBITEM **\fR\fIitems\fR);
+.fi
+
+.LP
+.nf
+\fBITEM **\fR\fBmenu_items\fR(\fBMENU *\fR\fImenu\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBitem_count\fR(\fBMENU *\fR\fImenu\fR);
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBset_menu_items()\fR changes the item pointer array connected to \fImenu\fR
+to the item pointer array \fIitems\fR.\fBmenu_items()\fR returns a pointer to
+the item pointer array connected to \fImenu\fR.\fBitem_count()\fR returns the
+number of items in \fImenu\fR.
+.SH RETURN VALUES
+.sp
+.LP
+\fBmenu_items()\fR returns \fBNULL\fR on error.
+.sp
+.LP
+\fBitem_count()\fR returns -1 on error.
+.sp
+.LP
+\fBset_menu_items()\fR returns one of the following:
+.sp
+.ne 2
+.mk
+.na
+\fBE_OK\fR
+.ad
+.RS 18n
+.rt
+The routine returned successfully.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBE_SYSTEM_ERROR\fR
+.ad
+.RS 18n
+.rt
+System error.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBE_BAD_ARGUMENT\fR
+.ad
+.RS 18n
+.rt
+An incorrect argument was passed to the routine.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBE_POSTED\fR
+.ad
+.RS 18n
+.rt
+The menu is already posted.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBE_CONNECTED\fR
+.ad
+.RS 18n
+.rt
+One or more items are already connected to another menu.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+MT-LevelUnsafe
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBcurses\fR(3CURSES), \fBmenus\fR(3CURSES), \fBattributes\fR(5)
+.SH NOTES
+.sp
+.LP
+The header \fB<menu.h>\fR automatically includes the headers \fB<eti.h>\fR and
+\fB<curses.h>\fR\&.
diff --git a/usr/src/man/man3curses/menu_mark.3curses b/usr/src/man/man3curses/menu_mark.3curses
new file mode 100644
index 0000000000..ca7516a1e6
--- /dev/null
+++ b/usr/src/man/man3curses/menu_mark.3curses
@@ -0,0 +1,94 @@
+'\" te
+.\" Copyright 1989 AT&T
+.\" Portions Copyright (c) 1996, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH menu_mark 3CURSES "31 Dec 1996" "SunOS 5.11" "Curses Library Functions"
+.SH NAME
+menu_mark, set_menu_mark \- menus mark string routines
+.SH SYNOPSIS
+.LP
+.nf
+\fBcc\fR [ \fIflag\fR... ] \fIfile\fR... \fB-lmenu\fR \fB -lcurses \fR [ \fIlibrary\fR... ]
+#include <menu.h>
+
+\fBint\fR \fBset_menu_mark\fR(\fBMENU *\fR\fImenu\fR, \fBchar *\fR\fImark\fR);
+.fi
+
+.LP
+.nf
+\fBchar *\fR\fBmenu_mark\fR(\fBMENU *\fR\fImenu\fR);
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBmenus\fR displays mark strings to distinguish selected items in a menu (or
+the current item in a single-valued menu). \fBset_menu_mark()\fR sets the mark
+string of \fImenu\fR to \fImark\fR. \fBmenu_mark()\fR returns a pointer to the
+mark string of \fImenu\fR.
+.SH RETURN VALUES
+.sp
+.LP
+\fBmenu_mark()\fR returns \fBNULL\fR on error. \fBset_menu_mark()\fR returns
+one of the following:
+.sp
+.ne 2
+.mk
+.na
+\fBE_OK\fR
+.ad
+.RS 19n
+.rt
+The routine returned successfully.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBE_SYSTEM_ERROR\fR
+.ad
+.RS 19n
+.rt
+System error.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBE_BAD_ARGUMENT \fR
+.ad
+.RS 19n
+.rt
+An incorrect argument was passed to the routine.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+MT-LevelUnsafe
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBcurses\fR(3CURSES), \fBmenus\fR(3CURSES), \fBattributes\fR(5)
+.SH NOTES
+.sp
+.LP
+The header \fB<menu.h>\fR automatically includes the headers \fB<eti.h>\fR and
+\fB<curses.h>\fR\&.
diff --git a/usr/src/man/man3curses/menu_new.3curses b/usr/src/man/man3curses/menu_new.3curses
new file mode 100644
index 0000000000..f0c95a4aa8
--- /dev/null
+++ b/usr/src/man/man3curses/menu_new.3curses
@@ -0,0 +1,109 @@
+'\" te
+.\" Copyright 1989 AT&T
+.\" Portions Copyright (c) 1996, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH menu_new 3CURSES "31 Dec 1996" "SunOS 5.11" "Curses Library Functions"
+.SH NAME
+menu_new, new_menu, free_menu \- create and destroy menus
+.SH SYNOPSIS
+.LP
+.nf
+\fBcc\fR [ \fIflag\fR... ] \fIfile\fR... \fB-lmenu\fR \fB -lcurses \fR [ \fIlibrary\fR... ]
+#include <menu.h>
+
+\fBMENU *\fR\fBnew_menu\fR(\fBITEM **\fR\fIitems\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBfree_menu\fR(\fBMENU *\fR\fImenu\fR);
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBnew_menu()\fR creates a new menu connected to the item pointer array
+\fIitems\fR and returns a pointer to the new menu.
+.sp
+.LP
+\fBfree_menu()\fR disconnects \fImenu\fR from its associated item pointer array
+and frees the storage allocated for the menu.
+.SH RETURN VALUES
+.sp
+.LP
+\fBnew_menu()\fR returns \fBNULL\fR on error.
+.sp
+.LP
+\fBfree_menu()\fR returns one of the following:
+.sp
+.ne 2
+.mk
+.na
+\fBE_OK\fR
+.ad
+.RS 19n
+.rt
+The routine returned successfully.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBE_SYSTEM_ERROR\fR
+.ad
+.RS 19n
+.rt
+System error.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBE_BAD_ARGUMENT \fR
+.ad
+.RS 19n
+.rt
+An incorrect argument was passed to the routine.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBE_POSTED\fR
+.ad
+.RS 19n
+.rt
+The menu is already posted.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+MT-LevelUnsafe
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBcurses\fR(3CURSES), \fBmenus\fR(3CURSES), \fBattributes\fR(5)
+.SH NOTES
+.sp
+.LP
+The header \fB<menu.h>\fR automatically includes the headers \fB<eti.h>\fR and
+\fB<curses.h>\fR\&.
diff --git a/usr/src/man/man3curses/menu_opts.3curses b/usr/src/man/man3curses/menu_opts.3curses
new file mode 100644
index 0000000000..2f773e9871
--- /dev/null
+++ b/usr/src/man/man3curses/menu_opts.3curses
@@ -0,0 +1,182 @@
+'\" te
+.\" Copyright 1989 AT&T
+.\" Portions Copyright (c) 1996, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH menu_opts 3CURSES "31 Dec 1996" "SunOS 5.11" "Curses Library Functions"
+.SH NAME
+menu_opts, set_menu_opts, menu_opts_on, menu_opts_off \- menus option routines
+.SH SYNOPSIS
+.LP
+.nf
+\fBcc\fR [ \fIflag\fR... ] \fIfile\fR... \fB-lmenu\fR \fB -lcurses \fR [ \fIlibrary\fR... ]
+#include <menu.h>
+
+\fBOPTIONS\fR \fBmenu_opts\fR(\fBMENU *\fR\fImenu\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBset_menu_opts\fR(\fBMENU *\fR\fImenu\fR, \fBOPTIONS\fR \fIopts\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBmenu_opts_on\fR(\fBMENU *\fR\fImenu\fR, \fBOPTIONS\fR \fIopts\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBmenu_opts_off\fR(\fBMENU *\fR\fImenu\fR, \fBOPTIONS\fR \fIopts\fR);
+.fi
+
+.SH DESCRIPTION
+.SS "Menu Options"
+.sp
+.LP
+\fBset_menu_opts()\fR turns on the named options for \fImenu\fR and turns off
+all other options. Options are boolean values that can be OR-ed together.
+.sp
+.LP
+\fBmenu_opts_on()\fR turns on the named options for \fImenu\fR; no other option
+is changed.
+.sp
+.LP
+\fBmenu_opts_off()\fR turns off the named options for \fImenu\fR; no other
+option is changed.
+.sp
+.LP
+\fBmenu_opts()\fR returns the current options of \fImenu\fR.
+.sp
+.LP
+The following values can be OR'd together to create \fIopts\fR.
+.sp
+.ne 2
+.mk
+.na
+\fB\fBO_ONEVALUE\fR\fR
+.ad
+.RS 16n
+.rt
+Only one item can be selected from the menu.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBO_SHOWDESC\fR\fR
+.ad
+.RS 16n
+.rt
+Display the description of the items.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBO_ROWMAJOR\fR\fR
+.ad
+.RS 16n
+.rt
+Display the menu in row major order.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBO_IGNORECASE\fR\fR
+.ad
+.RS 16n
+.rt
+Ignore the case when pattern matching.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBO_SHOWMATCH\fR\fR
+.ad
+.RS 16n
+.rt
+Place the cursor within the item name when pattern matching.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBO_NONCYCLIC\fR\fR
+.ad
+.RS 16n
+.rt
+Make certain menu driver requests non-cyclic.
+.RE
+
+.SH RETURN VALUES
+.sp
+.LP
+Except for \fBmenu_opts()\fR, these routines return one of the following:
+.sp
+.ne 2
+.mk
+.na
+\fBE_OK\fR
+.ad
+.RS 18n
+.rt
+ The routine returned successfully.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBE_SYSTEM_ERROR\fR
+.ad
+.RS 18n
+.rt
+System error.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBE_POSTED\fR
+.ad
+.RS 18n
+.rt
+The menu is already posted.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+MT-LevelUnsafe
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBcurses\fR(3CURSES), \fBmenus\fR(3CURSES), \fBattributes\fR(5)
+.SH NOTES
+.sp
+.LP
+The header \fB<menu.h>\fR automatically includes the headers \fB<eti.h>\fR and
+\fB<curses.h>\fR\&.
diff --git a/usr/src/man/man3curses/menu_pattern.3curses b/usr/src/man/man3curses/menu_pattern.3curses
new file mode 100644
index 0000000000..7b450cfddd
--- /dev/null
+++ b/usr/src/man/man3curses/menu_pattern.3curses
@@ -0,0 +1,108 @@
+'\" te
+.\" Copyright 1989 AT&T
+.\" Portions Copyright (c) 1996, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH menu_pattern 3CURSES "31 Dec 1996" "SunOS 5.11" "Curses Library Functions"
+.SH NAME
+menu_pattern, set_menu_pattern \- set and get menus pattern match buffer
+.SH SYNOPSIS
+.LP
+.nf
+\fBcc\fR [ \fIflag\fR... ] \fIfile\fR... \fB-lmenu\fR \fB -lcurses \fR [ \fIlibrary\fR... ]
+#include <menu.h>
+
+
+
+\fBchar *\fR\fBmenu_pattern\fR(\fBMENU *\fR\fImenu\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBset_menu_pattern\fR(\fBMENU *\fR\fImenu\fR, \fBchar *\fR\fIpat\fR);
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+Every menu has a pattern buffer to match entered data with menu items.
+\fBset_menu_pattern()\fR sets the pattern buffer to \fIpat\fR and tries to find
+the first item that matches the pattern. If it does, the matching item becomes
+the current item. If not, the current item does not change.
+\fBmenu_pattern()\fR returns the string in the pattern buffer of \fImenu\fR.
+.SH RETURN VALUES
+.sp
+.LP
+\fBmenu_pattern()\fR returns \fINULL\fR on error. \fBset_menu_pattern()\fR
+returns one of the following:
+.sp
+.ne 2
+.mk
+.na
+\fBE_OK\fR
+.ad
+.RS 18n
+.rt
+The routine returned successfully.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBE_SYSTEM_ERROR\fR
+.ad
+.RS 18n
+.rt
+System error.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBE_BAD_ARGUMENT\fR
+.ad
+.RS 18n
+.rt
+An incorrect argument was passed to the routine.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBE_NO_MATCH\fR
+.ad
+.RS 18n
+.rt
+The character failed to match.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+MT-LevelUnsafe
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBcurses\fR(3CURSES), \fBmenus\fR(3CURSES), \fBattributes\fR(5)
+.SH NOTES
+.sp
+.LP
+The header \fB<menu.h>\fR automatically includes the headers \fB<eti.h>\fR and
+\fB<curses.h>\fR\&.
diff --git a/usr/src/man/man3curses/menu_post.3curses b/usr/src/man/man3curses/menu_post.3curses
new file mode 100644
index 0000000000..cc2c3286b7
--- /dev/null
+++ b/usr/src/man/man3curses/menu_post.3curses
@@ -0,0 +1,153 @@
+'\" te
+.\" Copyright 1989 AT&T
+.\" Portions Copyright (c) 1996, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH menu_post 3CURSES "31 Dec 1996" "SunOS 5.11" "Curses Library Functions"
+.SH NAME
+menu_post, post_menu, unpost_menu \- write or erase menus from associated
+subwindows
+.SH SYNOPSIS
+.LP
+.nf
+\fBcc\fR [ \fIflag\fR... ] \fIfile\fR... \fB-lmenu\fR \fB -lcurses \fR [ \fIlibrary\fR... ]
+#include <menu.h>
+
+\fBint\fR \fBpost_menu\fR(\fBMENU *\fR\fImenu\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBunpost_menu\fR(\fBMENU *\fR\fImenu\fR);
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBpost_menu()\fR writes \fImenu\fR to the subwindow. The application
+programmer must use \fBcurses\fR library routines to display the menu on the
+physical screen or call \fBupdate_panels()\fR if the \fBpanels\fR library is
+being used.
+.sp
+.LP
+\fBunpost_menu()\fR erases \fImenu\fR from its associated subwindow.
+.SH RETURN VALUES
+.sp
+.LP
+These routines return one of the following:
+.sp
+.ne 2
+.mk
+.na
+\fBE_OK\fR
+.ad
+.RS 19n
+.rt
+The routine returned successfully.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBE_SYSTEM_ERROR\fR
+.ad
+.RS 19n
+.rt
+System error.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBE_BAD_ARGUMENT\fR
+.ad
+.RS 19n
+.rt
+An incorrect argument was passed to the routine.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBE_POSTED\fR
+.ad
+.RS 19n
+.rt
+The menu is already posted.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBE_BAD_STATE\fR
+.ad
+.RS 19n
+.rt
+The routine was called from an initialization or termination function.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBE_NO_ROOM\fR
+.ad
+.RS 19n
+.rt
+The menu does not fit within its subwindow.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBE_NOT_POSTED\fR
+.ad
+.RS 19n
+.rt
+The menu has not been posted.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBE_NOT_CONNECTED\fR
+.ad
+.RS 19n
+.rt
+No items are connected to the menu.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+MT-LevelUnsafe
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBcurses\fR(3CURSES), \fBmenus\fR(3CURSES), \fBpanels\fR(3CURSES),
+\fBattributes\fR(5)
+.SH NOTES
+.sp
+.LP
+The header \fB<menu.h>\fR automatically includes the headers \fB<eti.h>\fR and
+\fB<curses.h>\fR\&.
diff --git a/usr/src/man/man3curses/menu_userptr.3curses b/usr/src/man/man3curses/menu_userptr.3curses
new file mode 100644
index 0000000000..b55752f935
--- /dev/null
+++ b/usr/src/man/man3curses/menu_userptr.3curses
@@ -0,0 +1,84 @@
+'\" te
+.\" Copyright 1989 AT&T
+.\" Portions Copyright (c) 1996, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH menu_userptr 3CURSES "31 Dec 1996" "SunOS 5.11" "Curses Library Functions"
+.SH NAME
+menu_userptr, set_menu_userptr \- associate application data with menus
+.SH SYNOPSIS
+.LP
+.nf
+\fBcc\fR [ \fIflag\fR... ] \fIfile\fR... \fB-lmenu\fR \fB -lcurses \fR [ \fIlibrary\fR... ]
+#include <menu.h>
+
+\fBchar *\fR\fBmenu_userptr\fR(\fBMENU *\fR\fImenu\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBset_menu_userptr\fR(\fBMENU *\fR\fImenu\fR, \fBchar *\fR\fIuserptr\fR);
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+Every menu has an associated user pointer that can be used to store relevant
+information. \fBset_menu_userptr()\fR sets the user pointer of \fImenu\fR.
+\fBmenu_userptr()\fR returns the user pointer of \fImenu\fR.
+.SH RETURN VALUES
+.sp
+.LP
+\fBmenu_userptr()\fR returns \fINULL\fR on error.
+.sp
+.LP
+\fBset_menu_userptr()\fR returns one of the following:
+.sp
+.ne 2
+.mk
+.na
+\fBE_OK\fR
+.ad
+.RS 18n
+.rt
+The routine returned successfully.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBE_SYSTEM_ERROR\fR
+.ad
+.RS 18n
+.rt
+System error.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+MT-LevelUnsafe
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBcurses\fR(3CURSES), \fBmenus\fR(3CURSES), \fBattributes\fR(5)
+.SH NOTES
+.sp
+.LP
+The header \fB<menu.h>\fR automatically includes the headers \fB<eti.h>\fR and
+\fB<curses.h>\fR\&.
diff --git a/usr/src/man/man3curses/menu_win.3curses b/usr/src/man/man3curses/menu_win.3curses
new file mode 100644
index 0000000000..8cf08387f5
--- /dev/null
+++ b/usr/src/man/man3curses/menu_win.3curses
@@ -0,0 +1,135 @@
+'\" te
+.\" Copyright 1989 AT&T
+.\" Portions Copyright (c) 1996, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH menu_win 3CURSES "31 Dec 1996" "SunOS 5.11" "Curses Library Functions"
+.SH NAME
+menu_win, set_menu_win, set_menu_sub, menu_sub, scale_menu \- menus window and
+subwindow association routines
+.SH SYNOPSIS
+.LP
+.nf
+\fBcc\fR [ \fIflag\fR... ] \fIfile\fR... \fB-lmenu\fR \fB -lcurses \fR [ \fIlibrary\fR... ]
+#include <menu.h>
+
+\fBint\fR \fBset_menu_win\fR(\fBMENU *\fR\fImenu\fR, \fBWINDOW *\fR\fIwin\fR);
+.fi
+
+.LP
+.nf
+\fBWINDOW *\fR\fBmenu_win\fR(\fBMENU *\fR\fImenu\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBset_menu_sub\fR(\fBMENU *\fR\fImenu\fR, \fBWINDOW *\fR\fIsub\fR);
+.fi
+
+.LP
+.nf
+\fBWINDOW *\fR\fBmenu_sub\fR(\fBMENU *\fR\fImenu\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBscale_window\fR(\fBMENU *\fR\fImenu\fR, \fBint *\fR\fIrows\fR, \fBint *\fR\fIcols\fR);
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBset_menu_win()\fR sets the window of \fImenu\fR to \fIwin\fR.
+\fBmenu_win()\fR returns a pointer to the window of
+\fImenu\fR.\fBset_menu_sub()\fR sets the subwindow of \fImenu\fR to \fIsub\fR.
+\fBmenu_sub()\fR returns a pointer to the subwindow of
+\fImenu\fR.\fBscale_window()\fR returns the minimum window size necessary for
+the subwindow of \fImenu\fR. \fIrows\fR and \fIcols\fR are pointers to the
+locations used to return the values.
+.SH RETURN VALUES
+.sp
+.LP
+Routines that return pointers always return \fINULL\fR on error. Routines that
+return an integer return one of the following:
+.sp
+.ne 2
+.mk
+.na
+\fBE_OK\fR
+.ad
+.RS 19n
+.rt
+The routine returned successfully.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBE_SYSTEM_ERROR\fR
+.ad
+.RS 19n
+.rt
+System error.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBE_BAD_ARGUMENT\fR
+.ad
+.RS 19n
+.rt
+An incorrect argument was passed to the routine.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBE_POSTED\fR
+.ad
+.RS 19n
+.rt
+The menu is already posted.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fBE_NOT_CONNECTED\fR
+.ad
+.RS 19n
+.rt
+No items are connected to the menu.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+MT-LevelUnsafe
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBcurses\fR(3CURSES), \fBmenus\fR(3CURSES), \fBattributes\fR(5)
+.SH NOTES
+.sp
+.LP
+The header \fB<menu.h>\fR automatically includes the headers \fB<eti.h>\fR and
+\fB<curses.h>\fR\&.
diff --git a/usr/src/man/man3curses/menus.3curses b/usr/src/man/man3curses/menus.3curses
new file mode 100644
index 0000000000..f0fe7fcf76
--- /dev/null
+++ b/usr/src/man/man3curses/menus.3curses
@@ -0,0 +1,290 @@
+'\" te
+.\" Copyright 1989 AT&T
+.\" Portions Copyright (c) 1996, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH menus 3CURSES "31 Dec 1996" "SunOS 5.11" "Curses Library Functions"
+.SH NAME
+menus \- character based menus package
+.SH SYNOPSIS
+.LP
+.nf
+\fB#include <menu.h>\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBmenu\fR library is built using the \fBcurses\fR library, and any program
+using menus routines must call one of the \fBcurses\fR initialization routines,
+such as \fBinitscr\fR. A program using these routines must be compiled with
+\fB-lmenu\fR and \fB-lcurses\fR on the \fBcc\fR command line.
+.sp
+.LP
+The menus package gives the applications programmer a terminal-independent
+method of creating and customizing menus for user interaction. The menus
+package includes: item routines, which are used to create and customize menu
+items; and menu routines, which are used to create and customize menus, assign
+pre- and post-processing routines, and display and interact with menus.
+.SS "Current Default Values for Item Attributes"
+.sp
+.LP
+The menus package establishes initial current default values for item
+attributes. During item initialization, each item attribute is assigned the
+current default value for that attribute. An application can change or retrieve
+a current default attribute value by calling the appropriate set or retrieve
+routine with a \fINULL\fR item pointer. If an application changes a current
+default item attribute value, subsequent items created using \fBnew_item()\fR
+will have the new default attribute value. The attributes of previously created
+items are not changed if a current default attribute value is changed.
+.SS "Routine Name Index"
+.sp
+.LP
+The following table lists each menus routine and the name of the manual page on
+which it is described.
+.sp
+
+.sp
+.TS
+tab();
+cw(2.75i) cw(2.75i)
+lw(2.75i) lw(2.75i)
+.
+\fBMenus Routine Name\fR\fBManual Page Name\fR
+\fBcurrent_item\fR\fBmenu_item_current(3X)\fR
+\fBfree_item\fR\fBmenu_item_new(3X)\fR
+\fBfree_menu\fR\fBmenu_new(3X)\fR
+\fBitem_count\fR\fBmenu_items(3X)\fR
+\fBitem_description\fR\fBmenu_item_name(3X)\fR
+\fBitem_index\fR\fBmenu_item_current(3X)\fR
+\fBitem_init\fR\fBmenu_hook(3X)\fR
+\fBitem_name\fR\fBmenu_item_name(3X)\fR
+\fBitem_opts\fR\fBmenu_item_opts(3X)\fR
+\fBitem_opts_off\fR\fBmenu_item_opts(3X)\fR
+\fBitem_opts_on\fR\fBmenu_item_opts(3X)\fR
+\fBitem_term\fR\fBmenu_hook(3X)\fR
+\fBitem_userptr\fR\fBmenu_item_userptr(3X)\fR
+\fBitem_value\fR\fBmenu_item_value(3X)\fR
+\fBitem_visible\fR\fBmenu_item_visible(3X)\fR
+\fBmenu_back\fR\fBmenu_attributes(3X)\fR
+\fBmenu_driver\fR\fBmenu_driver(3X)\fR
+\fBmenu_fore\fR\fBmenu_attributes(3X)\fR
+\fBmenu_format\fR\fBmenu_format(3X)\fR
+\fBmenu_grey\fR\fBmenu_attributes(3X)\fR
+\fBmenu_init\fR\fBmenu_hook(3X)\fR
+\fBmenu_items\fR\fBmenu_items(3X)\fR
+\fBmenu_mark\fR\fBmenu_mark(3X)\fR
+\fBmenu_opts\fR\fBmenu_opts(3X)\fR
+\fBmenu_opts_off\fR\fBmenu_opts(3X)\fR
+\fBmenu_opts_on\fR\fBmenu_opts(3X)\fR
+\fBmenu_pad\fR\fBmenu_attributes(3X)\fR
+\fBmenu_pattern\fR\fBmenu_pattern(3X)\fR
+\fBmenu_sub\fR\fBmenu_win(3X)\fR
+\fBmenu_term\fR\fBmenu_hook(3X)\fR
+\fBmenu_userptr\fR\fBmenu_userptr(3X)\fR
+\fBmenu_win\fR\fBmenu_win(3X)\fR
+\fBnew_item\fR\fBmenu_item_new(3X)\fR
+\fBnew_menu\fR\fBmenu_new(3X)\fR
+\fBpos_menu_cursor\fR\fBmenu_cursor(3X)\fR
+\fBpost_menu\fR\fBmenu_post(3X)\fR
+\fBscale_menu\fR\fBmenu_win(3X)\fR
+\fBset_current_item\fR\fBmenu_item_current(3X)\fR
+\fBset_item_init\fR\fBmenu_hook(3X)\fR
+\fBset_item_opts\fR\fBmenu_item_opts(3X)\fR
+\fBset_item_term\fR\fBmenu_hook(3X)\fR
+\fBset_item_userptr\fR\fBmenu_item_userptr(3X)\fR
+\fBset_item_value\fR\fBmenu_item_value(3X)\fR
+\fBset_menu_back\fR\fBmenu_attributes(3X)\fR
+\fBset_menu_fore\fR\fBmenu_attributes(3X)\fR
+\fBset_menu_format\fR\fBmenu_format(3X)\fR
+\fBset_menu_grey\fR\fBmenu_attributes(3X)\fR
+\fBset_menu_init\fR\fBmenu_hook(3X)\fR
+\fBset_menu_items\fR\fBmenu_items(3X)\fR
+\fBset_menu_mark\fR\fBmenu_mark(3X)\fR
+\fBset_menu_opts\fR\fBmenu_opts(3X)\fR
+\fBset_menu_pad\fR\fBmenu_attributes(3X)\fR
+\fBset_menu_pattern\fR\fBmenu_pattern(3X)\fR
+\fBset_menu_sub\fR\fBmenu_win(3X)\fR
+\fBset_menu_term\fR\fBmenu_hook(3X)\fR
+\fBset_menu_userptr\fR\fBmenu_userptr(3X)\fR
+\fBset_menu_win\fR\fBmenu_win(3X)\fR
+\fBset_top_row\fR\fBmenu_item_current(3X)\fR
+\fBtop_row\fR\fBmenu_item_current(3X)\fR
+\fBunpost_menu\fR\fBmenu_post(3X)\fR
+.TE
+
+.SH RETURN VALUES
+.sp
+.LP
+Routines that return pointers always return \fINULL\fR on error. Routines that
+return an integer return one of the following:
+.sp
+.ne 2
+.mk
+.na
+\fB\fBE_OK\fR\fR
+.ad
+.RS 21n
+.rt
+The routine returned successfully.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBE_SYSTEM_ERROR\fR\fR
+.ad
+.RS 21n
+.rt
+System error.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBE_BAD_ARGUMENT\fR\fR
+.ad
+.RS 21n
+.rt
+An incorrect argument was passed to the routine.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBE_POSTED\fR\fR
+.ad
+.RS 21n
+.rt
+The menu is already posted.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBE_CONNECTED\fR\fR
+.ad
+.RS 21n
+.rt
+One or more items are already connected to another menu.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBE_BAD_STATE\fR\fR
+.ad
+.RS 21n
+.rt
+The routine was called from an initialization or termination function.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBE_NO_ROOM\fR\fR
+.ad
+.RS 21n
+.rt
+The menu does not fit within its subwindow.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBE_NOT_POSTED\fR\fR
+.ad
+.RS 21n
+.rt
+The menu has not been posted.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBE_UNKNOWN_COMMAND\fR\fR
+.ad
+.RS 21n
+.rt
+An unknown request was passed to the menu driver.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBE_NO_MATCH\fR\fR
+.ad
+.RS 21n
+.rt
+The character failed to match.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBE_NOT_SELECTABLE\fR\fR
+.ad
+.RS 21n
+.rt
+The item cannot be selected.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBE_NOT_CONNECTED\fR\fR
+.ad
+.RS 21n
+.rt
+No items are connected to the menu.
+.RE
+
+.sp
+.ne 2
+.mk
+.na
+\fB\fBE_REQUEST_DENIED\fR\fR
+.ad
+.RS 21n
+.rt
+The menu driver could not process the request.
+.RE
+
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+MT-LevelUnsafe
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBcurses\fR(3CURSES), \fBattributes\fR(5)
+.SH NOTES
+.sp
+.LP
+The header \fB<menu.h>\fR automatically includes the headers \fB<eti.h>\fR and
+\fB<curses.h>\fR\&.
diff --git a/usr/src/man/man3curses/panel_above.3curses b/usr/src/man/man3curses/panel_above.3curses
new file mode 100644
index 0000000000..cd9de097a1
--- /dev/null
+++ b/usr/src/man/man3curses/panel_above.3curses
@@ -0,0 +1,70 @@
+'\" te
+.\" Copyright 1989 AT&T
+.\" Portions Copyright (c) 1996, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH panel_above 3CURSES "31 Dec 1996" "SunOS 5.11" "Curses Library Functions"
+.SH NAME
+panel_above, panel_below \- panels deck traversal primitives
+.SH SYNOPSIS
+.LP
+.nf
+\fBcc\fR [ \fIflag\fR ... ] \fIfile\fR ... \fB-lpanel\fR \fB -lcurses \fR [ \fIlibrary\fR .. ]
+#include <panel.h>
+
+
+
+\fBPANEL *\fR\fBpanel_above\fR(\fBPANEL *\fR\fIpanel\fR);
+.fi
+
+.LP
+.nf
+\fBPANEL *\fR\fBpanel_below\fR(\fBPANEL *\fR\fIpanel\fR);
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBpanel_above()\fR returns a pointer to the panel just above \fIpanel\fR, or
+\fBNULL\fR if \fIpanel\fR is the top panel. \fBpanel_below()\fR returns a
+pointer to the panel just below \fIpanel\fR, or \fBNULL\fR if \fIpanel\fR is
+the bottom panel.
+.sp
+.LP
+If \fBNULL\fR is passed for \fIpanel\fR, \fBpanel_above()\fR returns a pointer
+to the bottom panel in the deck, and \fBpanel_below()\fR returns a pointer to
+the top panel in the deck.
+.SH RETURN VALUES
+.sp
+.LP
+\fBNULL\fR is returned if an error occurs.
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+MT-LevelUnsafe
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBcurses\fR(3CURSES), \fBpanels\fR(3CURSES), \fBattributes\fR(5)
+.SH NOTES
+.sp
+.LP
+These routines allow traversal of the deck of currently visible panels.
+.sp
+.LP
+The header \fB<panel.h>\fR automatically includes the header
+\fB<curses.h>\fR\&.
diff --git a/usr/src/man/man3curses/panel_move.3curses b/usr/src/man/man3curses/panel_move.3curses
new file mode 100644
index 0000000000..790a1df423
--- /dev/null
+++ b/usr/src/man/man3curses/panel_move.3curses
@@ -0,0 +1,63 @@
+'\" te
+.\" Copyright 1989 AT&T
+.\" Portions Copyright (c) 1996, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH panel_move 3CURSES "31 Dec 1996" "SunOS 5.11" "Curses Library Functions"
+.SH NAME
+panel_move, move_panel \- move a panels window on the virtual screen
+.SH SYNOPSIS
+.LP
+.nf
+\fBcc\fR [ \fIflag\fR ... ] \fIfile\fR ... \fB-lpanel\fR \fB -lcurses \fR [ \fIlibrary\fR .. ]
+#include <panel.h>
+
+
+
+\fBint\fR \fBmove_panel\fR(\fBPANEL *\fR\fIpanel\fR, \fBint\fR \fIstarty\fR, \fBint\fR \fIstartx\fR);
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBmove_panel()\fR moves the \fBcurses\fR window associated with \fIpanel\fR so
+that its upper left-hand corner is at \fIstarty\fR, \fIstartx\fR. See usage
+note, below.
+.SH RETURN VALUES
+.sp
+.LP
+\fBOK\fR is returned if the routine completes successfully, otherwise \fBERR\fR
+is returned.
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+MT-LevelUnsafe
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBcurses\fR(3CURSES), \fBpanel_update\fR(3CURSES), \fBpanels\fR(3CURSES),
+\fBattributes\fR(5)
+.SH NOTES
+.sp
+.LP
+For \fBpanels\fR windows, use \fBmove_panel()\fR instead of the \fBmvwin()\fR
+\fBcurses\fR routine. Otherwise, \fBupdate_panels()\fR will not properly update
+the virtual screen.
+.sp
+.LP
+The header \fB<panel.h>\fR automatically includes the header
+\fB<curses.h>\fR\&.
diff --git a/usr/src/man/man3curses/panel_new.3curses b/usr/src/man/man3curses/panel_new.3curses
new file mode 100644
index 0000000000..8a80409f75
--- /dev/null
+++ b/usr/src/man/man3curses/panel_new.3curses
@@ -0,0 +1,67 @@
+'\" te
+.\" Copyright 1989 AT&T
+.\" Portions Copyright (c) 1996, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH panel_new 3CURSES "31 Dec 1996" "SunOS 5.11" "Curses Library Functions"
+.SH NAME
+panel_new, new_panel, del_panel \- create and destroy panels
+.SH SYNOPSIS
+.LP
+.nf
+\fBcc\fR [ \fIflag\fR ... ] \fIfile\fR ... \fB-lpanel\fR \fB -lcurses \fR [ \fIlibrary\fR .. ]
+#include <panel.h>
+
+
+
+\fBPANEL *\fR\fBnew_panel\fR(\fBWINDOW *\fR\fIwin\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBdel_panel\fR(\fBPANEL *\fR\fIpanel\fR);
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBnew_panel()\fR creates a new panel associated with \fIwin\fR and returns the
+panel pointer. The new panel is placed on top of the panel deck.
+.sp
+.LP
+\fBdel_panel()\fR destroys \fIpanel\fR, but not its associated window.
+.SH RETURN VALUES
+.sp
+.LP
+\fBnew_panel()\fR returns \fINULL\fR if an error occurs.
+.sp
+.LP
+\fBdel_win()\fR returns \fBOK\fR if successful, \fBERR\fR otherwise.
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+MT-LevelUnsafe
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBcurses\fR(3CURSES), \fBpanel_update\fR(3CURSES), \fBpanels\fR(3CURSES),
+\fBattributes\fR(5)
+.SH NOTES
+.sp
+.LP
+The header \fB<panel.h>\fR automatically includes the header
+\fB<curses.h>\fR\&.
diff --git a/usr/src/man/man3curses/panel_show.3curses b/usr/src/man/man3curses/panel_show.3curses
new file mode 100644
index 0000000000..49109e055c
--- /dev/null
+++ b/usr/src/man/man3curses/panel_show.3curses
@@ -0,0 +1,76 @@
+'\" te
+.\" Copyright 1989 AT&T
+.\" Portions Copyright (c) 1996, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH panel_show 3CURSES "31 Dec 1996" "SunOS 5.11" "Curses Library Functions"
+.SH NAME
+panel_show, show_panel, hide_panel, panel_hidden \- panels deck manipulation
+routines
+.SH SYNOPSIS
+.LP
+.nf
+\fBcc\fR [ \fIflag\fR ... ] \fIfile\fR ... \fB-lpanel\fR \fB -lcurses \fR [ \fIlibrary\fR .. ]
+#include <panel.h>
+
+
+
+\fBint\fR \fBshow_panel\fR(\fBPANEL *\fR\fIpanel\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBhide_panel\fR(\fBPANEL *\fR\fIpanel\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBpanel_hidden\fR(\fBPANEL *\fR\fIpanel\fR);
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBshow_panel()\fR makes \fIpanel\fR, previously hidden, visible and places it
+on top of the deck of panels.
+.sp
+.LP
+\fBhide_panel()\fR removes \fIpanel\fR from the panel deck and, thus, hides it
+from view. The internal data structure of the panel is retained.
+.sp
+.LP
+\fBpanel_hidden()\fR returns \fBTRUE\fR \fB(1)\fR \fBor\fR \fBFALSE\fR
+\fB(0)\fR indicating whether or not \fIpanel\fR is in the deck of panels.
+.SH RETURN VALUES
+.sp
+.LP
+\fBshow_panel()\fR and \fBhide_panel()\fR return the integer \fBOK\fR upon
+successful completion or \fBERR\fR upon error.
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+MT-LevelUnsafe
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBcurses\fR(3CURSES), \fBpanel_update\fR(3CURSES), \fBpanels\fR(3CURSES),
+\fBattributes\fR(5)
+.SH NOTES
+.sp
+.LP
+The header \fB<panel.h>\fR automatically includes the header
+\fB<curses.h>\fR\&.
diff --git a/usr/src/man/man3curses/panel_top.3curses b/usr/src/man/man3curses/panel_top.3curses
new file mode 100644
index 0000000000..1d9097eab0
--- /dev/null
+++ b/usr/src/man/man3curses/panel_top.3curses
@@ -0,0 +1,66 @@
+'\" te
+.\" Copyright 1989 AT&T
+.\" Portions Copyright (c) 1996, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH panel_top 3CURSES "31 Dec 1996" "SunOS 5.11" "Curses Library Functions"
+.SH NAME
+panel_top, top_panel, bottom_panel \- panels deck manipulation routines
+.SH SYNOPSIS
+.LP
+.nf
+\fBcc\fR [ \fIflag\fR ... ] \fIfile\fR ... \fB-lpanel\fR \fB -lcurses \fR [ \fIlibrary\fR .. ]
+#include <panel.h>
+
+
+
+\fBint\fR \fBtop_panel\fR(\fBPANEL *\fR\fIpanel\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBbottom_panel\fR(\fBPANEL *\fR\fIpanel\fR);
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBtop_panel()\fR pulls \fIpanel\fR to the top of the desk of panels. It leaves
+the size, location, and contents of its associated window unchanged.
+.sp
+.LP
+\fBbottom_panel()\fR puts \fIpanel\fR at the bottom of the deck of panels. It
+leaves the size, location, and contents of its associated window unchanged.
+.SH RETURN VALUES
+.sp
+.LP
+All of these routines return the integer \fBOK\fR upon successful completion or
+\fBERR\fR upon error.
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+MT-LevelUnsafe
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBcurses\fR(3CURSES), \fBpanel_update\fR(3CURSES), \fBpanels\fR(3CURSES),
+\fBattributes\fR(5)
+.SH NOTES
+.sp
+.LP
+The header \fB<panel.h>\fR automatically includes the header
+\fB<curses.h>\fR\&.
diff --git a/usr/src/man/man3curses/panel_update.3curses b/usr/src/man/man3curses/panel_update.3curses
new file mode 100644
index 0000000000..7a11e6b33e
--- /dev/null
+++ b/usr/src/man/man3curses/panel_update.3curses
@@ -0,0 +1,54 @@
+'\" te
+.\" Copyright 1989 AT&T
+.\" Portions Copyright (c) 1996, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH panel_update 3CURSES "31 Dec 1996" "SunOS 5.11" "Curses Library Functions"
+.SH NAME
+panel_update, update_panels \- panels virtual screen refresh routine
+.SH SYNOPSIS
+.LP
+.nf
+\fBcc\fR [ \fIflag\fR ... ] \fIfile\fR ... \fB-lpanel\fR \fB -lcurses \fR [ \fIlibrary\fR .. ]
+#include <panel.h>
+
+
+
+\fBvoid\fR \fBupdate_panels\fR(\fBvoid\fR);
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBupdate_panels()\fR refreshes the virtual screen to reflect the depth
+relationships between the panels in the deck. The user must use the curses
+library call \fBdoupdate()\fR (see \fBcurs_refresh\fR(3CURSES)) to refresh the
+physical screen.
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+MT-LevelUnsafe
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBcurs_refresh\fR(3CURSES), \fBcurses\fR(3CURSES), \fBpanels\fR(3CURSES),
+\fBattributes\fR(5)
+.SH NOTES
+.sp
+.LP
+The header \fB<panel.h>\fR automatically includes the header
+\fB<curses.h>\fR\&.
diff --git a/usr/src/man/man3curses/panel_userptr.3curses b/usr/src/man/man3curses/panel_userptr.3curses
new file mode 100644
index 0000000000..2120902d5d
--- /dev/null
+++ b/usr/src/man/man3curses/panel_userptr.3curses
@@ -0,0 +1,70 @@
+'\" te
+.\" Copyright 1989 AT&T
+.\" Portions Copyright (c) 1996, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH panel_userptr 3CURSES "31 Dec 1996" "SunOS 5.11" "Curses Library Functions"
+.SH NAME
+panel_userptr, set_panel_userptr \- associate application data with a panels
+panel
+.SH SYNOPSIS
+.LP
+.nf
+\fBcc\fR [ \fIflag\fR ... ] \fIfile\fR ... \fB-lpanel\fR \fB -lcurses \fR [ \fIlibrary\fR .. ]
+#include <panel.h>
+
+
+
+\fBint\fR \fBset_panel_userptr\fR(\fBPANEL *\fR\fIpanel\fR, \fBchar *\fR\fIptr\fR);
+.fi
+
+.LP
+.nf
+\fBchar *\fR \fBpanel_userptr\fR(\fBPANEL *\fR\fIpanel\fR);
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+Each panel has a user pointer available for maintaining relevant information.
+.sp
+.LP
+\fBset_panel_userptr()\fR sets the user pointer of \fIpanel\fR to \fIptr\fR.
+.sp
+.LP
+\fBpanel_userptr()\fR returns the user pointer of \fIpanel\fR.
+.SH RETURN VALUES
+.sp
+.LP
+\fBset_panel_userptr\fR returns \fBOK\fR if successful, \fBERR\fR otherwise.
+.sp
+.LP
+\fBpanel_userptr\fR returns \fINULL\fR if there is no user pointer assigned to
+\fIpanel\fR.
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+MT-LevelUnsafe
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBcurses\fR(3CURSES), \fBpanels\fR(3CURSES), \fBattributes\fR(5)
+.SH NOTES
+.sp
+.LP
+The header \fB<panel.h>\fR automatically includes the header
+\fB<curses.h>\fR\&.
diff --git a/usr/src/man/man3curses/panel_window.3curses b/usr/src/man/man3curses/panel_window.3curses
new file mode 100644
index 0000000000..dc7df7a6c0
--- /dev/null
+++ b/usr/src/man/man3curses/panel_window.3curses
@@ -0,0 +1,67 @@
+'\" te
+.\" Copyright 1989 AT&T
+.\" Portions Copyright (c) 1996, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH panel_window 3CURSES "31 Dec 1996" "SunOS 5.11" "Curses Library Functions"
+.SH NAME
+panel_window, replace_panel \- get or set the current window of a panels panel
+.SH SYNOPSIS
+.LP
+.nf
+\fBcc\fR [ \fIflag\fR ... ] \fIfile\fR ... \fB-lpanel\fR \fB -lcurses \fR [ \fIlibrary\fR .. ]
+#include <panel.h>
+
+
+
+\fBWINDOW *\fR\fBpanel_window\fR(\fBPANEL *\fR\fIpanel\fR);
+.fi
+
+.LP
+.nf
+\fBint\fR \fBreplace_panel\fR(\fBPANEL *\fR\fIpanel\fR, \fBWINDOW *\fR\fIwin\fR);
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+\fBpanel_window()\fR returns a pointer to the window of \fIpanel\fR.
+.sp
+.LP
+\fBreplace_panel()\fR replaces the current window of \fIpanel\fR with
+\fIwin\fR.
+.SH RETURN VALUES
+.sp
+.LP
+\fBpanel_window()\fR returns \fINULL\fR on failure.
+.sp
+.LP
+\fBreplace_panel()\fR returns \fBOK\fR on successful completion, \fBERR\fR
+otherwise.
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+MT-LevelUnsafe
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBcurses\fR(3CURSES), \fBpanels\fR(3CURSES), \fBattributes\fR(5)
+.SH NOTES
+.sp
+.LP
+The header \fB<panel.h>\fR automatically includes the header
+\fB<curses.h>\fR\&.
diff --git a/usr/src/man/man3curses/panels.3curses b/usr/src/man/man3curses/panels.3curses
new file mode 100644
index 0000000000..2d82249e96
--- /dev/null
+++ b/usr/src/man/man3curses/panels.3curses
@@ -0,0 +1,100 @@
+'\" te
+.\" Copyright 1989 AT&T
+.\" Portions Copyright (c) 1996, Sun Microsystems, Inc. All Rights Reserved.
+.\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
+.\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
+.\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
+.TH panels 3CURSES "31 Dec 1996" "SunOS 5.11" "Curses Library Functions"
+.SH NAME
+panels \- character based panels package
+.SH SYNOPSIS
+.LP
+.nf
+\fB#include <panel.h>\fR
+.fi
+
+.SH DESCRIPTION
+.sp
+.LP
+The \fBpanel\fR library is built using the \fBcurses\fR library, and any
+program using \fBpanels\fR routines must call one of the \fBcurses\fR
+initialization routines such as \fBinitscr\fR. A program using these routines
+must be compiled with \fB-lpanel\fR and \fB-lcurses\fR on the \fBcc\fR command
+line.
+.sp
+.LP
+The \fBpanels\fR package gives the applications programmer a way to have depth
+relationships between \fBcurses\fR windows; a \fBcurses\fR window is associated
+with every panel. The \fBpanels\fR routines allow \fBcurses\fR windows to
+overlap without making visible the overlapped portions of underlying windows.
+The initial \fBcurses\fR window, \fBstdscr\fR, lies beneath all panels. The set
+of currently visible panels is the \fIdeck\fR of panels.
+.sp
+.LP
+The \fBpanels\fR package allows the applications programmer to create panels,
+fetch and set their associated windows, shuffle panels in the deck, and
+manipulate panels in other ways.
+.SS "Routine Name Index"
+.sp
+.LP
+The following table lists each \fBpanels\fR routine and the name of the manual
+page on which it is described.
+.sp
+
+.sp
+.TS
+tab();
+cw(2.75i) cw(2.75i)
+lw(2.75i) lw(2.75i)
+.
+panels Routine NameManual Page Name
+bottom_panel\fBpanel_top\fR(3CURSES)
+del_panel\fBpanel_new\fR(3CURSES)
+hide_panel\fBpanel_show\fR(3CURSES)
+move_panel\fBpanel_move\fR(3CURSES)
+new_panel\fBpanel_new\fR(3CURSES)
+panel_above\fBpanel_above\fR(3CURSES)
+panel_below\fBpanel_above\fR(3CURSES)
+panel_hidden\fBpanel_show\fR(3CURSES)
+panel_userptr\fBpanel_userptr\fR(3CURSES)
+panel_window\fBpanel_window\fR(3CURSES)
+replace_panel\fBpanel_window\fR(3CURSES)
+set_panel_userptr\fBpanel_userptr\fR(3CURSES)
+show_panel\fBpanel_show\fR(3CURSES)
+top_panel\fBpanel_top\fR(3CURSES)
+update_panels\fBpanel_update\fR(3CURSES)
+.TE
+
+.SH RETURN VALUES
+.sp
+.LP
+Each \fBpanels\fR routine that returns a pointer to an object returns
+\fBNULL\fR if an error occurs. Each panel routine that returns an integer,
+returns \fBOK\fR if it executes successfully and \fBERR\fR if it does not.
+.SH ATTRIBUTES
+.sp
+.LP
+See \fBattributes\fR(5) for descriptions of the following attributes:
+.sp
+
+.sp
+.TS
+tab() box;
+cw(2.75i) |cw(2.75i)
+lw(2.75i) |lw(2.75i)
+.
+ATTRIBUTE TYPEATTRIBUTE VALUE
+_
+MT-LevelUnsafe
+.TE
+
+.SH SEE ALSO
+.sp
+.LP
+\fBcurses\fR(3CURSES), \fBattributes\fR(5) and 3X pages whose names begin
+"panel_" for detailed routine descriptions.
+.SH NOTES
+.sp
+.LP
+The header \fB<panel.h>\fR automatically includes the header
+\fB<curses.h>\fR\&.