summaryrefslogtreecommitdiff
path: root/man/curs_print.3x
diff options
context:
space:
mode:
Diffstat (limited to 'man/curs_print.3x')
-rw-r--r--man/curs_print.3x105
1 files changed, 72 insertions, 33 deletions
diff --git a/man/curs_print.3x b/man/curs_print.3x
index 3694beffcca1..a87c407209a1 100644
--- a/man/curs_print.3x
+++ b/man/curs_print.3x
@@ -1,5 +1,5 @@
.\"***************************************************************************
-.\" Copyright 2018-2023,2024 Thomas E. Dickey *
+.\" Copyright 2018-2024,2025 Thomas E. Dickey *
.\" Copyright 1998-2010,2017 Free Software Foundation, Inc. *
.\" *
.\" Permission is hereby granted, free of charge, to any person obtaining a *
@@ -27,8 +27,8 @@
.\" authorization. *
.\"***************************************************************************
.\"
-.\" $Id: curs_print.3x,v 1.38 2024/03/16 15:35:01 tom Exp $
-.TH curs_print 3X 2024-03-16 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
+.\" $Id: curs_print.3x,v 1.41 2025/02/15 18:42:34 tom Exp $
+.TH curs_print 3X 2025-02-15 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "Library calls"
.SH NAME
\fB\%mcprint\fP \-
write binary data to printer using \fIterminfo\fR capabilities
@@ -36,54 +36,93 @@ write binary data to printer using \fIterminfo\fR capabilities
.nf
\fB#include <curses.h>
.PP
-\fBint mcprint(char *\fIdata\fP, int \fIlen\fP);
+\fBint mcprint(char * \fIdata\fP, int \fIlen\fP);
.fi
.SH DESCRIPTION
-This function uses the \fBmc5p\fP or \fBmc4\fP and \fBmc5\fP capabilities,
-if they are present, to ship given data to a printer attached to the terminal.
+.BR \%mcprint ","
+an
+.I \%ncurses
+extension to the
+.I curses
+library,
+uses the terminal's
+.B \%prtr_non
+.RB ( mc5p )
+or
+.B \%prtr_on
+.RB ( mc5 )
+and
+.B \%prtr_off
+.RB ( mc4 )
+media copy capabilities,
+if defined,
+to send
+.I len
+bytes of the given string
+.I data
+to a printer attached to the terminal.
.PP
-Note that the \fB\%mcprint\fP 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).
+.B \%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 lasers can typically handle 80cps, so a good conservative
-rule of thumb is to sleep for a second after shipping each 80-character line.
-.
+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.
.SH RETURN VALUE
-The \fB\%mcprint\fP function returns \fBERR\fP if the write operation aborted
-for some reason.
-In this case, \fB\%errno\fP will contain either an error associated
-with \fBwrite\fP(2) or one of the following:
+On success,
+.B \%mcprint
+returns the number of characters sent to the printer.
+.PP
+.B \%mcprint
+returns
+.B ERR
+if the write operation fails for any reason.
+In that event,
+.B errno
+contains either a value set by \fIwrite\fP(2),
+or one of the following.
.TP 5
\fBENODEV\fP
-Capabilities for printer redirection do not exist.
+The terminal lacks relevant media copy capabilities.
.TP 5
\fBENOMEM\fP
-Couldn't allocate sufficient memory to buffer the printer write.
-.PP
-When \fB\%mcprint\fP succeeds, it returns the number of characters actually
-sent to the printer.
+.I \%ncurses
+could not allocate sufficient memory to buffer the write operation.
.SH EXTENSIONS
-\fB\%mcprint\fP was designed for
-\fB\%ncurses\fP(3X),
-and was not found in SVr4
-.IR curses ,
+.B \%mcprint
+is an \fB\%ncurses\fP(3X) extension,
+and is not found in SVr4
+.IR curses ","
4.4BSD
-.IR curses ,
-or any other previous curses implementation.
+.IR curses ","
+or any other previous
+.I curses
+implementation.
.SH PORTABILITY
Applications employing this
.I \%ncurses
extension should condition its use on the visibility of the
.B \%NCURSES_VERSION
preprocessor macro.
+.SH HISTORY
+.I \%ncurses
+introduced
+.I \%mcprint
+prior to version 1.9.9g (1996).
.SH BUGS
Padding in the
-\fBmc5p\fP,
-\fBmc4\fP, and
-\fBmc5\fP capabilities is not interpreted.
+.B \%prtr_non
+.RB ( mc5p ),
+.B \%prtr_on
+.RB ( mc5 ),
+and
+.B \%prtr_off
+.RB ( mc4 )
+capabilities is not interpreted.
.SH SEE ALSO
\fB\%curses\fP(3X)