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