Provided by: ncurses-doc_6.4+20230625-2_all bug

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(3NCURSES), 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

       ncurses(3NCURSES)