# curs_print 3x

    curs_print(3x)                                                  curs_print(3x)

## NAME

           mcprint - ship binary data to printer

## 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.

## PORTABILITY

           The mcprint call was designed for ncurses(3x), and is not found in SVr4
           curses, 4.4BSD curses, or any other previous version of curses.

## BUGS

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

## SEE ALSO

           curses(3x)

                                                                    curs_print(3x)