# curs_print 3x 2024-03-16 ncurses 6.5 Library calls

    curs_print(3x)                   Library calls                  curs_print(3x)

## NAME

           mcprint - write binary data to printer using terminfo capabilities

## SYNOPSIS

           #include <curses.h>

           int mcprint(char *data, int len);

## DESCRIPTION

           This  function  uses  the mc5p or mc4 and mc5 capabilities, if they are
           present, to ship given data to a printer attached to the terminal.

           Note that the mcprint code has no way  to  do  flow  control  with  the
           printer  or  to  know  how  much buffering it has.  Your application is
           responsible for keeping the rate of writes to  the  printer  below  its
           continuous  throughput  rate  (typically  about half of its nominal cps
           rating).   Dot-matrix  printers  and   6-page-per-minute   lasers   can
           typically  handle  80cps,  so  a  good conservative rule of thumb is to
           sleep for a second after shipping each 80-character line.

## RETURN VALUE

           The mcprint function returns ERR if the  write  operation  aborted  for
           some  reason.   In  this  case,  errno  will  contain  either  an error
           associated with write(2) or one of the following:

           ENODEV
                Capabilities for printer redirection do not exist.

           ENOMEM
                Couldn't allocate sufficient memory to buffer the printer write.

           When mcprint succeeds, it returns the  number  of  characters  actually
           sent to the printer.

## EXTENSIONS

           mcprint was designed for ncurses(3x), and was not found in SVr4 curses,
           4.4BSD curses, or any other previous curses implementation.

## PORTABILITY

           Applications employing this ncurses extension should condition its  use
           on the visibility of the NCURSES_VERSION preprocessor macro.

## BUGS

           Padding in the mc5p, mc4, and mc5 capabilities is not interpreted.

## SEE ALSO

           curses(3x)

    ncurses 6.5                       2024-03-16                    curs_print(3x)