<html lang="en">
<head>
<title>Low-Level Terminal Interface - The GNU C Library</title>
<meta http-equiv="Content-Type" content="text/html">
<meta name="description" content="The GNU C Library">
<meta name="generator" content="makeinfo 4.13">
<link title="Top" rel="start" href="index.html#Top">
<link rel="prev" href="Sockets.html#Sockets" title="Sockets">
<link rel="next" href="Syslog.html#Syslog" title="Syslog">
<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
<!--
This file documents the GNU C library.

This is Edition 0.12, last updated 2007-10-27,
of `The GNU C Library Reference Manual', for version
2.8 (Sourcery G++ Lite 2011.03-41).

Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2001, 2002,
2003, 2007, 2008, 2010 Free Software Foundation, Inc.

Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3 or
any later version published by the Free Software Foundation; with the
Invariant Sections being ``Free Software Needs Free Documentation''
and ``GNU Lesser General Public License'', the Front-Cover texts being
``A GNU Manual'', and with the Back-Cover Texts as in (a) below.  A
copy of the license is included in the section entitled "GNU Free
Documentation License".

(a) The FSF's Back-Cover Text is: ``You have the freedom to
copy and modify this GNU manual.  Buying copies from the FSF
supports it in developing GNU and promoting software freedom.''-->
<meta http-equiv="Content-Style-Type" content="text/css">
<style type="text/css"><!--
  pre.display { font-family:inherit }
  pre.format  { font-family:inherit }
  pre.smalldisplay { font-family:inherit; font-size:smaller }
  pre.smallformat  { font-family:inherit; font-size:smaller }
  pre.smallexample { font-size:smaller }
  pre.smalllisp    { font-size:smaller }
  span.sc    { font-variant:small-caps }
  span.roman { font-family:serif; font-weight:normal; } 
  span.sansserif { font-family:sans-serif; font-weight:normal; } 
--></style>
<link rel="stylesheet" type="text/css" href="../cs.css">
</head>
<body>
<div class="node">
<a name="Low-Level-Terminal-Interface"></a>
<a name="Low_002dLevel-Terminal-Interface"></a>
<p>
Next:&nbsp;<a rel="next" accesskey="n" href="Syslog.html#Syslog">Syslog</a>,
Previous:&nbsp;<a rel="previous" accesskey="p" href="Sockets.html#Sockets">Sockets</a>,
Up:&nbsp;<a rel="up" accesskey="u" href="index.html#Top">Top</a>
<hr>
</div>

<!-- %MENU% How to change the characteristics of a terminal device -->
<h2 class="chapter">17 Low-Level Terminal Interface</h2>

<p>This chapter describes functions that are specific to terminal devices. 
You can use these functions to do things like turn off input echoing;
set serial line characteristics such as line speed and flow control; and
change which characters are used for end-of-file, command-line editing,
sending signals, and similar control functions.

   <p>Most of the functions in this chapter operate on file descriptors. 
See <a href="Low_002dLevel-I_002fO.html#Low_002dLevel-I_002fO">Low-Level I/O</a>, for more information about what a file
descriptor is and how to open a file descriptor for a terminal device.

<ul class="menu">
<li><a accesskey="1" href="Is-It-a-Terminal.html#Is-It-a-Terminal">Is It a Terminal</a>:             How to determine if a file is a terminal
			         device, and what its name is. 
<li><a accesskey="2" href="I_002fO-Queues.html#I_002fO-Queues">I/O Queues</a>:                   About flow control and typeahead. 
<li><a accesskey="3" href="Canonical-or-Not.html#Canonical-or-Not">Canonical or Not</a>:             Two basic styles of input processing. 
<li><a accesskey="4" href="Terminal-Modes.html#Terminal-Modes">Terminal Modes</a>:               How to examine and modify flags controlling
			         details of terminal I/O: echoing,
                                 signals, editing.  Posix. 
<li><a accesskey="5" href="BSD-Terminal-Modes.html#BSD-Terminal-Modes">BSD Terminal Modes</a>:           BSD compatible terminal mode setting
<li><a accesskey="6" href="Line-Control.html#Line-Control">Line Control</a>:                 Sending break sequences, clearing
                                 terminal buffers ... 
<li><a accesskey="7" href="Noncanon-Example.html#Noncanon-Example">Noncanon Example</a>:             How to read single characters without echo. 
<li><a accesskey="8" href="Pseudo_002dTerminals.html#Pseudo_002dTerminals">Pseudo-Terminals</a>:             How to open a pseudo-terminal. 
</ul>

   </body></html>

