<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 3.0//EN">
<!--
  $Id: index.html,v 1.3 2006/12/24 23:05:35 tom Exp $
  ****************************************************************************
  * Copyright (c) 1998-2001,2006 Free Software Foundation, Inc.              *
  *                                                                          *
  * Permission is hereby granted, free of charge, to any person obtaining a  *
  * copy of this software and associated documentation files (the            *
  * "Software"), to deal in the Software without restriction, including      *
  * without limitation the rights to use, copy, modify, merge, publish,      *
  * distribute, distribute with modifications, sublicense, and/or sell       *
  * copies of the Software, and to permit persons to whom the Software is    *
  * furnished to do so, subject to the following conditions:                 *
  *                                                                          *
  * The above copyright notice and this permission notice shall be included  *
  * in all copies or substantial portions of the Software.                   *
  *                                                                          *
  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  *
  * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               *
  * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   *
  * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   *
  * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    *
  * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    *
  * THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               *
  *                                                                          *
  * Except as contained in this notice, the name(s) of the above copyright   *
  * holders shall not be used in advertising or otherwise to promote the     *
  * sale, use or other dealings in this Software without prior written       *
  * authorization.                                                           *
  ****************************************************************************
  -->
<HTML>
<HEAD>
<TITLE>NCURSES - Manual Pages</TITLE>
<LINK REV=MADE HREF="mailto:dickey@invisible-island.net">
</HEAD>
<BODY>
<HR>
<ul>
<li>Programs:
<ul>
<li><a href = "captoinfo.1m.html">captoinfo - convert a termcap description into a terminfo description</a>
<li><a href = "clear.1.html">clear - clear the terminal screen</a>
<li><a href = "infocmp.1m.html">infocmp - compare or print out terminfo descriptions</a>
<li><a href = "infotocap.1m.html">infotocap - convert a terminfo description into a termcap description</a>
<li><a href = "tic.1m.html">tic - the terminfo entry-description compiler</a>
<li><a href = "toe.1m.html">toe - table of (terminfo) entries</a>
<li><a href = "tput.1.html">tput -  initialize  a  terminal or query terminfo database</a>
<li><a href = "tset.1.html">tset - terminal initialization</a>
</ul>
<li>Libraries:
<ul>
<li><a href = "ncurses.3x.html">ncurses - CRT screen handling and optimization package</a>
<li><a href = "panel.3x.html">panel- panel stack extension for curses</a>
<li><a href = "form.3x.html">form - curses extension for programming forms</a>
<li><a href = "menu.3x.html">menu - curses extension for programming menus</a>
</ul>
<li>File formats:
<ul>
<li><a href = "terminfo.5.html">terminfo - terminal capability data base</a>
<li><a href = "term.5.html">term - format of compiled term file.</a>
<li><a href = "term.7.html">term - conventions for naming terminal types</a>
</ul>
</ul>
</BODY>
</HTML>
