# curs_scr_dump 3x

    curs_scr_dump(3x)                               curs_scr_dump(3x)

## NAME

           scr_dump,  scr_restore, scr_init, scr_set - read (write) a
           curses screen from (to) a file

## SYNOPSIS

           #include <curses.h>

           int scr_dump(const char *filename);
           int scr_restore(const char *filename);
           int scr_init(const char *filename);
           int scr_set(const char *filename);

## DESCRIPTION

           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
           data  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 written 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)].

## RETURN VALUE

           All  routines  return  the integer ERR upon failure and OK
           upon success.

## NOTES

           Note  that  scr_init,  scr_set,  and  scr_restore  may  be
           macros.

## PORTABILITY

           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 don't define "old".

## SEE ALSO

           curses(3x),      curs_initscr(3x),       curs_refresh(3x),
           curs_util(3x), system(3S)

                                                    curs_scr_dump(3x)