From 1264a8f1089fad85cabb024c930b19b0a36864b4 Mon Sep 17 00:00:00 2001 From: Amar Takhar Date: Sun, 17 Jan 2016 00:55:21 -0500 Subject: Split document into seperate files by section. --- posix_users/device_and_class_specific.rst | 411 ++++++++++++++++++++++++++++++ 1 file changed, 411 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..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 + 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 - Reads terminal output baud rate +--------------------------------------------- +.. index:: cfgetospeed +.. index:: reads terminal output baud rate + +**CALLING SEQUENCE:** + +.. code:: 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 - Sets terminal input baud rate +------------------------------------------- +.. index:: cfsetispeed +.. index:: sets terminal input baud rate + +**CALLING SEQUENCE:** + +.. code:: 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 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 + 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 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 + #include + 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 + #include + 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 + #include + 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. + -- cgit v1.2.3