The _aaaa_dddd_dddd_wwww_cccc_hhhh, _wwww_aaaa_dddd_dddd_wwww_cccc_hhhh, _mmmm_vvvv_aaaa_dddd_dddd_wwww_cccc_hhhh, and _mmmm_vvvv_wwww_aaaa_dddd_dddd_wwww_cccc_hhhh routines put the character
_w_c_h, holding a _wwww_cccc_hhhh_aaaa_rrrr______tttt 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 _pppp_uuuu_tttt_wwww_cccc_hhhh_aaaa_rrrr in the C multibyte library.
At the right margin, an automatic newline is performed. At the bottom of
the scrolling region, if _ssss_cccc_rrrr_oooo_llll_llll_oooo_kkkk is enabled, the scrolling region is
scrolled up one line.
If _w_c_h is a tab, newline, or backspace, the cursor is moved appropriately
within the window. A newline also does a _cccc_llll_rrrr_tttt_oooo_eeee_oooo_llll before moving. Tabs
are considered to be at every eighth column. If _w_c_h is another control
character, it is drawn in the _^^^^_X notation. Calling _wwww_iiii_nnnn_wwww_cccc_hhhh after adding a
control character does not return the control character, but instead
returns the representation of the control character.
Video attributes can be combined with a _wwww_cccc_hhhh_aaaa_rrrr______tttt 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 _iiii_nnnn_wwww_cccc_hhhh and _aaaa_dddd_dddd_wwww_cccc_hhhh.) [see _ssss_tttt_aaaa_nnnn_dddd_oooo_uuuu_tttt, predefined
video attribute constants, on the _cccc_uuuu_rrrr_ssss______aaaa_tttt_tttt_rrrr(3X) page].
The _eeee_cccc_hhhh_oooo_wwww_cccc_hhhh_aaaa_rrrr and _wwww_eeee_cccc_hhhh_oooo_wwww_cccc_hhhh_aaaa_rrrr routines are functionally equivalent to a
call to _aaaa_dddd_dddd_wwww_cccc_hhhh followed by a call to _rrrr_eeee_ffff_rrrr_eeee_ssss_hhhh, or a call to _wwww_aaaa_dddd_dddd_wwww_cccc_hhhh
followed by a call to _wwww_rrrr_eeee_ffff_rrrr_eeee_ssss_hhhh. 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.
LLLLiiiinnnneeee GGGGrrrraaaapppphhhhiiiiccccssss
The following variables may be used to add line drawing characters to the
screen with routines of the _aaaa_dddd_dddd_wwww_cccc_hhhh family. When variables are defined
for the terminal, the _AAAA______AAAA_LLLL_TTTT_CCCC_HHHH_AAAA_RRRR_SSSS_EEEE_TTTT bit is turned on [see _cccc_uuuu_rrrr_ssss______aaaa_tttt_tttt_rrrr(3X)].
Otherwise, the default character listed below is stored in the variable.
The names chosen are consistent with the VT100 nomenclature.
All routines return the integer _EEEE_RRRR_RRRR upon failure and an integer value
other than _EEEE_RRRR_RRRR upon successful completion, unless otherwise noted in the
preceding routine descriptions.
NNNNOOOOTTTTEEEESSSS
The header file _<<<<_cccc_uuuu_rrrr_ssss_eeee_ssss_...._hhhh_>>>> automatically includes the header files
_<<<<_ssss_tttt_dddd_iiii_oooo_...._hhhh_>>>> and _<<<<_uuuu_nnnn_cccc_tttt_rrrr_llll_...._hhhh_>>>>.
Note that _aaaa_dddd_dddd_wwww_cccc_hhhh, _mmmm_vvvv_aaaa_dddd_dddd_wwww_cccc_hhhh, _mmmm_vvvv_wwww_aaaa_dddd_dddd_wwww_cccc_hhhh, and _eeee_cccc_hhhh_oooo_wwww_cccc_hhhh_aaaa_rrrr may be macros.