1<!-- 2 **************************************************************************** 3 * Copyright 2018-2023,2024 Thomas E. Dickey * 4 * Copyright 1998-2010,2017 Free Software Foundation, Inc. * 5 * * 6 * Permission is hereby granted, free of charge, to any person obtaining a * 7 * copy of this software and associated documentation files (the * 8 * "Software"), to deal in the Software without restriction, including * 9 * without limitation the rights to use, copy, modify, merge, publish, * 10 * distribute, distribute with modifications, sublicense, and/or sell * 11 * copies of the Software, and to permit persons to whom the Software is * 12 * furnished to do so, subject to the following conditions: * 13 * * 14 * The above copyright notice and this permission notice shall be included * 15 * in all copies or substantial portions of the Software. * 16 * * 17 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * 18 * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * 19 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * 20 * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * 21 * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * 22 * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * 23 * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * 24 * * 25 * Except as contained in this notice, the name(s) of the above copyright * 26 * holders shall not be used in advertising or otherwise to promote the * 27 * sale, use or other dealings in this Software without prior written * 28 * authorization. * 29 **************************************************************************** 30 * @Id: curs_scr_dump.3x,v 1.43 2024/04/20 18:54:36 tom Exp @ 31--> 32<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> 33<HTML> 34<HEAD> 35<meta http-equiv="Content-Type" content="text/html; charset=us-ascii"> 36<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts"> 37<TITLE>curs_scr_dump 3x 2024-04-20 ncurses 6.5 Library calls</TITLE> 38<link rel="author" href="mailto:bug-ncurses@gnu.org"> 39 40</HEAD> 41<BODY> 42<H1 class="no-header">curs_scr_dump 3x 2024-04-20 ncurses 6.5 Library calls</H1> 43<PRE> 44<STRONG><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></STRONG> Library calls <STRONG><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></STRONG> 45 46 47 48 49</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE> 50 <STRONG>scr_dump</STRONG>, <STRONG>scr_restore</STRONG>, <STRONG>scr_init</STRONG>, <STRONG>scr_set</STRONG> - read/write a <EM>curses</EM> screen 51 from/to a file 52 53 54</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE> 55 <STRONG>#include</STRONG> <STRONG><curses.h></STRONG> 56 57 <STRONG>int</STRONG> <STRONG>scr_dump(const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>filename</EM><STRONG>);</STRONG> 58 <STRONG>int</STRONG> <STRONG>scr_restore(const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>filename</EM><STRONG>);</STRONG> 59 <STRONG>int</STRONG> <STRONG>scr_init(const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>filename</EM><STRONG>);</STRONG> 60 <STRONG>int</STRONG> <STRONG>scr_set(const</STRONG> <STRONG>char</STRONG> <STRONG>*</STRONG><EM>filename</EM><STRONG>);</STRONG> 61 62 63</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE> 64 <EM>curses</EM> provides applications the ability to write the contents of the 65 screen to a file and read them back. To read/write a window (rather 66 than the whole screen) from/to a file, use <STRONG><A HREF="curs_util.3x.html">getwin(3x)</A></STRONG> and <STRONG><A HREF="curs_util.3x.html">putwin(3x)</A></STRONG>, 67 respectively. 68 69 70</PRE><H3><a name="h3-scr_dump">scr_dump</a></H3><PRE> 71 <STRONG>scr_dump</STRONG> writes to <EM>filename</EM> the contents of the virtual screen; see 72 <STRONG><A HREF="curs_variables.3x.html">curscr(3x)</A></STRONG>. 73 74 75</PRE><H3><a name="h3-scr_restore">scr_restore</a></H3><PRE> 76 <STRONG>scr_restore</STRONG> updates the virtual screen to contain the contents of 77 <EM>filename</EM> (if it was validly written with <STRONG>scr_dump</STRONG>). No refresh is 78 performed; after performing any further desired updates, call 79 <STRONG><A HREF="curs_refresh.3x.html">doupdate(3x)</A></STRONG> or similar. 80 81 82</PRE><H3><a name="h3-scr_init">scr_init</a></H3><PRE> 83 <STRONG>scr_init</STRONG> reads <EM>filename</EM>, using it to initialize <EM>curses</EM> data structures 84 describing the state of the terminal screen. If these data are valid, 85 <EM>curses</EM> bases its next update of the screen on this information rather 86 than clearing it and starting from scratch. 87 88 The data fail the validity check 89 90 <STRONG>o</STRONG> if the terminal employs <EM>terminfo</EM> capabilities <STRONG>exit_ca_mode</STRONG> (<STRONG>rmcup</STRONG>) 91 or <STRONG>non_rev_rmcup</STRONG> (<STRONG>nrrmc</STRONG>) are defined, or 92 93 <STRONG>o</STRONG> if <EM>curses</EM> knows that the terminal has been written to since the 94 preceding <STRONG>scr_dump</STRONG> call. 95 96 <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 97 screen with another process that has done a <STRONG>scr_dump</STRONG> after <STRONG><A HREF="curs_initscr.3x.html">endwin(3x)</A></STRONG>. 98 99 100</PRE><H3><a name="h3-scr_set">scr_set</a></H3><PRE> 101 The <STRONG>scr_set</STRONG> routine is a combination of <STRONG>scr_restore</STRONG> and <STRONG>scr_init</STRONG>. It 102 tells the program that the information in <EM>filename</EM> is what is currently 103 on the screen, and also what the program wants on the screen. This can 104 be thought of as a screen inheritance function. 105 106 107</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE> 108 These functions return <STRONG>OK</STRONG> on success and <STRONG>ERR</STRONG> on failure. 109 110 X/Open defines no failure conditions. In this implementation, each 111 function fails if it cannot open <EM>filename</EM>. 112 113 114</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE> 115 <STRONG>scr_init</STRONG>, <STRONG>scr_set</STRONG>, and <STRONG>scr_restore</STRONG> may be macros. 116 117 118</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE> 119 X/Open Curses, Issue 4 describes these functions. 120 121 SVr4 omitted the <EM>const</EM> qualifiers. 122 123 SVr4 documentation describes <STRONG>scr_init</STRONG> such that the dump data is also 124 considered invalid "if the time-stamp of the tty is old" but does not 125 define "old". 126 127 128</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> 129 <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>, 130 <STRONG>system(3)</STRONG>, <STRONG><A HREF="scr_dump.5.html">scr_dump(5)</A></STRONG> 131 132 133 134ncurses 6.5 2024-04-20 <STRONG><A HREF="curs_scr_dump.3x.html">curs_scr_dump(3x)</A></STRONG> 135</PRE> 136<div class="nav"> 137<ul> 138<li><a href="#h2-NAME">NAME</a></li> 139<li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li> 140<li><a href="#h2-DESCRIPTION">DESCRIPTION</a> 141<ul> 142<li><a href="#h3-scr_dump">scr_dump</a></li> 143<li><a href="#h3-scr_restore">scr_restore</a></li> 144<li><a href="#h3-scr_init">scr_init</a></li> 145<li><a href="#h3-scr_set">scr_set</a></li> 146</ul> 147</li> 148<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li> 149<li><a href="#h2-NOTES">NOTES</a></li> 150<li><a href="#h2-PORTABILITY">PORTABILITY</a></li> 151<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li> 152</ul> 153</div> 154</BODY> 155</HTML> 156