(libc.info.gz) Line Control

Info Catalog (libc.info.gz) BSD Terminal Modes (libc.info.gz) Low-Level Terminal Interface (libc.info.gz) Noncanon Example
 
 17.6 Line Control Functions
 ===========================
 
 These functions perform miscellaneous control actions on terminal
 devices.  As regards terminal access, they are treated like doing
 output: if any of these functions is used by a background process on its
 controlling terminal, normally all processes in the process group are
 sent a 'SIGTTOU' signal.  The exception is if the calling process itself
 is ignoring or blocking 'SIGTTOU' signals, in which case the operation
 is performed and no signal is sent.   Job Control.
 
  -- Function: int tcsendbreak (int FILEDES, int DURATION)
      Preliminary: | MT-Unsafe race:tcattr(filedes)/bsd | AS-Unsafe |
      AC-Unsafe corrupt/bsd |  POSIX Safety Concepts.
 
      This function generates a break condition by transmitting a stream
      of zero bits on the terminal associated with the file descriptor
      FILEDES.  The duration of the break is controlled by the DURATION
      argument.  If zero, the duration is between 0.25 and 0.5 seconds.
      The meaning of a nonzero value depends on the operating system.
 
      This function does nothing if the terminal is not an asynchronous
      serial data port.
 
      The return value is normally zero.  In the event of an error, a
      value of -1 is returned.  The following 'errno' error conditions
      are defined for this function:
 
      'EBADF'
           The FILEDES is not a valid file descriptor.
 
      'ENOTTY'
           The FILEDES is not associated with a terminal device.
 
  -- Function: int tcdrain (int FILEDES)
      Preliminary: | MT-Safe | AS-Safe | AC-Safe |  POSIX Safety
      Concepts.
 
      The 'tcdrain' function waits until all queued output to the
      terminal FILEDES has been transmitted.
 
      This function is a cancellation point in multi-threaded programs.
      This is a problem if the thread allocates some resources (like
      memory, file descriptors, semaphores or whatever) at the time
      'tcdrain' is called.  If the thread gets canceled these resources
      stay allocated until the program ends.  To avoid this calls to
      'tcdrain' should be protected using cancellation handlers.
 
      The return value is normally zero.  In the event of an error, a
      value of -1 is returned.  The following 'errno' error conditions
      are defined for this function:
 
      'EBADF'
           The FILEDES is not a valid file descriptor.
 
      'ENOTTY'
           The FILEDES is not associated with a terminal device.
 
      'EINTR'
           The operation was interrupted by delivery of a signal.  
           Interrupted Primitives.
 
  -- Function: int tcflush (int FILEDES, int QUEUE)
      Preliminary: | MT-Safe | AS-Safe | AC-Safe |  POSIX Safety
      Concepts.
 
      The 'tcflush' function is used to clear the input and/or output
      queues associated with the terminal file FILEDES.  The QUEUE
      argument specifies which queue(s) to clear, and can be one of the
      following values:
 
      'TCIFLUSH'
 
           Clear any input data received, but not yet read.
 
      'TCOFLUSH'
 
           Clear any output data written, but not yet transmitted.
 
      'TCIOFLUSH'
 
           Clear both queued input and output.
 
      The return value is normally zero.  In the event of an error, a
      value of -1 is returned.  The following 'errno' error conditions
      are defined for this function:
 
      'EBADF'
           The FILEDES is not a valid file descriptor.
 
      'ENOTTY'
           The FILEDES is not associated with a terminal device.
 
      'EINVAL'
           A bad value was supplied as the QUEUE argument.
 
      It is unfortunate that this function is named 'tcflush', because
      the term "flush" is normally used for quite another
      operation--waiting until all output is transmitted--and using it
      for discarding input or output would be confusing.  Unfortunately,
      the name 'tcflush' comes from POSIX and we cannot change it.
 
  -- Function: int tcflow (int FILEDES, int ACTION)
      Preliminary: | MT-Unsafe race:tcattr(filedes)/bsd | AS-Unsafe |
      AC-Safe |  POSIX Safety Concepts.
 
      The 'tcflow' function is used to perform operations relating to
      XON/XOFF flow control on the terminal file specified by FILEDES.
 
      The ACTION argument specifies what operation to perform, and can be
      one of the following values:
 
      'TCOOFF'
           Suspend transmission of output.
 
      'TCOON'
           Restart transmission of output.
 
      'TCIOFF'
           Transmit a STOP character.
 
      'TCION'
           Transmit a START character.
 
      For more information about the STOP and START characters, see 
      Special Characters.
 
      The return value is normally zero.  In the event of an error, a
      value of -1 is returned.  The following 'errno' error conditions
      are defined for this function:
 
      'EBADF'
           The FILEDES is not a valid file descriptor.
 
      'ENOTTY'
           The FILEDES is not associated with a terminal device.
 
      'EINVAL'
           A bad value was supplied as the ACTION argument.
 
Info Catalog (libc.info.gz) BSD Terminal Modes (libc.info.gz) Low-Level Terminal Interface (libc.info.gz) Noncanon Example
automatically generated by info2html