summaryrefslogtreecommitdiffstats
path: root/upstream/archlinux/man3p/cfgetispeed.3p
diff options
context:
space:
mode:
Diffstat (limited to 'upstream/archlinux/man3p/cfgetispeed.3p')
-rw-r--r--upstream/archlinux/man3p/cfgetispeed.3p128
1 files changed, 128 insertions, 0 deletions
diff --git a/upstream/archlinux/man3p/cfgetispeed.3p b/upstream/archlinux/man3p/cfgetispeed.3p
new file mode 100644
index 00000000..f65a113d
--- /dev/null
+++ b/upstream/archlinux/man3p/cfgetispeed.3p
@@ -0,0 +1,128 @@
+'\" et
+.TH CFGETISPEED "3P" 2017 "IEEE/The Open Group" "POSIX Programmer's Manual"
+.\"
+.SH PROLOG
+This manual page is part of the POSIX Programmer's Manual.
+The Linux implementation of this interface may differ (consult
+the corresponding Linux manual page for details of Linux behavior),
+or the interface may not be implemented on Linux.
+.\"
+.SH NAME
+cfgetispeed
+\(em get input baud rate
+.SH SYNOPSIS
+.LP
+.nf
+#include <termios.h>
+.P
+speed_t cfgetispeed(const struct termios *\fItermios_p\fP);
+.fi
+.SH DESCRIPTION
+The
+\fIcfgetispeed\fR()
+function shall extract the input baud rate from the
+.BR termios
+structure to which the
+.IR termios_p
+argument points.
+.P
+This function shall return exactly the value in the
+.BR termios
+data structure, without interpretation.
+.SH "RETURN VALUE"
+Upon successful completion,
+\fIcfgetispeed\fR()
+shall return a value of type
+.BR speed_t
+representing the input baud rate.
+.SH ERRORS
+No errors are defined.
+.LP
+.IR "The following sections are informative."
+.SH EXAMPLES
+None.
+.SH "APPLICATION USAGE"
+None.
+.SH RATIONALE
+The term ``baud'' is used historically here, but is not technically
+correct. This is properly ``bits per second'', which may not be the
+same as baud. However, the term is used because of the historical
+usage and understanding.
+.P
+The
+\fIcfgetospeed\fR(),
+\fIcfgetispeed\fR(),
+\fIcfsetospeed\fR(),
+and
+\fIcfsetispeed\fR()
+functions do not take arguments as numbers, but rather as symbolic
+names. There are two reasons for this:
+.IP " 1." 4
+Historically, numbers were not used because of the way the rate was
+stored in the data structure. This is retained even though a
+function is now used.
+.IP " 2." 4
+More importantly, only a limited set of possible rates is at all
+portable, and this constrains the application to that set.
+.P
+There is nothing to prevent an implementation accepting as an extension
+a number (such as 126), and since the encoding of the Bxxx symbols is
+not specified, this can be done to avoid introducing ambiguity.
+.P
+Setting the input baud rate to zero was a mechanism to allow for split
+baud rates. Clarifications in this volume of POSIX.1\(hy2017 have made it possible to determine
+whether split rates are supported and to support them without having to
+treat zero as a special case. Since this functionality is also
+confusing, it has been declared obsolescent.
+The 0 argument referred to is the literal constant 0, not the symbolic
+constant B0. This volume of POSIX.1\(hy2017 does not preclude B0 from being defined as the value
+0; in fact, implementations would likely benefit from the two being
+equivalent. This volume of POSIX.1\(hy2017 does not fully specify whether the previous
+\fIcfsetispeed\fR()
+value is retained after a
+\fItcgetattr\fR()
+as the actual value or as zero. Therefore, conforming applications should
+always set both the input speed and output speed when setting either.
+.P
+In historical implementations, the baud rate information is
+traditionally kept in
+.BR c_cflag .
+Applications should be written to presume that this might be the case
+(and thus not blindly copy
+.BR c_cflag ),
+but not to rely on it in case it is in some other field of the
+structure. Setting the
+.BR c_cflag
+field absolutely after setting a baud rate is a non-portable action
+because of this. In general, the unused parts of the flag fields might
+be used by the implementation and should not be blindly copied from the
+descriptions of one terminal device to another.
+.SH "FUTURE DIRECTIONS"
+None.
+.SH "SEE ALSO"
+.IR "\fIcfgetospeed\fR\^(\|)",
+.IR "\fIcfsetispeed\fR\^(\|)",
+.IR "\fIcfsetospeed\fR\^(\|)",
+.IR "\fItcgetattr\fR\^(\|)"
+.P
+The Base Definitions volume of POSIX.1\(hy2017,
+.IR "Chapter 11" ", " "General Terminal Interface",
+.IR "\fB<termios.h>\fP"
+.\"
+.SH COPYRIGHT
+Portions of this text are reprinted and reproduced in electronic form
+from IEEE Std 1003.1-2017, Standard for Information Technology
+-- Portable Operating System Interface (POSIX), The Open Group Base
+Specifications Issue 7, 2018 Edition,
+Copyright (C) 2018 by the Institute of
+Electrical and Electronics Engineers, Inc and The Open Group.
+In the event of any discrepancy between this version and the original IEEE and
+The Open Group Standard, the original IEEE and The Open Group Standard
+is the referee document. The original Standard can be obtained online at
+http://www.opengroup.org/unix/online.html .
+.PP
+Any typographical or formatting errors that appear
+in this page are most likely
+to have been introduced during the conversion of the source files to
+man page format. To report such errors, see
+https://www.kernel.org/doc/man-pages/reporting_bugs.html .