+ <B>o</B> the parameter is in the range 128-159, i.e., a C1 control code. If
+ <B><A HREF="legacy_coding.3X.html">use_legacy_coding(3X)</A></B> has been called with a <B>2</B> parameter, <B>unctrl</B>
+ returns the parameter, i.e., a one-character string with the param-
+ eter as the first character. Otherwise, it returns "~@", "~A",
+ etc., analogous to "^@", "^A", C0 controls.
+
+ X/Open Curses does not document whether <B>unctrl</B> can be called before
+ initializing curses. This implementation permits that, and returns
+ the "~@", etc., values in that case.
+
+ <B>o</B> parameter values outside the 0 to 255 range. <B>unctrl</B> returns a null
+ pointer.
+
+ The strings returned by <B>unctrl</B> in this implementation are determined at
+ compile time, showing C1 controls from the upper-128 codes with a "~"
+ prefix rather than "^". Other implementations have different conven-
+ tions. For example, they may show both sets of control characters with
+ "^", and strip the parameter to 7 bits. Or they may ignore C1 controls
+ and treat all of the upper-128 codes as printable. This implementation
+ uses 8 bits but does not modify the string to reflect locale. The
+ <B><A HREF="legacy_coding.3X.html">use_legacy_coding(3X)</A></B> function allows the caller to change the output
+ of <B>unctrl</B>.
+
+ Likewise, the <B><A HREF="curs_inopts.3X.html">meta(3X)</A></B> function allows the caller to change the output
+ of <B>keyname</B>, i.e., it determines whether to use the "M-" prefix for
+ "meta" keys (codes in the range 128 to 255). Both <B>use_legacy_cod-</B>
+ <B><A HREF="use_legacy_coding.3X.html">ing(3X)</A></B> and <B><A HREF="curs_inopts.3X.html">meta(3X)</A></B> succeed only after curses is initialized. X/Open
+ Curses does not document the treatment of codes 128 to 159. When
+ treating them as "meta" keys (or if <B>keyname</B> is called before initializ-
+ ing curses), this implementation returns strings "M-^@", "M-^A", etc.
+
+ X/Open Curses documents <B>unctrl</B> as declared in <B><unctrl.h></B>, which <B>ncurses</B>
+ does. However, <B>ncurses</B>' <B><curses.h></B> includes <B><unctrl.h></B>, matching the
+ behavior of SVr4 curses. Other implementations may not do that.
+
+
+</PRE><H3><a name="h3-use_env_use_tioctl">use_env/use_tioctl</a></H3><PRE>
+ If <B>ncurses</B> is configured to provide the sp-functions extension, the
+ state of <B>use_env</B> and <B>use_tioctl</B> may be updated before creating each
+ <I>screen</I> rather than once only (<B><A HREF="curs_sp_funcs.3X.html">curs_sp_funcs(3X)</A></B>). This feature of
+ <B>use_env</B> is not provided by other implementation of curses.
+
+
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+ <B><A HREF="curses.3X.html">curses(3X)</A></B>, <B><A HREF="curs_initscr.3X.html">curs_initscr(3X)</A></B>, <B><A HREF="curs_inopts.3X.html">curs_inopts(3X)</A></B>, <B><A HREF="curs_kernel.3X.html">curs_kernel(3X)</A></B>,
+ <B><A HREF="curs_scr_dump.3X.html">curs_scr_dump(3X)</A></B>, <B><A HREF="curs_sp_funcs.3X.html">curs_sp_funcs(3X)</A></B>, <B><A HREF="curs_variables.3X.html">curs_variables(3X)</A></B>, <B>legacy_cod-</B>
+ <B><A HREF="legacy_coding.3X.html">ing(3X)</A></B>.