scr_dump, scr_restore, scr_init, scr_set - read (write) a
curses screen from (to) a file
int scr_dump(const char *filename);
int scr_restore(const char *filename);
int scr_init(const char *filename);
int scr_set(const char *filename);
The scr_dump routine dumps the current contents of the
virtual screen to the file filename.
The scr_restore routine sets the virtual screen to the
contents of filename, which must have been written using
scr_dump. The next call to doupdate restores the screen
to the way it looked in the dump file.
The scr_init routine reads in the contents of filename and
uses them to initialize the curses data structures about
what the terminal currently has on its screen. If the da-
ta is determined to be valid, curses bases its next update
of the screen on this information rather than clearing the
screen and starting from scratch. scr_init is used after
initscr or a system call to share the screen with another
process which has done a scr_dump after its endwin call.
The data is declared invalid if the terminfo capabilities
rmcup and nrrmc exist; also if the terminal has been writ-
ten to since the preceding scr_dump call.
The scr_set routine is a combination of scr_restore and
scr_init. It tells the program that the information in
filename is what is currently on the screen, and also what
the program wants on the screen. This can be thought of
as a screen inheritance function.
To read (write) a window from (to) a file, use the getwin
and putwin routines [see curs_util(3x)].
All routines return the integer ERR upon failure and OK
X/Open defines no error conditions. In this implementa-
tion, each will return an error if the file cannot be
Note that scr_init, scr_set, and scr_restore may be
The XSI Curses standard, Issue 4, describes these func-
tions (adding the const qualifiers).
The SVr4 docs merely say under scr_init that the dump data
is also considered invalid "if the time-stamp of the tty
is old" but do not define "old".
curses(3x), curs_initscr(3x), curs_refresh(3x),
Man(1) output converted with