logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

mcprint - write binary data to printer using terminfo capabilities

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

See Also