mcprint - write binary data to printer using terminfo capabilities
Contents
Bugs
Padding in the prtr_non (mc5p), prtr_on (mc5), and prtr_off (mc4) capabilities is not interpreted.
Description
mcprint, an ncurses extension to the curses library, uses the terminal's prtr_non (mc5p) or prtr_on (mc5)
and prtr_off (mc4) media copy capabilities, if defined, to send len bytes of the given string data to a
printer attached to the terminal.
mcprint has no means of flow control to the printer nor of knowing 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 characters-per-second (cps) rating. Dot-matrix printers and
6-page-per-minute laser printers can typically handle 80 cps, so a conservative rule of thumb is to sleep
for one second after sending an 80-character line.
Extensions
mcprint is an ncurses(3NCURSES) extension, and is not found in SVr4 curses, 4.4BSD curses, or any other
previous curses implementation.
History
ncurses introduced mcprint prior to version 1.9.9g (1996).
Name
mcprint - write binary data to printer using terminfo capabilities
Portability
Applications employing this ncurses extension should condition its use on the visibility of the
NCURSES_VERSION preprocessor macro.
Return Value
On success, mcprint returns the number of characters sent to the printer.
mcprint returns ERR if the write operation fails for any reason. In that event, errno contains either a
value set by write(2), or one of the following.
ENODEV
The terminal lacks relevant media copy capabilities.
ENOMEMncurses could not allocate sufficient memory to buffer the write operation.
See Also
ncurses(3NCURSES) ncurses 6.5 2025-02-15 print(3NCURSES)
Synopsis
#include<curses.h>intmcprint(char*data,intlen);
