+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+
+</PRE><H3><a name="h3-filter">filter</a></H3><PRE>
+ The SVr4 documentation describes the action of <STRONG>filter</STRONG> only
+ in the vaguest terms. The description here is adapted
+ from the XSI Curses standard (which erroneously fails to
+ describe the disabling of <STRONG>cuu</STRONG>).
+
+
+</PRE><H3><a name="h3-keyname">keyname</a></H3><PRE>
+ The <STRONG>keyname</STRONG> function may return the names of user-defined
+ string capabilities which are defined in the terminfo en-
+ try via the <STRONG>-x</STRONG> option of <STRONG>tic</STRONG>. This implementation auto-
+ matically assigns at run-time keycodes to user-defined
+ strings which begin with "k". The keycodes start at
+ KEY_MAX, but are not guaranteed to be the same value for
+ different runs because user-defined codes are merged from
+ all terminal descriptions which have been loaded. The
+ <STRONG>use_extended_names</STRONG> function controls whether this data is
+ loaded when the terminal description is read by the li-
+ brary.
+
+
+</PRE><H3><a name="h3-nofilter_use_tioctl">nofilter/use_tioctl</a></H3><PRE>
+ The <STRONG>nofilter</STRONG> and <STRONG>use_tioctl</STRONG> routines are specific to
+ ncurses. They were not supported on Version 7, BSD or
+ System V implementations. It is recommended that any code
+ depending on ncurses extensions be conditioned using
+ NCURSES_VERSION.
+
+
+</PRE><H3><a name="h3-putwin_getwin">putwin/getwin</a></H3><PRE>
+ The <STRONG>putwin</STRONG> and <STRONG>getwin</STRONG> functions have several issues with
+ portability:
+
+ <STRONG>o</STRONG> The files written and read by these functions use an
+ implementation-specific format. Although the format
+ is an obvious target for standardization, it has been
+ overlooked.
+
+ Interestingly enough, according to the copyright dates
+ in Solaris source, the functions (along with <STRONG>scr_init</STRONG>,
+ etc.) originated with the University of California,
+ Berkeley (in 1982) and were later (in 1988) incorpo-
+ rated into SVr4. Oddly, there are no such functions
+ in the 4.3BSD curses sources.
+
+ <STRONG>o</STRONG> Most implementations simply dump the binary <STRONG>WINDOW</STRONG>
+ structure to the file. These include SVr4 curses,
+ NetBSD and PDCurses, as well as older ncurses ver-
+ sions. This implementation (as well as the X/Open
+ variant of Solaris curses, dated 1995) uses textual
+ dumps.
+
+ The implementations which use binary dumps use block-
+ I/O (the <STRONG>fwrite</STRONG> and <STRONG>fread</STRONG> functions). Those that use
+ textual dumps use buffered-I/O. A few applications
+ may happen to write extra data in the file using these
+ functions. Doing that can run into problems mixing
+ block- and buffered-I/O. This implementation reduces
+ the problem on writes by flushing the output. Howev-
+ er, reading from a file written using mixed schemes
+ may not be successful.
+
+
+</PRE><H3><a name="h3-unctrl_wunctrl">unctrl/wunctrl</a></H3><PRE>