From 72a62ad88f82fe1ffee50024db4dd0f3fa5806f7 Mon Sep 17 00:00:00 2001 From: Chris Johns Date: Thu, 3 Nov 2016 16:58:08 +1100 Subject: Rename all manuals with an _ to have a -. It helps released naming of files. --- posix-users/device_and_class_specific.rst | 460 ++++++++++++++++++++++++++++++ 1 file changed, 460 insertions(+) create mode 100644 posix-users/device_and_class_specific.rst (limited to 'posix-users/device_and_class_specific.rst') diff --git a/posix-users/device_and_class_specific.rst b/posix-users/device_and_class_specific.rst new file mode 100644 index 0000000..24b2763 --- /dev/null +++ b/posix-users/device_and_class_specific.rst @@ -0,0 +1,460 @@ +.. comment SPDX-License-Identifier: CC-BY-SA-4.0 + +.. COMMENT: COPYRIGHT (c) 1988-2002. +.. COMMENT: On-Line Applications Research Corporation (OAR). +.. COMMENT: All rights reserved. + +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: + +cfgetispeed - Reads terminal input baud rate +-------------------------------------------- +.. index:: cfgetispeed +.. index:: reads terminal input baud rate + +**CALLING SEQUENCE:** + +.. code-block:: c + + #include + 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 ```` 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: + +cfgetospeed - Reads terminal output baud rate +--------------------------------------------- +.. index:: cfgetospeed +.. index:: reads terminal output baud rate + +**CALLING SEQUENCE:** + +.. code-block:: c + + #include + 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 ```` 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: + +cfsetispeed - Sets terminal input baud rate +------------------------------------------- +.. index:: cfsetispeed +.. index:: sets terminal input baud rate + +**CALLING SEQUENCE:** + +.. code-block:: c + + #include + 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 ```` by the macros ``BO``, +``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: + +cfsetospeed - Sets terminal output baud rate +-------------------------------------------- +.. index:: cfsetospeed +.. index:: sets terminal output baud rate + +**CALLING SEQUENCE:** + +.. code-block:: c + + #include + 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 ```` by the macros +``BO``, ``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: + +tcgetattr - Gets terminal attributes +------------------------------------ +.. index:: tcgetattr +.. index:: gets terminal attributes + +**CALLING SEQUENCE:** + +.. code-block:: c + + #include + #include + int tcgetattr( + int fildes, + struct termios *p + ); + +**STATUS CODES:** + +.. list-table:: + :class: rtems-table + + * - ``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: + +tcsetattr - Set terminal attributes +----------------------------------- +.. index:: tcsetattr +.. index:: set terminal attributes + +**CALLING SEQUENCE:** + +.. code-block:: c + + #include + #include + int tcsetattr( + int fildes, + int options, + const struct termios *tp + ); + +**STATUS CODES:** + +.. list-table:: + :class: rtems-table + + * - ``E`` + - The + +**DESCRIPTION:** + +**NOTES:** + +.. _tcsendbreak: + +tcsendbreak - Sends a break to a terminal +----------------------------------------- +.. index:: tcsendbreak +.. index:: sends a break to a terminal + +**CALLING SEQUENCE:** + +.. code-block:: c + + int tcsendbreak( + int fd + ); + +**STATUS CODES:** + +.. list-table:: + :class: rtems-table + + * - ``E`` + - The + +**DESCRIPTION:** + +**NOTES:** + +This routine is not currently supported by RTEMS but could be +in a future version. + +.. _tcdrain: + +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-block:: c + + #include + #include + int tcdrain( + int fildes + ); + +**STATUS CODES:** + +.. list-table:: + :class: rtems-table + + * - ``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: + +tcflush - Discards terminal data +-------------------------------- +.. index:: tcflush +.. index:: discards terminal data + +**CALLING SEQUENCE:** + +.. code-block:: c + + int tcflush( + int fd + ); + +**STATUS CODES:** + +.. list-table:: + :class: rtems-table + + * - ``E`` + - The + +**DESCRIPTION:** + +**NOTES:** + +This routine is not currently supported by RTEMS but could be in a future +version. + +.. _tcflow: + +tcflow - Suspends/restarts terminal output. +------------------------------------------- +.. index:: tcflow +.. index:: suspends/restarts terminal output. + +**CALLING SEQUENCE:** + +.. code-block:: c + + int tcflow( + int fd + ); + +**STATUS CODES:** + +.. list-table:: + :class: rtems-table + + * - ``E`` + - The + +**DESCRIPTION:** + +**NOTES:** + +This routine is not currently supported by RTEMS but could be in a future +version. + +.. _tcgetpgrp: + +tcgetpgrp - Gets foreground process group ID +-------------------------------------------- +.. index:: tcgetpgrp +.. index:: gets foreground process group id + +**CALLING SEQUENCE:** + +.. code-block:: c + + int tcgetpgrp( + ); + +**STATUS CODES:** + +.. list-table:: + :class: rtems-table + + * - ``E`` + - The + +**DESCRIPTION:** + +**NOTES:** + +This routine is not currently supported by RTEMS but could be in a future +version. + +.. _tcsetpgrp: + +tcsetpgrp - Sets foreground process group ID +-------------------------------------------- +.. index:: tcsetpgrp +.. index:: sets foreground process group id + +**CALLING SEQUENCE:** + +.. code-block:: c + + int tcsetpgrp( + ); + +**STATUS CODES:** + +.. list-table:: + :class: rtems-table + + * - ``E`` + - The + +**DESCRIPTION:** + +**NOTES:** + +This routine is not currently supported by RTEMS but could be in a future +version. -- cgit v1.2.3