summaryrefslogtreecommitdiffstats
path: root/posix_users/device_and_class_specific.rst
diff options
context:
space:
mode:
Diffstat (limited to 'posix_users/device_and_class_specific.rst')
-rw-r--r--posix_users/device_and_class_specific.rst411
1 files changed, 411 insertions, 0 deletions
diff --git a/posix_users/device_and_class_specific.rst b/posix_users/device_and_class_specific.rst
new file mode 100644
index 0000000..b2dda8c
--- /dev/null
+++ b/posix_users/device_and_class_specific.rst
@@ -0,0 +1,411 @@
+Device- and Class- Specific Functions Manager
+#############################################
+
+Introduction
+============
+
+The device- and class- specific functions manager is ...
+
+The directives provided by the device- and class- specific functions
+manager are:
+
+- ``cfgetispeed`` - Reads terminal input baud rate
+
+- ``cfgetospeed`` - Reads terminal output baud rate
+
+- ``cfsetispeed`` - Sets terminal input baud rate
+
+- ``cfsetospeed`` - Set terminal output baud rate
+
+- ``tcgetattr`` - Gets terminal attributes
+
+- ``tcsetattr`` - Set terminal attributes
+
+- ``tcsendbreak`` - Sends a break to a terminal
+
+- ``tcdrain`` - Waits for all output to be transmitted to the terminal
+
+- ``tcflush`` - Discards terminal data
+
+- ``tcflow`` - Suspends/restarts terminal output
+
+- ``tcgetpgrp`` - Gets foreground process group ID
+
+- ``tcsetpgrp`` - Sets foreground process group ID
+
+Background
+==========
+
+There is currently no text in this section.
+
+Operations
+==========
+
+There is currently no text in this section.
+
+Directives
+==========
+
+This section details the device- and class- specific functions manager’s
+directives. A subsection is dedicated to each of this manager’s directives
+and describes the calling sequence, related constants, usage,
+and status codes.
+
+cfgetispeed - Reads terminal input baud rate
+--------------------------------------------
+.. index:: cfgetispeed
+.. index:: reads terminal input baud rate
+
+**CALLING SEQUENCE:**
+
+.. code:: c
+
+ #include <termios.h>
+ int cfgetispeed(
+ const struct termios \*p
+ );
+
+**STATUS CODES:**
+
+The ``cfgetispeed()`` function returns a code for baud rate.
+
+**DESCRIPTION:**
+
+The ``cfsetispeed()`` function stores a code for the terminal speed
+stored in a struct termios. The codes are defined in ``<termios.h>``
+by the macros BO, B50, B75, B110, B134, B150, B200, B300, B600, B1200,
+B1800, B2400, B4800, B9600, B19200, and B38400.
+
+The ``cfsetispeed()`` function does not do anything to the hardware.
+It merely stores a value for use by ``tcsetattr()``.
+
+**NOTES:**
+
+Baud rates are defined by symbols, such as B110, B1200, B2400. The actual
+number returned for any given speed may change from system to system.
+
+cfgetospeed - Reads terminal output baud rate
+---------------------------------------------
+.. index:: cfgetospeed
+.. index:: reads terminal output baud rate
+
+**CALLING SEQUENCE:**
+
+.. code:: c
+
+ #include <termios.h>
+ int cfgetospeed(
+ const struct termios \*p
+ );
+
+**STATUS CODES:**
+
+The ``cfgetospeed()`` function returns the termios code for the baud rate.
+
+**DESCRIPTION:**
+
+The ``cfgetospeed()`` function returns a code for the terminal speed
+stored in a ``struct termios``. The codes are defined in ``<termios.h>``
+by the macros BO, B50, B75, B110, B134, B150, B200, B300, B600, B1200, B1800,
+B2400, B4800, B9600, B19200, and B38400.
+
+The ``cfgetospeed()`` function does not do anything to the hardware.
+It merely returns the value stored by a previous call to ``tcgetattr()``.
+
+**NOTES:**
+
+Baud rates are defined by symbols, such as B110, B1200, B2400. The actual
+number returned for any given speed may change from system to system.
+
+cfsetispeed - Sets terminal input baud rate
+-------------------------------------------
+.. index:: cfsetispeed
+.. index:: sets terminal input baud rate
+
+**CALLING SEQUENCE:**
+
+.. code:: c
+
+ #include <termios.h>
+ int cfsetispeed(
+ struct termios \*p,
+ speed_t speed
+ );
+
+**STATUS CODES:**
+
+The ``cfsetispeed()`` function returns a zero when successful and
+returns -1 when an error occurs.
+
+**DESCRIPTION:**
+
+The ``cfsetispeed()`` function stores a code for the terminal speed
+stored in a struct termios. The codes are defined in ``<termios.h>``
+by the macros B0, B50, B75, B110, B134, B150, B200, B300, B600, B1200,
+B1800, B2400, B4800, B9600, B19200, and B38400.
+
+**NOTES:**
+
+This function merely stores a value in the ``termios`` structure. It
+does not change the terminal speed until a ``tcsetattr()`` is done.
+It does not detect impossible terminal speeds.
+
+cfsetospeed - Sets terminal output baud rate
+--------------------------------------------
+.. index:: cfsetospeed
+.. index:: sets terminal output baud rate
+
+**CALLING SEQUENCE:**
+
+.. code:: c
+
+ #include <termios.h>
+ int cfsetospeed(
+ struct termios \*p,
+ speed_t speed
+ );
+
+**STATUS CODES:**
+
+The ``cfsetospeed()`` function returns a zero when successful and
+returns -1 when an error occurs.
+
+**DESCRIPTION:**
+
+The ``cfsetospeed()`` function stores a code for the terminal speed stored
+in a struct ``termios``. The codes are defiined in ``<termios.h>`` by the
+macros B0, B50, B75, B110, B134, B150, B200, B300, B600, B1200, B1800, B2400,
+B4800, B9600, B19200, and B38400.
+
+The ``cfsetospeed()`` function does not do anything to the hardware. It
+merely stores a value for use by ``tcsetattr()``.
+
+**NOTES:**
+
+This function merely stores a value in the ``termios`` structure.
+It does not change the terminal speed until a ``tcsetattr()`` is done.
+It does not detect impossible terminal speeds.
+
+tcgetattr - Gets terminal attributes
+------------------------------------
+.. index:: tcgetattr
+.. index:: gets terminal attributes
+
+**CALLING SEQUENCE:**
+
+.. code:: c
+
+ #include <termios.h>
+ #include <unistd.h>
+ int tcgetattr(
+ int fildes,
+ struct termios \*p
+ );
+
+**STATUS CODES:**
+
+*EBADF*
+ Invalid file descriptor
+
+*ENOOTY*
+ Terminal control function attempted for a file that is not a terminal.
+
+**DESCRIPTION:**
+
+The ``tcgetattr()`` gets the parameters associated with the terminal
+referred to by ``fildes`` and stores them into the ``termios()``
+structure pointed to by ``termios_p``.
+
+**NOTES:**
+
+NONE
+
+tcsetattr - Set terminal attributes
+-----------------------------------
+.. index:: tcsetattr
+.. index:: set terminal attributes
+
+**CALLING SEQUENCE:**
+
+.. code:: c
+
+ #include <termios.h>
+ #include <unistd.h>
+ int tcsetattr(
+ int fildes,
+ int options,
+ const struct termios \*tp
+ );
+
+**STATUS CODES:**
+
+*E*
+ The
+
+**DESCRIPTION:**
+
+**NOTES:**
+
+tcsendbreak - Sends a break to a terminal
+-----------------------------------------
+.. index:: tcsendbreak
+.. index:: sends a break to a terminal
+
+**CALLING SEQUENCE:**
+
+.. code:: c
+
+ int tcsendbreak(
+ int fd
+ );
+
+**STATUS CODES:**
+
+*E*
+ The
+
+**DESCRIPTION:**
+
+**NOTES:**
+
+This routine is not currently supported by RTEMS but could be
+in a future version.
+
+tcdrain - Waits for all output to be transmitted to the terminal.
+-----------------------------------------------------------------
+.. index:: tcdrain
+.. index:: waits for all output to be transmitted to the terminal.
+
+**CALLING SEQUENCE:**
+
+.. code:: c
+
+ #include <termios.h>
+ #include <unistd.h>
+ int tcdrain(
+ int fildes
+ );
+
+**STATUS CODES:**
+
+*EBADF*
+ Invalid file descriptor
+
+*EINTR*
+ Function was interrupted by a signal
+
+*ENOTTY*
+ Terminal control function attempted for a file that is not a terminal.
+
+**DESCRIPTION:**
+
+The ``tcdrain()`` function waits until all output written to``fildes`` has been transmitted.
+
+**NOTES:**
+
+NONE
+
+tcflush - Discards terminal data
+--------------------------------
+.. index:: tcflush
+.. index:: discards terminal data
+
+**CALLING SEQUENCE:**
+
+.. code:: c
+
+ int tcflush(
+ int fd
+ );
+
+**STATUS CODES:**
+
+*E*
+ The
+
+**DESCRIPTION:**
+
+**NOTES:**
+
+This routine is not currently supported by RTEMS but could be
+in a future version.
+
+tcflow - Suspends/restarts terminal output.
+-------------------------------------------
+.. index:: tcflow
+.. index:: suspends/restarts terminal output.
+
+**CALLING SEQUENCE:**
+
+.. code:: c
+
+ int tcflow(
+ int fd
+ );
+
+**STATUS CODES:**
+
+*E*
+ The
+
+**DESCRIPTION:**
+
+**NOTES:**
+
+This routine is not currently supported by RTEMS but could be
+in a future version.
+
+tcgetpgrp - Gets foreground process group ID
+--------------------------------------------
+.. index:: tcgetpgrp
+.. index:: gets foreground process group id
+
+**CALLING SEQUENCE:**
+
+.. code:: c
+
+ int tcgetpgrp(
+ );
+
+**STATUS CODES:**
+
+*E*
+ The
+
+**DESCRIPTION:**
+
+**NOTES:**
+
+This routine is not currently supported by RTEMS but could be
+in a future version.
+
+tcsetpgrp - Sets foreground process group ID
+--------------------------------------------
+.. index:: tcsetpgrp
+.. index:: sets foreground process group id
+
+**CALLING SEQUENCE:**
+
+.. code:: c
+
+ int tcsetpgrp(
+ );
+
+**STATUS CODES:**
+
+*E*
+ The
+
+**DESCRIPTION:**
+
+**NOTES:**
+
+This routine is not currently supported by RTEMS but could be
+in a future version.
+
+.. COMMENT: COPYRIGHT (c) 1988-2002.
+
+.. COMMENT: On-Line Applications Research Corporation (OAR).
+
+.. COMMENT: All rights reserved.
+