blob: 96291213a1b510dfe56d6ad0b0c449eb44b05a49 [file] [log] [blame]
<html lang="en">
<head>
<title>Roadmap to the Manual - 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="Introduction.html#Introduction" title="Introduction">
<link rel="prev" href="Using-the-Library.html#Using-the-Library" title="Using the Library">
<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="Roadmap-to-the-Manual"></a>
<p>
Previous:&nbsp;<a rel="previous" accesskey="p" href="Using-the-Library.html#Using-the-Library">Using the Library</a>,
Up:&nbsp;<a rel="up" accesskey="u" href="Introduction.html#Introduction">Introduction</a>
<hr>
</div>
<h3 class="section">1.4 Roadmap to the Manual</h3>
<p>Here is an overview of the contents of the remaining chapters of
this manual.
<ul>
<li><a href="Error-Reporting.html#Error-Reporting">Error Reporting</a>, describes how errors detected by the library
are reported.
<li><a href="Language-Features.html#Language-Features">Language Features</a>, contains information about library support for
standard parts of the C language, including things like the <code>sizeof</code>
operator and the symbolic constant <code>NULL</code>, how to write functions
accepting variable numbers of arguments, and constants describing the
ranges and other properties of the numerical types. There is also a simple
debugging mechanism which allows you to put assertions in your code, and
have diagnostic messages printed if the tests fail.
<li><a href="Memory.html#Memory">Memory</a>, describes the GNU library's facilities for managing and
using virtual and real memory, including dynamic allocation of virtual
memory. If you do not know in advance how much memory your program
needs, you can allocate it dynamically instead, and manipulate it via
pointers.
<li><a href="Character-Handling.html#Character-Handling">Character Handling</a>, contains information about character
classification functions (such as <code>isspace</code>) and functions for
performing case conversion.
<li><a href="String-and-Array-Utilities.html#String-and-Array-Utilities">String and Array Utilities</a>, has descriptions of functions for
manipulating strings (null-terminated character arrays) and general
byte arrays, including operations such as copying and comparison.
<li><a href="I_002fO-Overview.html#I_002fO-Overview">I/O Overview</a>, gives an overall look at the input and output
facilities in the library, and contains information about basic concepts
such as file names.
<li><a href="I_002fO-on-Streams.html#I_002fO-on-Streams">I/O on Streams</a>, describes I/O operations involving streams (or
<code>FILE&nbsp;*</code><!-- /@w --> objects). These are the normal C library functions
from <samp><span class="file">stdio.h</span></samp>.
<li><a href="Low_002dLevel-I_002fO.html#Low_002dLevel-I_002fO">Low-Level I/O</a>, contains information about I/O operations
on file descriptors. File descriptors are a lower-level mechanism
specific to the Unix family of operating systems.
<li><a href="File-System-Interface.html#File-System-Interface">File System Interface</a>, has descriptions of operations on entire
files, such as functions for deleting and renaming them and for creating
new directories. This chapter also contains information about how you
can access the attributes of a file, such as its owner and file protection
modes.
<li><a href="Pipes-and-FIFOs.html#Pipes-and-FIFOs">Pipes and FIFOs</a>, contains information about simple interprocess
communication mechanisms. Pipes allow communication between two related
processes (such as between a parent and child), while FIFOs allow
communication between processes sharing a common file system on the same
machine.
<li><a href="Sockets.html#Sockets">Sockets</a>, describes a more complicated interprocess communication
mechanism that allows processes running on different machines to
communicate over a network. This chapter also contains information about
Internet host addressing and how to use the system network databases.
<li><a href="Low_002dLevel-Terminal-Interface.html#Low_002dLevel-Terminal-Interface">Low-Level Terminal Interface</a>, describes how you can change the
attributes of a terminal device. If you want to disable echo of
characters typed by the user, for example, read this chapter.
<li><a href="Mathematics.html#Mathematics">Mathematics</a>, contains information about the math library
functions. These include things like random-number generators and
remainder functions on integers as well as the usual trigonometric and
exponential functions on floating-point numbers.
<li><a href="Arithmetic.html#Arithmetic">Low-Level Arithmetic Functions</a>, describes functions
for simple arithmetic, analysis of floating-point values, and reading
numbers from strings.
<li><a href="Searching-and-Sorting.html#Searching-and-Sorting">Searching and Sorting</a>, contains information about functions
for searching and sorting arrays. You can use these functions on any
kind of array by providing an appropriate comparison function.
<li><a href="Pattern-Matching.html#Pattern-Matching">Pattern Matching</a>, presents functions for matching regular expressions
and shell file name patterns, and for expanding words as the shell does.
<li><a href="Date-and-Time.html#Date-and-Time">Date and Time</a>, describes functions for measuring both calendar time
and CPU time, as well as functions for setting alarms and timers.
<li><a href="Character-Set-Handling.html#Character-Set-Handling">Character Set Handling</a>, contains information about manipulating
characters and strings using character sets larger than will fit in
the usual <code>char</code> data type.
<li><a href="Locales.html#Locales">Locales</a>, describes how selecting a particular country
or language affects the behavior of the library. For example, the locale
affects collation sequences for strings and how monetary values are
formatted.
<li><a href="Non_002dLocal-Exits.html#Non_002dLocal-Exits">Non-Local Exits</a>, contains descriptions of the <code>setjmp</code> and
<code>longjmp</code> functions. These functions provide a facility for
<code>goto</code>-like jumps which can jump from one function to another.
<li><a href="Signal-Handling.html#Signal-Handling">Signal Handling</a>, tells you all about signals&mdash;what they are,
how to establish a handler that is called when a particular kind of
signal is delivered, and how to prevent signals from arriving during
critical sections of your program.
<li><a href="Program-Basics.html#Program-Basics">Program Basics</a>, tells how your programs can access their
command-line arguments and environment variables.
<li><a href="Processes.html#Processes">Processes</a>, contains information about how to start new processes
and run programs.
<li><a href="Job-Control.html#Job-Control">Job Control</a>, describes functions for manipulating process groups
and the controlling terminal. This material is probably only of
interest if you are writing a shell or other program which handles job
control specially.
<li><a href="Name-Service-Switch.html#Name-Service-Switch">Name Service Switch</a>, describes the services which are available
for looking up names in the system databases, how to determine which
service is used for which database, and how these services are
implemented so that contributors can design their own services.
<li><a href="User-Database.html#User-Database">User Database</a>, and <a href="Group-Database.html#Group-Database">Group Database</a>, tell you how to access
the system user and group databases.
<li><a href="System-Management.html#System-Management">System Management</a>, describes functions for controlling and getting
information about the hardware and software configuration your program
is executing under.
<li><a href="System-Configuration.html#System-Configuration">System Configuration</a>, tells you how you can get information about
various operating system limits. Most of these parameters are provided for
compatibility with POSIX.
<li><a href="Library-Summary.html#Library-Summary">Library Summary</a>, gives a summary of all the functions, variables, and
macros in the library, with complete data types and function prototypes,
and says what standard or system each is derived from.
<li><a href="Maintenance.html#Maintenance">Maintenance</a>, explains how to build and install the GNU C library on
your system, how to report any bugs you might find, and how to add new
functions or port the library to a new system.
</ul>
<p>If you already know the name of the facility you are interested in, you
can look it up in <a href="Library-Summary.html#Library-Summary">Library Summary</a>. This gives you a summary of
its syntax and a pointer to where you can find a more detailed
description. This appendix is particularly useful if you just want to
verify the order and type of arguments to a function, for example. It
also tells you what standard or system each function, variable, or macro
is derived from.
</body></html>