<html lang="en">
<head>
<title>Other Special - 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="up" href="Special-Characters.html#Special-Characters" title="Special Characters">
<link rel="prev" href="Start_002fStop-Characters.html#Start_002fStop-Characters" title="Start/Stop Characters">
<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="Other-Special"></a>
<p>
Previous:&nbsp;<a rel="previous" accesskey="p" href="Start_002fStop-Characters.html#Start_002fStop-Characters">Start/Stop Characters</a>,
Up:&nbsp;<a rel="up" accesskey="u" href="Special-Characters.html#Special-Characters">Special Characters</a>
<hr>
</div>

<h5 class="subsubsection">17.4.9.4 Other Special Characters</h5>

<p>These special characters exist only in BSD systems and the GNU system.

<!-- termios.h -->
<!-- BSD -->
<div class="defun">
&mdash; Macro: int <b>VLNEXT</b><var><a name="index-VLNEXT-1986"></a></var><br>
<blockquote><p><a name="index-LNEXT-character-1987"></a>This is the subscript for the LNEXT character in the special control
character array.  <var>termios</var><code>.c_cc[VLNEXT]</code> holds the character
itself.

        <p>The LNEXT character is recognized only when <code>IEXTEN</code> is set, but in
both canonical and noncanonical mode.  It disables any special
significance of the next character the user types.  Even if the
character would normally perform some editing function or generate a
signal, it is read as a plain character.  This is the analogue of the
<kbd>C-q</kbd> command in Emacs.  &ldquo;LNEXT&rdquo; stands for &ldquo;literal next.&rdquo;

        <p>The LNEXT character is usually <kbd>C-v</kbd>. 
</p></blockquote></div>

<!-- termios.h -->
<!-- BSD -->
<div class="defun">
&mdash; Macro: int <b>VDISCARD</b><var><a name="index-VDISCARD-1988"></a></var><br>
<blockquote><p><a name="index-DISCARD-character-1989"></a>This is the subscript for the DISCARD character in the special control
character array.  <var>termios</var><code>.c_cc[VDISCARD]</code> holds the character
itself.

        <p>The DISCARD character is recognized only when <code>IEXTEN</code> is set, but
in both canonical and noncanonical mode.  Its effect is to toggle the
discard-output flag.  When this flag is set, all program output is
discarded.  Setting the flag also discards all output currently in the
output buffer.  Typing any other character resets the flag. 
</p></blockquote></div>

<!-- termios.h -->
<!-- BSD -->
<div class="defun">
&mdash; Macro: int <b>VSTATUS</b><var><a name="index-VSTATUS-1990"></a></var><br>
<blockquote><p><a name="index-STATUS-character-1991"></a>This is the subscript for the STATUS character in the special control
character array.  <var>termios</var><code>.c_cc[VSTATUS]</code> holds the character
itself.

        <p>The STATUS character's effect is to print out a status message about how
the current process is running.

        <p>The STATUS character is recognized only in canonical mode, and only if
<code>NOKERNINFO</code> is not set. 
</p></blockquote></div>

   </body></html>

