+ Either of the foregoing conditions means that <EM>curses</EM> cannot assume that
+ the terminal's contents match their representation in <EM>filename</EM>. The
+ former is due to terminal features (such as <STRONG>xterm(1)</STRONG>'s "alternate
+ screen") that couple cursor-positioning mode with a local cache of
+ screen contents. <EM>curses</EM> cannot know whether the terminal is displaying
+ from that local cache at the time the application calls <STRONG>scr_init</STRONG>, so it
+ makes a pessimistic assumption that a full redraw is required; see
+ subsection "Cursor Motions" of <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>.
+
+ <STRONG>scr_init</STRONG> could be used after <STRONG><A HREF="curs_initscr.3x.html">initscr(3x)</A></STRONG> or <STRONG>system(3)</STRONG> to share the
+ screen with another process that has done a <STRONG>scr_dump</STRONG> after <STRONG><A HREF="curs_initscr.3x.html">endwin(3x)</A></STRONG>.
+ An application that supports suspending its state on exit and
+ subsequent resumption upon later execution might use <STRONG>scr_dump</STRONG> and
+ <STRONG>scr_init</STRONG> thus.
+
+
+</PRE><H3><a name="h3-scr_set">scr_set</a></H3><PRE>
+ <STRONG>scr_set</STRONG> combines <STRONG>scr_restore</STRONG> and <STRONG>scr_init</STRONG>, synchronizing the contents
+ of <EM>filename</EM> with the virtual screen. It can be regarded as a screen
+ inheritance function; consider a real-time screen-sharing application.
+
+
+</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
+ These functions return <STRONG>OK</STRONG> on success and <STRONG>ERR</STRONG> on failure.
+
+ In <EM>ncurses</EM>, each function returns <STRONG>ERR</STRONG> if it cannot open <EM>filename</EM>.
+ <STRONG>scr_init</STRONG>, <STRONG>scr_restore</STRONG>, and <STRONG>scr_set</STRONG> return <STRONG>ERR</STRONG> if the contents of
+ <EM>filename</EM> are invalid.
+
+
+</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
+ <STRONG>scr_init</STRONG>, <STRONG>scr_restore</STRONG>, and <STRONG>scr_set</STRONG> may be implemented as macros.
+
+
+</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
+ X/Open Curses, Issue 4 describes these functions. It specifies no
+ error conditions for them.
+
+ SVr4 omitted the <EM>const</EM> qualifiers.
+
+ SVr4 documentation describes <STRONG>scr_init</STRONG> such that the dump data is also
+ considered invalid "if the time-stamp of the tty is old" but does not
+ define "old".
+
+
+</PRE><H2><a name="h2-HISTORY">HISTORY</a></H2><PRE>
+ SVr3 (1987) introduced <STRONG>scr_dump</STRONG>, <STRONG>scr_init</STRONG>, and <STRONG>scr_restore</STRONG>. SVr3.1
+ added <STRONG>scr_set</STRONG>.
+
+
+</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
+ <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>, <STRONG><A HREF="curs_initscr.3x.html">curs_initscr(3x)</A></STRONG>, <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>, <STRONG><A HREF="curs_util.3x.html">curs_util(3x)</A></STRONG>,
+ <STRONG>system(3)</STRONG>, <STRONG><A HREF="scr_dump.5.html">scr_dump(5)</A></STRONG>, <STRONG><A HREF="terminfo.5.html">terminfo(5)</A></STRONG>