Provided by: ncurses-doc_6.4+20240113-1ubuntu2_all bug

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

       ncurses(3NCURSES)