annotate doc/gnulib.texi @ 8743:5ca35995f234

Add doc chapter about the POSIX header files.
author Bruno Haible <bruno@clisp.org>
date Fri, 27 Apr 2007 19:58:15 +0000
parents c00e30e9aba4
children dd2d58dfa0a8
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
5239
9056ec9c4b2b skeleton manual
Karl Berry <karl@freefriends.org>
parents:
diff changeset
1 \input texinfo @c -*-texinfo-*-
8743
5ca35995f234 Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents: 8672
diff changeset
2 @comment $Id: gnulib.texi,v 1.38 2007-04-27 19:58:15 haible Exp $
5239
9056ec9c4b2b skeleton manual
Karl Berry <karl@freefriends.org>
parents:
diff changeset
3 @comment %**start of header
9056ec9c4b2b skeleton manual
Karl Berry <karl@freefriends.org>
parents:
diff changeset
4 @setfilename gnulib.info
9056ec9c4b2b skeleton manual
Karl Berry <karl@freefriends.org>
parents:
diff changeset
5 @settitle GNU Gnulib
5256
e23bd8e9d368 import sections from Simon
Karl Berry <karl@freefriends.org>
parents: 5239
diff changeset
6 @syncodeindex fn cp
5239
9056ec9c4b2b skeleton manual
Karl Berry <karl@freefriends.org>
parents:
diff changeset
7 @syncodeindex pg cp
9056ec9c4b2b skeleton manual
Karl Berry <karl@freefriends.org>
parents:
diff changeset
8 @comment %**end of header
9056ec9c4b2b skeleton manual
Karl Berry <karl@freefriends.org>
parents:
diff changeset
9
8743
5ca35995f234 Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents: 8672
diff changeset
10 @set UPDATED $Date: 2007-04-27 19:58:15 $
5239
9056ec9c4b2b skeleton manual
Karl Berry <karl@freefriends.org>
parents:
diff changeset
11
9056ec9c4b2b skeleton manual
Karl Berry <karl@freefriends.org>
parents:
diff changeset
12 @copying
9056ec9c4b2b skeleton manual
Karl Berry <karl@freefriends.org>
parents:
diff changeset
13 This manual is for GNU Gnulib (updated @value{UPDATED}),
9056ec9c4b2b skeleton manual
Karl Berry <karl@freefriends.org>
parents:
diff changeset
14 which is a library of common routines intended to be shared at the
9056ec9c4b2b skeleton manual
Karl Berry <karl@freefriends.org>
parents:
diff changeset
15 source level.
9056ec9c4b2b skeleton manual
Karl Berry <karl@freefriends.org>
parents:
diff changeset
16
7778
1736cdb7eda4 document error/progname interaction
Karl Berry <karl@freefriends.org>
parents: 7618
diff changeset
17 Copyright @copyright{} 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
5239
9056ec9c4b2b skeleton manual
Karl Berry <karl@freefriends.org>
parents:
diff changeset
18
9056ec9c4b2b skeleton manual
Karl Berry <karl@freefriends.org>
parents:
diff changeset
19 Permission is granted to copy, distribute and/or modify this document
9056ec9c4b2b skeleton manual
Karl Berry <karl@freefriends.org>
parents:
diff changeset
20 under the terms of the GNU Free Documentation License, Version 1.1 or
9056ec9c4b2b skeleton manual
Karl Berry <karl@freefriends.org>
parents:
diff changeset
21 any later version published by the Free Software Foundation; with no
7778
1736cdb7eda4 document error/progname interaction
Karl Berry <karl@freefriends.org>
parents: 7618
diff changeset
22 Invariant Sections, with no Front-Cover Texts, and with no Back-Cover
1736cdb7eda4 document error/progname interaction
Karl Berry <karl@freefriends.org>
parents: 7618
diff changeset
23 Texts. A copy of the license is included in the section entitled
1736cdb7eda4 document error/progname interaction
Karl Berry <karl@freefriends.org>
parents: 7618
diff changeset
24 ``GNU Free Documentation License.''
5239
9056ec9c4b2b skeleton manual
Karl Berry <karl@freefriends.org>
parents:
diff changeset
25 @end copying
9056ec9c4b2b skeleton manual
Karl Berry <karl@freefriends.org>
parents:
diff changeset
26
9056ec9c4b2b skeleton manual
Karl Berry <karl@freefriends.org>
parents:
diff changeset
27 @dircategory Software development
9056ec9c4b2b skeleton manual
Karl Berry <karl@freefriends.org>
parents:
diff changeset
28 @direntry
5257
5cde461db6dc direntry
Karl Berry <karl@freefriends.org>
parents: 5256
diff changeset
29 * Gnulib: (gnulib). Source files to share among distributions.
5239
9056ec9c4b2b skeleton manual
Karl Berry <karl@freefriends.org>
parents:
diff changeset
30 @end direntry
9056ec9c4b2b skeleton manual
Karl Berry <karl@freefriends.org>
parents:
diff changeset
31
9056ec9c4b2b skeleton manual
Karl Berry <karl@freefriends.org>
parents:
diff changeset
32 @titlepage
9056ec9c4b2b skeleton manual
Karl Berry <karl@freefriends.org>
parents:
diff changeset
33 @title GNU Gnulib
9056ec9c4b2b skeleton manual
Karl Berry <karl@freefriends.org>
parents:
diff changeset
34 @subtitle updated @value{UPDATED}
9056ec9c4b2b skeleton manual
Karl Berry <karl@freefriends.org>
parents:
diff changeset
35 @author @email{bug-gnulib@@gnu.org}
9056ec9c4b2b skeleton manual
Karl Berry <karl@freefriends.org>
parents:
diff changeset
36 @page
9056ec9c4b2b skeleton manual
Karl Berry <karl@freefriends.org>
parents:
diff changeset
37 @vskip 0pt plus 1filll
9056ec9c4b2b skeleton manual
Karl Berry <karl@freefriends.org>
parents:
diff changeset
38 @insertcopying
9056ec9c4b2b skeleton manual
Karl Berry <karl@freefriends.org>
parents:
diff changeset
39 @end titlepage
9056ec9c4b2b skeleton manual
Karl Berry <karl@freefriends.org>
parents:
diff changeset
40
9056ec9c4b2b skeleton manual
Karl Berry <karl@freefriends.org>
parents:
diff changeset
41 @contents
9056ec9c4b2b skeleton manual
Karl Berry <karl@freefriends.org>
parents:
diff changeset
42
9056ec9c4b2b skeleton manual
Karl Berry <karl@freefriends.org>
parents:
diff changeset
43 @ifnottex
9056ec9c4b2b skeleton manual
Karl Berry <karl@freefriends.org>
parents:
diff changeset
44 @node Top
9056ec9c4b2b skeleton manual
Karl Berry <karl@freefriends.org>
parents:
diff changeset
45 @top GNU Gnulib
9056ec9c4b2b skeleton manual
Karl Berry <karl@freefriends.org>
parents:
diff changeset
46
9056ec9c4b2b skeleton manual
Karl Berry <karl@freefriends.org>
parents:
diff changeset
47 @insertcopying
9056ec9c4b2b skeleton manual
Karl Berry <karl@freefriends.org>
parents:
diff changeset
48 @end ifnottex
9056ec9c4b2b skeleton manual
Karl Berry <karl@freefriends.org>
parents:
diff changeset
49
9056ec9c4b2b skeleton manual
Karl Berry <karl@freefriends.org>
parents:
diff changeset
50 @menu
7546
de9055fd713b Split the chapter "Gnulib" into 3 chapters "Introduction",
Bruno Haible <bruno@clisp.org>
parents: 7334
diff changeset
51 * Introduction::
5239
9056ec9c4b2b skeleton manual
Karl Berry <karl@freefriends.org>
parents:
diff changeset
52 * Invoking gnulib-tool::
7618
549e482b5ecd * README: Fix typo.
Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
parents: 7548
diff changeset
53 * Miscellaneous Notes::
8743
5ca35995f234 Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents: 8672
diff changeset
54 * Header File Substitutes::
7546
de9055fd713b Split the chapter "Gnulib" into 3 chapters "Introduction",
Bruno Haible <bruno@clisp.org>
parents: 7334
diff changeset
55 * Particular Modules:: Documentation of Individual Modules
5239
9056ec9c4b2b skeleton manual
Karl Berry <karl@freefriends.org>
parents:
diff changeset
56 * Copying This Manual::
9056ec9c4b2b skeleton manual
Karl Berry <karl@freefriends.org>
parents:
diff changeset
57 * Index::
9056ec9c4b2b skeleton manual
Karl Berry <karl@freefriends.org>
parents:
diff changeset
58 @end menu
9056ec9c4b2b skeleton manual
Karl Berry <karl@freefriends.org>
parents:
diff changeset
59
7546
de9055fd713b Split the chapter "Gnulib" into 3 chapters "Introduction",
Bruno Haible <bruno@clisp.org>
parents: 7334
diff changeset
60 @node Introduction
de9055fd713b Split the chapter "Gnulib" into 3 chapters "Introduction",
Bruno Haible <bruno@clisp.org>
parents: 7334
diff changeset
61 @chapter Introduction
5239
9056ec9c4b2b skeleton manual
Karl Berry <karl@freefriends.org>
parents:
diff changeset
62
7548
7caba67886be Add an introduction.
Bruno Haible <bruno@clisp.org>
parents: 7546
diff changeset
63 Gnulib is a source code library. It provides basic functionalities to
7caba67886be Add an introduction.
Bruno Haible <bruno@clisp.org>
parents: 7546
diff changeset
64 programs and libraries. Currently (as of October 2006) more than 30
7caba67886be Add an introduction.
Bruno Haible <bruno@clisp.org>
parents: 7546
diff changeset
65 packages make use of Gnulib.
7caba67886be Add an introduction.
Bruno Haible <bruno@clisp.org>
parents: 7546
diff changeset
66
7caba67886be Add an introduction.
Bruno Haible <bruno@clisp.org>
parents: 7546
diff changeset
67 Resources:
5239
9056ec9c4b2b skeleton manual
Karl Berry <karl@freefriends.org>
parents:
diff changeset
68
9056ec9c4b2b skeleton manual
Karl Berry <karl@freefriends.org>
parents:
diff changeset
69 @itemize
9056ec9c4b2b skeleton manual
Karl Berry <karl@freefriends.org>
parents:
diff changeset
70 @item Gnulib is hosted at Savannah:
9056ec9c4b2b skeleton manual
Karl Berry <karl@freefriends.org>
parents:
diff changeset
71 @url{http://savannah.gnu.org/projects/gnulib}. Get the sources
8597
c1709670004e Talk primarily about git, not CVS.
Bruno Haible <bruno@clisp.org>
parents: 8475
diff changeset
72 through git or CVS from there.
5239
9056ec9c4b2b skeleton manual
Karl Berry <karl@freefriends.org>
parents:
diff changeset
73 @item The Gnulib home page:
9056ec9c4b2b skeleton manual
Karl Berry <karl@freefriends.org>
parents:
diff changeset
74 @url{http://www.gnu.org/software/gnulib/}.
9056ec9c4b2b skeleton manual
Karl Berry <karl@freefriends.org>
parents:
diff changeset
75 @end itemize
9056ec9c4b2b skeleton manual
Karl Berry <karl@freefriends.org>
parents:
diff changeset
76
7548
7caba67886be Add an introduction.
Bruno Haible <bruno@clisp.org>
parents: 7546
diff changeset
77 @menu
7caba67886be Add an introduction.
Bruno Haible <bruno@clisp.org>
parents: 7546
diff changeset
78 * Library vs. Reusable Code::
7caba67886be Add an introduction.
Bruno Haible <bruno@clisp.org>
parents: 7546
diff changeset
79 * Portability and Application Code::
7caba67886be Add an introduction.
Bruno Haible <bruno@clisp.org>
parents: 7546
diff changeset
80 * Modules::
7caba67886be Add an introduction.
Bruno Haible <bruno@clisp.org>
parents: 7546
diff changeset
81 * Various Kinds of Modules::
7caba67886be Add an introduction.
Bruno Haible <bruno@clisp.org>
parents: 7546
diff changeset
82 * Collaborative Development::
7caba67886be Add an introduction.
Bruno Haible <bruno@clisp.org>
parents: 7546
diff changeset
83 * Copyright::
7caba67886be Add an introduction.
Bruno Haible <bruno@clisp.org>
parents: 7546
diff changeset
84 * Steady Development::
7caba67886be Add an introduction.
Bruno Haible <bruno@clisp.org>
parents: 7546
diff changeset
85 * Openness::
7caba67886be Add an introduction.
Bruno Haible <bruno@clisp.org>
parents: 7546
diff changeset
86 @end menu
7caba67886be Add an introduction.
Bruno Haible <bruno@clisp.org>
parents: 7546
diff changeset
87
7caba67886be Add an introduction.
Bruno Haible <bruno@clisp.org>
parents: 7546
diff changeset
88 @include gnulib-intro.texi
7caba67886be Add an introduction.
Bruno Haible <bruno@clisp.org>
parents: 7546
diff changeset
89
7546
de9055fd713b Split the chapter "Gnulib" into 3 chapters "Introduction",
Bruno Haible <bruno@clisp.org>
parents: 7334
diff changeset
90
de9055fd713b Split the chapter "Gnulib" into 3 chapters "Introduction",
Bruno Haible <bruno@clisp.org>
parents: 7334
diff changeset
91 @include gnulib-tool.texi
de9055fd713b Split the chapter "Gnulib" into 3 chapters "Introduction",
Bruno Haible <bruno@clisp.org>
parents: 7334
diff changeset
92
de9055fd713b Split the chapter "Gnulib" into 3 chapters "Introduction",
Bruno Haible <bruno@clisp.org>
parents: 7334
diff changeset
93
7618
549e482b5ecd * README: Fix typo.
Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
parents: 7548
diff changeset
94 @node Miscellaneous Notes
549e482b5ecd * README: Fix typo.
Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
parents: 7548
diff changeset
95 @chapter Miscellaneous Notes
7546
de9055fd713b Split the chapter "Gnulib" into 3 chapters "Introduction",
Bruno Haible <bruno@clisp.org>
parents: 7334
diff changeset
96
5239
9056ec9c4b2b skeleton manual
Karl Berry <karl@freefriends.org>
parents:
diff changeset
97 @menu
9056ec9c4b2b skeleton manual
Karl Berry <karl@freefriends.org>
parents:
diff changeset
98 * Comments::
5260
5a0174704b16 header files, from simon
Karl Berry <karl@freefriends.org>
parents: 5257
diff changeset
99 * Header files::
5239
9056ec9c4b2b skeleton manual
Karl Berry <karl@freefriends.org>
parents:
diff changeset
100 * Out of memory handling::
5938
14697da96543 2005-06-28 Simon Josefsson <jas@extundo.com>
Simon Josefsson <simon@josefsson.org>
parents: 5883
diff changeset
101 * Library version handling::
6852
9582dd5af1a5 Fix getaddrinfo on Windows 2000.
Simon Josefsson <simon@josefsson.org>
parents: 6842
diff changeset
102 * Windows sockets::
6962
e33f191db3d6 2006-07-14 Simon Josefsson <jas@extundo.com>
Simon Josefsson <simon@josefsson.org>
parents: 6945
diff changeset
103 * Libtool and Windows::
7334
c7c3e5be0d91 note about the license texinfo files
Karl Berry <karl@freefriends.org>
parents: 6989
diff changeset
104 * License Texinfo sources::
8433
51634bc628de * lib/quotearg.c: Include <wctype.h> early, before the definition of
Paul Eggert <eggert@cs.ucla.edu>
parents: 8272
diff changeset
105 * Build robot for gnulib::
5239
9056ec9c4b2b skeleton manual
Karl Berry <karl@freefriends.org>
parents:
diff changeset
106 @end menu
9056ec9c4b2b skeleton manual
Karl Berry <karl@freefriends.org>
parents:
diff changeset
107
5982
8f55c4ac38d6 updates from Patrice, start at quoting
Karl Berry <karl@freefriends.org>
parents: 5938
diff changeset
108
5239
9056ec9c4b2b skeleton manual
Karl Berry <karl@freefriends.org>
parents:
diff changeset
109 @node Comments
9056ec9c4b2b skeleton manual
Karl Berry <karl@freefriends.org>
parents:
diff changeset
110 @section Comments
9056ec9c4b2b skeleton manual
Karl Berry <karl@freefriends.org>
parents:
diff changeset
111
9056ec9c4b2b skeleton manual
Karl Berry <karl@freefriends.org>
parents:
diff changeset
112 @cindex comments describing functions
9056ec9c4b2b skeleton manual
Karl Berry <karl@freefriends.org>
parents:
diff changeset
113 @cindex describing functions, locating
9056ec9c4b2b skeleton manual
Karl Berry <karl@freefriends.org>
parents:
diff changeset
114 Where to put comments describing functions: Because of risk of
9056ec9c4b2b skeleton manual
Karl Berry <karl@freefriends.org>
parents:
diff changeset
115 divergence, we prefer to keep most function describing comments in
9056ec9c4b2b skeleton manual
Karl Berry <karl@freefriends.org>
parents:
diff changeset
116 only one place: just above the actual function definition. Some
9056ec9c4b2b skeleton manual
Karl Berry <karl@freefriends.org>
parents:
diff changeset
117 people prefer to put that documentation in the .h file. In any case,
9056ec9c4b2b skeleton manual
Karl Berry <karl@freefriends.org>
parents:
diff changeset
118 it should appear in just one place unless you can ensure that the
9056ec9c4b2b skeleton manual
Karl Berry <karl@freefriends.org>
parents:
diff changeset
119 multiple copies will always remain identical.
9056ec9c4b2b skeleton manual
Karl Berry <karl@freefriends.org>
parents:
diff changeset
120
9056ec9c4b2b skeleton manual
Karl Berry <karl@freefriends.org>
parents:
diff changeset
121
5260
5a0174704b16 header files, from simon
Karl Berry <karl@freefriends.org>
parents: 5257
diff changeset
122 @node Header files
5a0174704b16 header files, from simon
Karl Berry <karl@freefriends.org>
parents: 5257
diff changeset
123 @section Header files
5a0174704b16 header files, from simon
Karl Berry <karl@freefriends.org>
parents: 5257
diff changeset
124
5a0174704b16 header files, from simon
Karl Berry <karl@freefriends.org>
parents: 5257
diff changeset
125 @cindex double inclusion of header files
5a0174704b16 header files, from simon
Karl Berry <karl@freefriends.org>
parents: 5257
diff changeset
126 @cindex header file include protection
5a0174704b16 header files, from simon
Karl Berry <karl@freefriends.org>
parents: 5257
diff changeset
127 It is a tradition to use CPP tricks to avoid parsing the same header
5a0174704b16 header files, from simon
Karl Berry <karl@freefriends.org>
parents: 5257
diff changeset
128 file more than once, which might cause warnings. The trick is to wrap
5a0174704b16 header files, from simon
Karl Berry <karl@freefriends.org>
parents: 5257
diff changeset
129 the content of the header file (say, @file{foo.h}) in a block, as in:
5a0174704b16 header files, from simon
Karl Berry <karl@freefriends.org>
parents: 5257
diff changeset
130
5a0174704b16 header files, from simon
Karl Berry <karl@freefriends.org>
parents: 5257
diff changeset
131 @example
5a0174704b16 header files, from simon
Karl Berry <karl@freefriends.org>
parents: 5257
diff changeset
132 #ifndef FOO_H
5a0174704b16 header files, from simon
Karl Berry <karl@freefriends.org>
parents: 5257
diff changeset
133 # define FOO_H
5a0174704b16 header files, from simon
Karl Berry <karl@freefriends.org>
parents: 5257
diff changeset
134 ...
5a0174704b16 header files, from simon
Karl Berry <karl@freefriends.org>
parents: 5257
diff changeset
135 body of header file goes here
5a0174704b16 header files, from simon
Karl Berry <karl@freefriends.org>
parents: 5257
diff changeset
136 ...
5a0174704b16 header files, from simon
Karl Berry <karl@freefriends.org>
parents: 5257
diff changeset
137 #endif /* FOO_H */
5a0174704b16 header files, from simon
Karl Berry <karl@freefriends.org>
parents: 5257
diff changeset
138 @end example
5a0174704b16 header files, from simon
Karl Berry <karl@freefriends.org>
parents: 5257
diff changeset
139
5a0174704b16 header files, from simon
Karl Berry <karl@freefriends.org>
parents: 5257
diff changeset
140 Whether to use @code{FOO_H} or @code{_FOO_H} is a matter of taste and
5261
95f7304acdac Minor fixups to previous patch.
Paul Eggert <eggert@cs.ucla.edu>
parents: 5260
diff changeset
141 style. The C89 and C99 standards reserve all identifiers that begin with an
5260
5a0174704b16 header files, from simon
Karl Berry <karl@freefriends.org>
parents: 5257
diff changeset
142 underscore and either an uppercase letter or another underscore, for
5a0174704b16 header files, from simon
Karl Berry <karl@freefriends.org>
parents: 5257
diff changeset
143 any use. Thus, in theory, an application might not safely assume that
5a0174704b16 header files, from simon
Karl Berry <karl@freefriends.org>
parents: 5257
diff changeset
144 @code{_FOO_H} has not already been defined by a library. On the other
5a0174704b16 header files, from simon
Karl Berry <karl@freefriends.org>
parents: 5257
diff changeset
145 hand, using @code{FOO_H} will likely lead the higher risk of
5269
7ce2f4babcdc Mention also KEY_H.
Bruno Haible <bruno@clisp.org>
parents: 5261
diff changeset
146 collisions with other symbols (e.g., @code{KEY_H}, @code{XK_H}, @code{BPF_H},
7ce2f4babcdc Mention also KEY_H.
Bruno Haible <bruno@clisp.org>
parents: 5261
diff changeset
147 which are CPP macro constants, or @code{COFF_LONG_H}, which is a CPP
7ce2f4babcdc Mention also KEY_H.
Bruno Haible <bruno@clisp.org>
parents: 5261
diff changeset
148 macro function). Your preference may depend on whether you consider
5260
5a0174704b16 header files, from simon
Karl Berry <karl@freefriends.org>
parents: 5257
diff changeset
149 the header file under discussion as part of the application (which has
5a0174704b16 header files, from simon
Karl Berry <karl@freefriends.org>
parents: 5257
diff changeset
150 its own namespace for CPP symbols) or a supporting library (that
5261
95f7304acdac Minor fixups to previous patch.
Paul Eggert <eggert@cs.ucla.edu>
parents: 5260
diff changeset
151 shouldn't interfere with the application's CPP symbol namespace).
5260
5a0174704b16 header files, from simon
Karl Berry <karl@freefriends.org>
parents: 5257
diff changeset
152
5a0174704b16 header files, from simon
Karl Berry <karl@freefriends.org>
parents: 5257
diff changeset
153 @cindex C++ header files
5a0174704b16 header files, from simon
Karl Berry <karl@freefriends.org>
parents: 5257
diff changeset
154 @cindex Header files and C++
5a0174704b16 header files, from simon
Karl Berry <karl@freefriends.org>
parents: 5257
diff changeset
155 Adapting C header files for use in C++ applications can use another
5a0174704b16 header files, from simon
Karl Berry <karl@freefriends.org>
parents: 5257
diff changeset
156 CPP trick, as in:
5a0174704b16 header files, from simon
Karl Berry <karl@freefriends.org>
parents: 5257
diff changeset
157
5a0174704b16 header files, from simon
Karl Berry <karl@freefriends.org>
parents: 5257
diff changeset
158 @example
5a0174704b16 header files, from simon
Karl Berry <karl@freefriends.org>
parents: 5257
diff changeset
159 # ifdef __cplusplus
5a0174704b16 header files, from simon
Karl Berry <karl@freefriends.org>
parents: 5257
diff changeset
160 extern "C"
5a0174704b16 header files, from simon
Karl Berry <karl@freefriends.org>
parents: 5257
diff changeset
161 @{
5a0174704b16 header files, from simon
Karl Berry <karl@freefriends.org>
parents: 5257
diff changeset
162 # endif
5a0174704b16 header files, from simon
Karl Berry <karl@freefriends.org>
parents: 5257
diff changeset
163 ...
5a0174704b16 header files, from simon
Karl Berry <karl@freefriends.org>
parents: 5257
diff changeset
164 body of header file goes here
5a0174704b16 header files, from simon
Karl Berry <karl@freefriends.org>
parents: 5257
diff changeset
165 ...
5a0174704b16 header files, from simon
Karl Berry <karl@freefriends.org>
parents: 5257
diff changeset
166 # ifdef __cplusplus
5a0174704b16 header files, from simon
Karl Berry <karl@freefriends.org>
parents: 5257
diff changeset
167 @}
5a0174704b16 header files, from simon
Karl Berry <karl@freefriends.org>
parents: 5257
diff changeset
168 # endif
5a0174704b16 header files, from simon
Karl Berry <karl@freefriends.org>
parents: 5257
diff changeset
169 @end example
5a0174704b16 header files, from simon
Karl Berry <karl@freefriends.org>
parents: 5257
diff changeset
170
5261
95f7304acdac Minor fixups to previous patch.
Paul Eggert <eggert@cs.ucla.edu>
parents: 5260
diff changeset
171 The idea here is that @code{__cplusplus} is defined only by C++
95f7304acdac Minor fixups to previous patch.
Paul Eggert <eggert@cs.ucla.edu>
parents: 5260
diff changeset
172 implementations, which will wrap the header file in an @samp{extern "C"}
5260
5a0174704b16 header files, from simon
Karl Berry <karl@freefriends.org>
parents: 5257
diff changeset
173 block. Again, whether to use this trick is a matter of taste and
5a0174704b16 header files, from simon
Karl Berry <karl@freefriends.org>
parents: 5257
diff changeset
174 style. While the above can be seen as harmless, it could be argued
5a0174704b16 header files, from simon
Karl Berry <karl@freefriends.org>
parents: 5257
diff changeset
175 that the header file is written in C, and any C++ application using it
5a0174704b16 header files, from simon
Karl Berry <karl@freefriends.org>
parents: 5257
diff changeset
176 should explicitly use the @samp{extern "C"} block itself. Your
5a0174704b16 header files, from simon
Karl Berry <karl@freefriends.org>
parents: 5257
diff changeset
177 preference might depend on whether you consider the API exported by
5261
95f7304acdac Minor fixups to previous patch.
Paul Eggert <eggert@cs.ucla.edu>
parents: 5260
diff changeset
178 your header file as something available for C programs only, or for C
5260
5a0174704b16 header files, from simon
Karl Berry <karl@freefriends.org>
parents: 5257
diff changeset
179 and C++ programs alike.
5a0174704b16 header files, from simon
Karl Berry <karl@freefriends.org>
parents: 5257
diff changeset
180
5982
8f55c4ac38d6 updates from Patrice, start at quoting
Karl Berry <karl@freefriends.org>
parents: 5938
diff changeset
181 @subheading Include ordering
5883
19bb5e876a29 Add "Include ordering", based on e-mail from Bruno.
Simon Josefsson <simon@josefsson.org>
parents: 5870
diff changeset
182
19bb5e876a29 Add "Include ordering", based on e-mail from Bruno.
Simon Josefsson <simon@josefsson.org>
parents: 5870
diff changeset
183 When writing a gnulib module, or even in general, a good way to order
19bb5e876a29 Add "Include ordering", based on e-mail from Bruno.
Simon Josefsson <simon@josefsson.org>
parents: 5870
diff changeset
184 the @samp{#include} directives is the following.
19bb5e876a29 Add "Include ordering", based on e-mail from Bruno.
Simon Josefsson <simon@josefsson.org>
parents: 5870
diff changeset
185
19bb5e876a29 Add "Include ordering", based on e-mail from Bruno.
Simon Josefsson <simon@josefsson.org>
parents: 5870
diff changeset
186 @itemize
19bb5e876a29 Add "Include ordering", based on e-mail from Bruno.
Simon Josefsson <simon@josefsson.org>
parents: 5870
diff changeset
187 @item First comes the #include "..." specifying the module being implemented.
19bb5e876a29 Add "Include ordering", based on e-mail from Bruno.
Simon Josefsson <simon@josefsson.org>
parents: 5870
diff changeset
188 @item Then come all the #include <...> of system or system-replacement headers,
19bb5e876a29 Add "Include ordering", based on e-mail from Bruno.
Simon Josefsson <simon@josefsson.org>
parents: 5870
diff changeset
189 in arbitrary order.
19bb5e876a29 Add "Include ordering", based on e-mail from Bruno.
Simon Josefsson <simon@josefsson.org>
parents: 5870
diff changeset
190 @item Then come all the #include "..." of gnulib and private headers, in
19bb5e876a29 Add "Include ordering", based on e-mail from Bruno.
Simon Josefsson <simon@josefsson.org>
parents: 5870
diff changeset
191 arbitrary order.
19bb5e876a29 Add "Include ordering", based on e-mail from Bruno.
Simon Josefsson <simon@josefsson.org>
parents: 5870
diff changeset
192 @end itemize
19bb5e876a29 Add "Include ordering", based on e-mail from Bruno.
Simon Josefsson <simon@josefsson.org>
parents: 5870
diff changeset
193
5982
8f55c4ac38d6 updates from Patrice, start at quoting
Karl Berry <karl@freefriends.org>
parents: 5938
diff changeset
194
5239
9056ec9c4b2b skeleton manual
Karl Berry <karl@freefriends.org>
parents:
diff changeset
195 @node Out of memory handling
9056ec9c4b2b skeleton manual
Karl Berry <karl@freefriends.org>
parents:
diff changeset
196 @section Out of memory handling
9056ec9c4b2b skeleton manual
Karl Berry <karl@freefriends.org>
parents:
diff changeset
197
9056ec9c4b2b skeleton manual
Karl Berry <karl@freefriends.org>
parents:
diff changeset
198 @cindex Out of Memory handling
9056ec9c4b2b skeleton manual
Karl Berry <karl@freefriends.org>
parents:
diff changeset
199 @cindex Memory allocation failure
9056ec9c4b2b skeleton manual
Karl Berry <karl@freefriends.org>
parents:
diff changeset
200 The GSS API does not have a standard error code for the out of memory
9056ec9c4b2b skeleton manual
Karl Berry <karl@freefriends.org>
parents:
diff changeset
201 error condition. Instead of adding a non-standard error code, this
9056ec9c4b2b skeleton manual
Karl Berry <karl@freefriends.org>
parents:
diff changeset
202 library has chosen to adopt a different strategy. Out of memory
9056ec9c4b2b skeleton manual
Karl Berry <karl@freefriends.org>
parents:
diff changeset
203 handling happens in rare situations, but performing the out of memory
9056ec9c4b2b skeleton manual
Karl Berry <karl@freefriends.org>
parents:
diff changeset
204 error handling after almost all API function invocations pollute your
9056ec9c4b2b skeleton manual
Karl Berry <karl@freefriends.org>
parents:
diff changeset
205 source code and might make it harder to spot more serious problems.
8475
1d8215560713 Fix typos.
Ben Pfaff <blp@gnu.org>
parents: 8433
diff changeset
206 The strategy chosen improves code readability and robustness.
5239
9056ec9c4b2b skeleton manual
Karl Berry <karl@freefriends.org>
parents:
diff changeset
207
9056ec9c4b2b skeleton manual
Karl Berry <karl@freefriends.org>
parents:
diff changeset
208 @cindex Aborting execution
9056ec9c4b2b skeleton manual
Karl Berry <karl@freefriends.org>
parents:
diff changeset
209 For most applications, aborting the application with an error message
8475
1d8215560713 Fix typos.
Ben Pfaff <blp@gnu.org>
parents: 8433
diff changeset
210 when the out of memory situation occurs is the best that can be wished
5239
9056ec9c4b2b skeleton manual
Karl Berry <karl@freefriends.org>
parents:
diff changeset
211 for. This is how the library behaves by default.
9056ec9c4b2b skeleton manual
Karl Berry <karl@freefriends.org>
parents:
diff changeset
212
9056ec9c4b2b skeleton manual
Karl Berry <karl@freefriends.org>
parents:
diff changeset
213 @vindex xalloc_fail_func
9056ec9c4b2b skeleton manual
Karl Berry <karl@freefriends.org>
parents:
diff changeset
214 However, we realize that some applications may not want to have the
8475
1d8215560713 Fix typos.
Ben Pfaff <blp@gnu.org>
parents: 8433
diff changeset
215 GSS library abort execution in any situation. The GSS library supports
5239
9056ec9c4b2b skeleton manual
Karl Berry <karl@freefriends.org>
parents:
diff changeset
216 a hook to let the application regain control and perform its own
6945
aa195d9ecb02 * functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
parents: 6852
diff changeset
217 cleanups when an out of memory situation has occurred. The application
5239
9056ec9c4b2b skeleton manual
Karl Berry <karl@freefriends.org>
parents:
diff changeset
218 can define a function (having a @code{void} prototype, i.e., no return
9056ec9c4b2b skeleton manual
Karl Berry <karl@freefriends.org>
parents:
diff changeset
219 value and no parameters) and set the library variable
9056ec9c4b2b skeleton manual
Karl Berry <karl@freefriends.org>
parents:
diff changeset
220 @code{xalloc_fail_func} to that function. The variable should be
9056ec9c4b2b skeleton manual
Karl Berry <karl@freefriends.org>
parents:
diff changeset
221 declared as follows.
9056ec9c4b2b skeleton manual
Karl Berry <karl@freefriends.org>
parents:
diff changeset
222
9056ec9c4b2b skeleton manual
Karl Berry <karl@freefriends.org>
parents:
diff changeset
223 @example
9056ec9c4b2b skeleton manual
Karl Berry <karl@freefriends.org>
parents:
diff changeset
224 extern void (*xalloc_fail_func) (void);
9056ec9c4b2b skeleton manual
Karl Berry <karl@freefriends.org>
parents:
diff changeset
225 @end example
9056ec9c4b2b skeleton manual
Karl Berry <karl@freefriends.org>
parents:
diff changeset
226
9056ec9c4b2b skeleton manual
Karl Berry <karl@freefriends.org>
parents:
diff changeset
227 The GSS library will invoke this function if an out of memory error
9056ec9c4b2b skeleton manual
Karl Berry <karl@freefriends.org>
parents:
diff changeset
228 occurs. Note that after this the GSS library is in an undefined
9056ec9c4b2b skeleton manual
Karl Berry <karl@freefriends.org>
parents:
diff changeset
229 state, so you must unload or restart the application to continue call
9056ec9c4b2b skeleton manual
Karl Berry <karl@freefriends.org>
parents:
diff changeset
230 GSS library functions. The hook is only intended to allow the
9056ec9c4b2b skeleton manual
Karl Berry <karl@freefriends.org>
parents:
diff changeset
231 application to log the situation in a special way. Of course, care
9056ec9c4b2b skeleton manual
Karl Berry <karl@freefriends.org>
parents:
diff changeset
232 must be taken to not allocate more memory, as that will likely also
9056ec9c4b2b skeleton manual
Karl Berry <karl@freefriends.org>
parents:
diff changeset
233 fail.
9056ec9c4b2b skeleton manual
Karl Berry <karl@freefriends.org>
parents:
diff changeset
234
9056ec9c4b2b skeleton manual
Karl Berry <karl@freefriends.org>
parents:
diff changeset
235
5938
14697da96543 2005-06-28 Simon Josefsson <jas@extundo.com>
Simon Josefsson <simon@josefsson.org>
parents: 5883
diff changeset
236 @node Library version handling
14697da96543 2005-06-28 Simon Josefsson <jas@extundo.com>
Simon Josefsson <simon@josefsson.org>
parents: 5883
diff changeset
237 @section Library version handling
14697da96543 2005-06-28 Simon Josefsson <jas@extundo.com>
Simon Josefsson <simon@josefsson.org>
parents: 5883
diff changeset
238
5992
6cf595732ddb gnulib.texi (Library version handling): Add ELF symbol collision
Simon Josefsson <simon@josefsson.org>
parents: 5983
diff changeset
239 The module @samp{check-version} can be useful when your gnulib
5938
14697da96543 2005-06-28 Simon Josefsson <jas@extundo.com>
Simon Josefsson <simon@josefsson.org>
parents: 5883
diff changeset
240 application is a system library. You will typically wrap the call to
14697da96543 2005-06-28 Simon Josefsson <jas@extundo.com>
Simon Josefsson <simon@josefsson.org>
parents: 5883
diff changeset
241 the @code{check_version} function through a library API, your library
14697da96543 2005-06-28 Simon Josefsson <jas@extundo.com>
Simon Josefsson <simon@josefsson.org>
parents: 5883
diff changeset
242 header file may contain:
14697da96543 2005-06-28 Simon Josefsson <jas@extundo.com>
Simon Josefsson <simon@josefsson.org>
parents: 5883
diff changeset
243
14697da96543 2005-06-28 Simon Josefsson <jas@extundo.com>
Simon Josefsson <simon@josefsson.org>
parents: 5883
diff changeset
244 @example
14697da96543 2005-06-28 Simon Josefsson <jas@extundo.com>
Simon Josefsson <simon@josefsson.org>
parents: 5883
diff changeset
245 #define STRINGPREP_VERSION "0.5.18"
14697da96543 2005-06-28 Simon Josefsson <jas@extundo.com>
Simon Josefsson <simon@josefsson.org>
parents: 5883
diff changeset
246 ...
14697da96543 2005-06-28 Simon Josefsson <jas@extundo.com>
Simon Josefsson <simon@josefsson.org>
parents: 5883
diff changeset
247 extern const char *stringprep_check_version (const char *req_version);
14697da96543 2005-06-28 Simon Josefsson <jas@extundo.com>
Simon Josefsson <simon@josefsson.org>
parents: 5883
diff changeset
248 @end example
14697da96543 2005-06-28 Simon Josefsson <jas@extundo.com>
Simon Josefsson <simon@josefsson.org>
parents: 5883
diff changeset
249
5992
6cf595732ddb gnulib.texi (Library version handling): Add ELF symbol collision
Simon Josefsson <simon@josefsson.org>
parents: 5983
diff changeset
250 To avoid ELF symbol collisions with other libraries that use the
6cf595732ddb gnulib.texi (Library version handling): Add ELF symbol collision
Simon Josefsson <simon@josefsson.org>
parents: 5983
diff changeset
251 @samp{check-version} module, add to @file{config.h} through a
6cf595732ddb gnulib.texi (Library version handling): Add ELF symbol collision
Simon Josefsson <simon@josefsson.org>
parents: 5983
diff changeset
252 AC_DEFINE something like:
6cf595732ddb gnulib.texi (Library version handling): Add ELF symbol collision
Simon Josefsson <simon@josefsson.org>
parents: 5983
diff changeset
253
6cf595732ddb gnulib.texi (Library version handling): Add ELF symbol collision
Simon Josefsson <simon@josefsson.org>
parents: 5983
diff changeset
254 @example
6842
1b6de7675435 mention that Gnulib takes over LIBOBJS
Karl Berry <karl@freefriends.org>
parents: 6764
diff changeset
255 AC_DEFINE(check_version, stringprep_check_version,
1b6de7675435 mention that Gnulib takes over LIBOBJS
Karl Berry <karl@freefriends.org>
parents: 6764
diff changeset
256 [Rename check_version.])
5992
6cf595732ddb gnulib.texi (Library version handling): Add ELF symbol collision
Simon Josefsson <simon@josefsson.org>
parents: 5983
diff changeset
257 @end example
6cf595732ddb gnulib.texi (Library version handling): Add ELF symbol collision
Simon Josefsson <simon@josefsson.org>
parents: 5983
diff changeset
258
6cf595732ddb gnulib.texi (Library version handling): Add ELF symbol collision
Simon Josefsson <simon@josefsson.org>
parents: 5983
diff changeset
259 The @code{stringprep_check_version} function will thus be implemented
6cf595732ddb gnulib.texi (Library version handling): Add ELF symbol collision
Simon Josefsson <simon@josefsson.org>
parents: 5983
diff changeset
260 by the @code{check_version} module.
5938
14697da96543 2005-06-28 Simon Josefsson <jas@extundo.com>
Simon Josefsson <simon@josefsson.org>
parents: 5883
diff changeset
261
14697da96543 2005-06-28 Simon Josefsson <jas@extundo.com>
Simon Josefsson <simon@josefsson.org>
parents: 5883
diff changeset
262 There are two uses of the interface. The first is a way to provide
14697da96543 2005-06-28 Simon Josefsson <jas@extundo.com>
Simon Josefsson <simon@josefsson.org>
parents: 5883
diff changeset
263 for applications to find out the version number of the library it
14697da96543 2005-06-28 Simon Josefsson <jas@extundo.com>
Simon Josefsson <simon@josefsson.org>
parents: 5883
diff changeset
264 uses. The application may contain diagnostic code such as:
14697da96543 2005-06-28 Simon Josefsson <jas@extundo.com>
Simon Josefsson <simon@josefsson.org>
parents: 5883
diff changeset
265
14697da96543 2005-06-28 Simon Josefsson <jas@extundo.com>
Simon Josefsson <simon@josefsson.org>
parents: 5883
diff changeset
266 @example
14697da96543 2005-06-28 Simon Josefsson <jas@extundo.com>
Simon Josefsson <simon@josefsson.org>
parents: 5883
diff changeset
267 printf ("Stringprep version: header %s library %s",
14697da96543 2005-06-28 Simon Josefsson <jas@extundo.com>
Simon Josefsson <simon@josefsson.org>
parents: 5883
diff changeset
268 STRINGPREP_VERSION,
14697da96543 2005-06-28 Simon Josefsson <jas@extundo.com>
Simon Josefsson <simon@josefsson.org>
parents: 5883
diff changeset
269 stringprep_check_version (NULL));
14697da96543 2005-06-28 Simon Josefsson <jas@extundo.com>
Simon Josefsson <simon@josefsson.org>
parents: 5883
diff changeset
270 @end example
14697da96543 2005-06-28 Simon Josefsson <jas@extundo.com>
Simon Josefsson <simon@josefsson.org>
parents: 5883
diff changeset
271
14697da96543 2005-06-28 Simon Josefsson <jas@extundo.com>
Simon Josefsson <simon@josefsson.org>
parents: 5883
diff changeset
272 Separating the library and header file version can be useful when
14697da96543 2005-06-28 Simon Josefsson <jas@extundo.com>
Simon Josefsson <simon@josefsson.org>
parents: 5883
diff changeset
273 searching for version mismatch related problems.
14697da96543 2005-06-28 Simon Josefsson <jas@extundo.com>
Simon Josefsson <simon@josefsson.org>
parents: 5883
diff changeset
274
14697da96543 2005-06-28 Simon Josefsson <jas@extundo.com>
Simon Josefsson <simon@josefsson.org>
parents: 5883
diff changeset
275 The second uses is as a rudimentary test of proper library version, by
14697da96543 2005-06-28 Simon Josefsson <jas@extundo.com>
Simon Josefsson <simon@josefsson.org>
parents: 5883
diff changeset
276 making sure the application get a library version that is the same, or
14697da96543 2005-06-28 Simon Josefsson <jas@extundo.com>
Simon Josefsson <simon@josefsson.org>
parents: 5883
diff changeset
277 newer, than the header file used when building the application. This
14697da96543 2005-06-28 Simon Josefsson <jas@extundo.com>
Simon Josefsson <simon@josefsson.org>
parents: 5883
diff changeset
278 doesn't catch all problems, libraries may change backwards incompatibly
14697da96543 2005-06-28 Simon Josefsson <jas@extundo.com>
Simon Josefsson <simon@josefsson.org>
parents: 5883
diff changeset
279 in later versions, but enable applications to require a certain
14697da96543 2005-06-28 Simon Josefsson <jas@extundo.com>
Simon Josefsson <simon@josefsson.org>
parents: 5883
diff changeset
280 minimum version before it may proceed.
14697da96543 2005-06-28 Simon Josefsson <jas@extundo.com>
Simon Josefsson <simon@josefsson.org>
parents: 5883
diff changeset
281
14697da96543 2005-06-28 Simon Josefsson <jas@extundo.com>
Simon Josefsson <simon@josefsson.org>
parents: 5883
diff changeset
282 Typical uses look like:
14697da96543 2005-06-28 Simon Josefsson <jas@extundo.com>
Simon Josefsson <simon@josefsson.org>
parents: 5883
diff changeset
283
14697da96543 2005-06-28 Simon Josefsson <jas@extundo.com>
Simon Josefsson <simon@josefsson.org>
parents: 5883
diff changeset
284 @example
14697da96543 2005-06-28 Simon Josefsson <jas@extundo.com>
Simon Josefsson <simon@josefsson.org>
parents: 5883
diff changeset
285 /* Check version of libgcrypt. */
14697da96543 2005-06-28 Simon Josefsson <jas@extundo.com>
Simon Josefsson <simon@josefsson.org>
parents: 5883
diff changeset
286 if (!gcry_check_version (GCRYPT_VERSION))
14697da96543 2005-06-28 Simon Josefsson <jas@extundo.com>
Simon Josefsson <simon@josefsson.org>
parents: 5883
diff changeset
287 die ("version mismatch\n");
14697da96543 2005-06-28 Simon Josefsson <jas@extundo.com>
Simon Josefsson <simon@josefsson.org>
parents: 5883
diff changeset
288 @end example
14697da96543 2005-06-28 Simon Josefsson <jas@extundo.com>
Simon Josefsson <simon@josefsson.org>
parents: 5883
diff changeset
289
5982
8f55c4ac38d6 updates from Patrice, start at quoting
Karl Berry <karl@freefriends.org>
parents: 5938
diff changeset
290
6852
9582dd5af1a5 Fix getaddrinfo on Windows 2000.
Simon Josefsson <simon@josefsson.org>
parents: 6842
diff changeset
291 @node Windows sockets
9582dd5af1a5 Fix getaddrinfo on Windows 2000.
Simon Josefsson <simon@josefsson.org>
parents: 6842
diff changeset
292 @section Windows sockets
9582dd5af1a5 Fix getaddrinfo on Windows 2000.
Simon Josefsson <simon@josefsson.org>
parents: 6842
diff changeset
293
9582dd5af1a5 Fix getaddrinfo on Windows 2000.
Simon Josefsson <simon@josefsson.org>
parents: 6842
diff changeset
294 There are several issues when building applications that should work
9582dd5af1a5 Fix getaddrinfo on Windows 2000.
Simon Josefsson <simon@josefsson.org>
parents: 6842
diff changeset
295 under Windows. The most problematic part is for applications that use
9582dd5af1a5 Fix getaddrinfo on Windows 2000.
Simon Josefsson <simon@josefsson.org>
parents: 6842
diff changeset
296 sockets.
9582dd5af1a5 Fix getaddrinfo on Windows 2000.
Simon Josefsson <simon@josefsson.org>
parents: 6842
diff changeset
297
9582dd5af1a5 Fix getaddrinfo on Windows 2000.
Simon Josefsson <simon@josefsson.org>
parents: 6842
diff changeset
298 Hopefully, we can add helpful notes to this section that will help you
9582dd5af1a5 Fix getaddrinfo on Windows 2000.
Simon Josefsson <simon@josefsson.org>
parents: 6842
diff changeset
299 port your application to Windows using gnulib.
9582dd5af1a5 Fix getaddrinfo on Windows 2000.
Simon Josefsson <simon@josefsson.org>
parents: 6842
diff changeset
300
9582dd5af1a5 Fix getaddrinfo on Windows 2000.
Simon Josefsson <simon@josefsson.org>
parents: 6842
diff changeset
301 @subsection Getaddrinfo and WINVER
9582dd5af1a5 Fix getaddrinfo on Windows 2000.
Simon Josefsson <simon@josefsson.org>
parents: 6842
diff changeset
302
9582dd5af1a5 Fix getaddrinfo on Windows 2000.
Simon Josefsson <simon@josefsson.org>
parents: 6842
diff changeset
303 This was written for the getaddrinfo module, but may be applicable to
9582dd5af1a5 Fix getaddrinfo on Windows 2000.
Simon Josefsson <simon@josefsson.org>
parents: 6842
diff changeset
304 other functions too.
9582dd5af1a5 Fix getaddrinfo on Windows 2000.
Simon Josefsson <simon@josefsson.org>
parents: 6842
diff changeset
305
9582dd5af1a5 Fix getaddrinfo on Windows 2000.
Simon Josefsson <simon@josefsson.org>
parents: 6842
diff changeset
306 The getaddrinfo function exists in ws2tcpip.h and -lws2_32 on Windows
9582dd5af1a5 Fix getaddrinfo on Windows 2000.
Simon Josefsson <simon@josefsson.org>
parents: 6842
diff changeset
307 XP. The function declaration is present if @code{WINVER >= 0x0501}.
9582dd5af1a5 Fix getaddrinfo on Windows 2000.
Simon Josefsson <simon@josefsson.org>
parents: 6842
diff changeset
308 Windows 2000 does not have getaddrinfo in its @file{WS2_32.dll}.
9582dd5af1a5 Fix getaddrinfo on Windows 2000.
Simon Josefsson <simon@josefsson.org>
parents: 6842
diff changeset
309
9582dd5af1a5 Fix getaddrinfo on Windows 2000.
Simon Josefsson <simon@josefsson.org>
parents: 6842
diff changeset
310 Thus, if you want to assume Windows XP or later, you can add
9582dd5af1a5 Fix getaddrinfo on Windows 2000.
Simon Josefsson <simon@josefsson.org>
parents: 6842
diff changeset
311 AC_DEFINE(WINVER, 0x0501) to avoid compiling to (partial) getaddrinfo
9582dd5af1a5 Fix getaddrinfo on Windows 2000.
Simon Josefsson <simon@josefsson.org>
parents: 6842
diff changeset
312 implementation.
9582dd5af1a5 Fix getaddrinfo on Windows 2000.
Simon Josefsson <simon@josefsson.org>
parents: 6842
diff changeset
313
9582dd5af1a5 Fix getaddrinfo on Windows 2000.
Simon Josefsson <simon@josefsson.org>
parents: 6842
diff changeset
314 If you want to support Windows 2000, don't do anything, but be aware
9582dd5af1a5 Fix getaddrinfo on Windows 2000.
Simon Josefsson <simon@josefsson.org>
parents: 6842
diff changeset
315 that gnulib will use its own (partial) getaddrinfo implementation even
9582dd5af1a5 Fix getaddrinfo on Windows 2000.
Simon Josefsson <simon@josefsson.org>
parents: 6842
diff changeset
316 on Windows XP. Currently the code does not attempt to determine if
9582dd5af1a5 Fix getaddrinfo on Windows 2000.
Simon Josefsson <simon@josefsson.org>
parents: 6842
diff changeset
317 the getaddrinfo function is available during runtime.
9582dd5af1a5 Fix getaddrinfo on Windows 2000.
Simon Josefsson <simon@josefsson.org>
parents: 6842
diff changeset
318
9582dd5af1a5 Fix getaddrinfo on Windows 2000.
Simon Josefsson <simon@josefsson.org>
parents: 6842
diff changeset
319 Todo: Make getaddrinfo.c open the WS2_32.DLL and check for the
9582dd5af1a5 Fix getaddrinfo on Windows 2000.
Simon Josefsson <simon@josefsson.org>
parents: 6842
diff changeset
320 getaddrinfo symbol and use it if present, otherwise fall back to our
9582dd5af1a5 Fix getaddrinfo on Windows 2000.
Simon Josefsson <simon@josefsson.org>
parents: 6842
diff changeset
321 own implementation.
9582dd5af1a5 Fix getaddrinfo on Windows 2000.
Simon Josefsson <simon@josefsson.org>
parents: 6842
diff changeset
322
7546
de9055fd713b Split the chapter "Gnulib" into 3 chapters "Introduction",
Bruno Haible <bruno@clisp.org>
parents: 7334
diff changeset
323
6962
e33f191db3d6 2006-07-14 Simon Josefsson <jas@extundo.com>
Simon Josefsson <simon@josefsson.org>
parents: 6945
diff changeset
324 @node Libtool and Windows
e33f191db3d6 2006-07-14 Simon Josefsson <jas@extundo.com>
Simon Josefsson <simon@josefsson.org>
parents: 6945
diff changeset
325 @section Libtool and Windows
e33f191db3d6 2006-07-14 Simon Josefsson <jas@extundo.com>
Simon Josefsson <simon@josefsson.org>
parents: 6945
diff changeset
326
e33f191db3d6 2006-07-14 Simon Josefsson <jas@extundo.com>
Simon Josefsson <simon@josefsson.org>
parents: 6945
diff changeset
327 If you want it to be possible to cross-compile your program to MinGW
e33f191db3d6 2006-07-14 Simon Josefsson <jas@extundo.com>
Simon Josefsson <simon@josefsson.org>
parents: 6945
diff changeset
328 and you use Libtool, you need to put:
e33f191db3d6 2006-07-14 Simon Josefsson <jas@extundo.com>
Simon Josefsson <simon@josefsson.org>
parents: 6945
diff changeset
329
e33f191db3d6 2006-07-14 Simon Josefsson <jas@extundo.com>
Simon Josefsson <simon@josefsson.org>
parents: 6945
diff changeset
330 @example
e33f191db3d6 2006-07-14 Simon Josefsson <jas@extundo.com>
Simon Josefsson <simon@josefsson.org>
parents: 6945
diff changeset
331 AC_LIBTOOL_WIN32_DLL
e33f191db3d6 2006-07-14 Simon Josefsson <jas@extundo.com>
Simon Josefsson <simon@josefsson.org>
parents: 6945
diff changeset
332 @end example
e33f191db3d6 2006-07-14 Simon Josefsson <jas@extundo.com>
Simon Josefsson <simon@josefsson.org>
parents: 6945
diff changeset
333
6989
d4c72f8cb784 * gnulib.texi (Libtool and Windows): Eliminate passive voice. Correct
Derek R. Price <derek@ximbiot.com>
parents: 6962
diff changeset
334 in your @file{configure.ac}. This sets the correct names for the
d4c72f8cb784 * gnulib.texi (Libtool and Windows): Eliminate passive voice. Correct
Derek R. Price <derek@ximbiot.com>
parents: 6962
diff changeset
335 @code{OBJDUMP}, @code{DLLTOOL}, and @code{AS} tools for the build.
6962
e33f191db3d6 2006-07-14 Simon Josefsson <jas@extundo.com>
Simon Josefsson <simon@josefsson.org>
parents: 6945
diff changeset
336
e33f191db3d6 2006-07-14 Simon Josefsson <jas@extundo.com>
Simon Josefsson <simon@josefsson.org>
parents: 6945
diff changeset
337 If you are building a library, you will also need to pass
6989
d4c72f8cb784 * gnulib.texi (Libtool and Windows): Eliminate passive voice. Correct
Derek R. Price <derek@ximbiot.com>
parents: 6962
diff changeset
338 @code{-no-undefined} to make sure Libtool produces a DLL for your
6962
e33f191db3d6 2006-07-14 Simon Josefsson <jas@extundo.com>
Simon Josefsson <simon@josefsson.org>
parents: 6945
diff changeset
339 library. From a @file{Makefile.am}:
e33f191db3d6 2006-07-14 Simon Josefsson <jas@extundo.com>
Simon Josefsson <simon@josefsson.org>
parents: 6945
diff changeset
340
e33f191db3d6 2006-07-14 Simon Josefsson <jas@extundo.com>
Simon Josefsson <simon@josefsson.org>
parents: 6945
diff changeset
341 @example
e33f191db3d6 2006-07-14 Simon Josefsson <jas@extundo.com>
Simon Josefsson <simon@josefsson.org>
parents: 6945
diff changeset
342 libgsasl_la_LDFLAGS += -no-undefined
e33f191db3d6 2006-07-14 Simon Josefsson <jas@extundo.com>
Simon Josefsson <simon@josefsson.org>
parents: 6945
diff changeset
343 @end example
e33f191db3d6 2006-07-14 Simon Josefsson <jas@extundo.com>
Simon Josefsson <simon@josefsson.org>
parents: 6945
diff changeset
344
7334
c7c3e5be0d91 note about the license texinfo files
Karl Berry <karl@freefriends.org>
parents: 6989
diff changeset
345
c7c3e5be0d91 note about the license texinfo files
Karl Berry <karl@freefriends.org>
parents: 6989
diff changeset
346 @node License Texinfo sources
c7c3e5be0d91 note about the license texinfo files
Karl Berry <karl@freefriends.org>
parents: 6989
diff changeset
347 @section License Texinfo sources
c7c3e5be0d91 note about the license texinfo files
Karl Berry <karl@freefriends.org>
parents: 6989
diff changeset
348
c7c3e5be0d91 note about the license texinfo files
Karl Berry <karl@freefriends.org>
parents: 6989
diff changeset
349 Gnulib provides copies of the GNU GPL, GNU LGPL, and GNU FDL licenses
c7c3e5be0d91 note about the license texinfo files
Karl Berry <karl@freefriends.org>
parents: 6989
diff changeset
350 in Texinfo form. (The master location is
c7c3e5be0d91 note about the license texinfo files
Karl Berry <karl@freefriends.org>
parents: 6989
diff changeset
351 @url{http://www.gnu.org/licenses/}). These Texinfo documents have
c7c3e5be0d91 note about the license texinfo files
Karl Berry <karl@freefriends.org>
parents: 6989
diff changeset
352 various node names and structures built into them; for your manual,
c7c3e5be0d91 note about the license texinfo files
Karl Berry <karl@freefriends.org>
parents: 6989
diff changeset
353 you might like to change these. It's ok to do this, and a convenient
c7c3e5be0d91 note about the license texinfo files
Karl Berry <karl@freefriends.org>
parents: 6989
diff changeset
354 way to do so is to use a context diff and the @option{--local-dir}
c7c3e5be0d91 note about the license texinfo files
Karl Berry <karl@freefriends.org>
parents: 6989
diff changeset
355 option to @command{gnulib-tool}.
c7c3e5be0d91 note about the license texinfo files
Karl Berry <karl@freefriends.org>
parents: 6989
diff changeset
356
c7c3e5be0d91 note about the license texinfo files
Karl Berry <karl@freefriends.org>
parents: 6989
diff changeset
357 Of course the license texts themselves should not be changed at all.
c7c3e5be0d91 note about the license texinfo files
Karl Berry <karl@freefriends.org>
parents: 6989
diff changeset
358
8433
51634bc628de * lib/quotearg.c: Include <wctype.h> early, before the definition of
Paul Eggert <eggert@cs.ucla.edu>
parents: 8272
diff changeset
359 @node Build robot for gnulib
51634bc628de * lib/quotearg.c: Include <wctype.h> early, before the definition of
Paul Eggert <eggert@cs.ucla.edu>
parents: 8272
diff changeset
360 @section Build robot for gnulib
51634bc628de * lib/quotearg.c: Include <wctype.h> early, before the definition of
Paul Eggert <eggert@cs.ucla.edu>
parents: 8272
diff changeset
361
51634bc628de * lib/quotearg.c: Include <wctype.h> early, before the definition of
Paul Eggert <eggert@cs.ucla.edu>
parents: 8272
diff changeset
362 To simplify testing on a wide set of platforms, gnulib is built on
51634bc628de * lib/quotearg.c: Include <wctype.h> early, before the definition of
Paul Eggert <eggert@cs.ucla.edu>
parents: 8272
diff changeset
363 many platforms every day and the results are uploaded to:
51634bc628de * lib/quotearg.c: Include <wctype.h> early, before the definition of
Paul Eggert <eggert@cs.ucla.edu>
parents: 8272
diff changeset
364
51634bc628de * lib/quotearg.c: Include <wctype.h> early, before the definition of
Paul Eggert <eggert@cs.ucla.edu>
parents: 8272
diff changeset
365 @url{http://autobuild.josefsson.org/gnulib/}
51634bc628de * lib/quotearg.c: Include <wctype.h> early, before the definition of
Paul Eggert <eggert@cs.ucla.edu>
parents: 8272
diff changeset
366
51634bc628de * lib/quotearg.c: Include <wctype.h> early, before the definition of
Paul Eggert <eggert@cs.ucla.edu>
parents: 8272
diff changeset
367 If you wish to help the gnulib development effort with build logs for
51634bc628de * lib/quotearg.c: Include <wctype.h> early, before the definition of
Paul Eggert <eggert@cs.ucla.edu>
parents: 8272
diff changeset
368 your favorite platform, you may perform these steps:
51634bc628de * lib/quotearg.c: Include <wctype.h> early, before the definition of
Paul Eggert <eggert@cs.ucla.edu>
parents: 8272
diff changeset
369
51634bc628de * lib/quotearg.c: Include <wctype.h> early, before the definition of
Paul Eggert <eggert@cs.ucla.edu>
parents: 8272
diff changeset
370 @enumerate
51634bc628de * lib/quotearg.c: Include <wctype.h> early, before the definition of
Paul Eggert <eggert@cs.ucla.edu>
parents: 8272
diff changeset
371
51634bc628de * lib/quotearg.c: Include <wctype.h> early, before the definition of
Paul Eggert <eggert@cs.ucla.edu>
parents: 8272
diff changeset
372 @item Create gnulib directory
51634bc628de * lib/quotearg.c: Include <wctype.h> early, before the definition of
Paul Eggert <eggert@cs.ucla.edu>
parents: 8272
diff changeset
373
51634bc628de * lib/quotearg.c: Include <wctype.h> early, before the definition of
Paul Eggert <eggert@cs.ucla.edu>
parents: 8272
diff changeset
374 On a machine with recent automake, autoconf, m4 installed and with a
8597
c1709670004e Talk primarily about git, not CVS.
Bruno Haible <bruno@clisp.org>
parents: 8475
diff changeset
375 gnulib git or cvs checkout (typically a Linux machine), use
8433
51634bc628de * lib/quotearg.c: Include <wctype.h> early, before the definition of
Paul Eggert <eggert@cs.ucla.edu>
parents: 8272
diff changeset
376
51634bc628de * lib/quotearg.c: Include <wctype.h> early, before the definition of
Paul Eggert <eggert@cs.ucla.edu>
parents: 8272
diff changeset
377 @example
51634bc628de * lib/quotearg.c: Include <wctype.h> early, before the definition of
Paul Eggert <eggert@cs.ucla.edu>
parents: 8272
diff changeset
378 gnulib-tool --create-megatestdir --with-tests --dir=..."
51634bc628de * lib/quotearg.c: Include <wctype.h> early, before the definition of
Paul Eggert <eggert@cs.ucla.edu>
parents: 8272
diff changeset
379 @end example
51634bc628de * lib/quotearg.c: Include <wctype.h> early, before the definition of
Paul Eggert <eggert@cs.ucla.edu>
parents: 8272
diff changeset
380
51634bc628de * lib/quotearg.c: Include <wctype.h> early, before the definition of
Paul Eggert <eggert@cs.ucla.edu>
parents: 8272
diff changeset
381 Note: The created directory uses ca. 512 MB on disk.
51634bc628de * lib/quotearg.c: Include <wctype.h> early, before the definition of
Paul Eggert <eggert@cs.ucla.edu>
parents: 8272
diff changeset
382
51634bc628de * lib/quotearg.c: Include <wctype.h> early, before the definition of
Paul Eggert <eggert@cs.ucla.edu>
parents: 8272
diff changeset
383 @item Transfer gnulib directory
51634bc628de * lib/quotearg.c: Include <wctype.h> early, before the definition of
Paul Eggert <eggert@cs.ucla.edu>
parents: 8272
diff changeset
384
51634bc628de * lib/quotearg.c: Include <wctype.h> early, before the definition of
Paul Eggert <eggert@cs.ucla.edu>
parents: 8272
diff changeset
385 Transfer this directory to a build machine (HP-UX, Cygwin, or
51634bc628de * lib/quotearg.c: Include <wctype.h> early, before the definition of
Paul Eggert <eggert@cs.ucla.edu>
parents: 8272
diff changeset
386 whatever). Often it is easier to transfer one file, and this can be
51634bc628de * lib/quotearg.c: Include <wctype.h> early, before the definition of
Paul Eggert <eggert@cs.ucla.edu>
parents: 8272
diff changeset
387 achieved by running, inside the directory the following commands:
51634bc628de * lib/quotearg.c: Include <wctype.h> early, before the definition of
Paul Eggert <eggert@cs.ucla.edu>
parents: 8272
diff changeset
388
51634bc628de * lib/quotearg.c: Include <wctype.h> early, before the definition of
Paul Eggert <eggert@cs.ucla.edu>
parents: 8272
diff changeset
389 @example
51634bc628de * lib/quotearg.c: Include <wctype.h> early, before the definition of
Paul Eggert <eggert@cs.ucla.edu>
parents: 8272
diff changeset
390 ./configure
51634bc628de * lib/quotearg.c: Include <wctype.h> early, before the definition of
Paul Eggert <eggert@cs.ucla.edu>
parents: 8272
diff changeset
391 make dist
51634bc628de * lib/quotearg.c: Include <wctype.h> early, before the definition of
Paul Eggert <eggert@cs.ucla.edu>
parents: 8272
diff changeset
392 @end example
51634bc628de * lib/quotearg.c: Include <wctype.h> early, before the definition of
Paul Eggert <eggert@cs.ucla.edu>
parents: 8272
diff changeset
393
51634bc628de * lib/quotearg.c: Include <wctype.h> early, before the definition of
Paul Eggert <eggert@cs.ucla.edu>
parents: 8272
diff changeset
394 And then transferring the @file{dummy-0.tar.gz} file.
51634bc628de * lib/quotearg.c: Include <wctype.h> early, before the definition of
Paul Eggert <eggert@cs.ucla.edu>
parents: 8272
diff changeset
395
51634bc628de * lib/quotearg.c: Include <wctype.h> early, before the definition of
Paul Eggert <eggert@cs.ucla.edu>
parents: 8272
diff changeset
396 @item Build modules
51634bc628de * lib/quotearg.c: Include <wctype.h> early, before the definition of
Paul Eggert <eggert@cs.ucla.edu>
parents: 8272
diff changeset
397
8672
c00e30e9aba4 2007-04-12 Simon Josefsson <simon@josefsson.org>
Simon Josefsson <simon@josefsson.org>
parents: 8623
diff changeset
398 On the build machine, run ./do-autobuild (or "nohup ./do-autobuild").
c00e30e9aba4 2007-04-12 Simon Josefsson <simon@josefsson.org>
Simon Josefsson <simon@josefsson.org>
parents: 8623
diff changeset
399 It creates a directory 'logs/' with a log file for each module.
8433
51634bc628de * lib/quotearg.c: Include <wctype.h> early, before the definition of
Paul Eggert <eggert@cs.ucla.edu>
parents: 8272
diff changeset
400
51634bc628de * lib/quotearg.c: Include <wctype.h> early, before the definition of
Paul Eggert <eggert@cs.ucla.edu>
parents: 8272
diff changeset
401 @item Submit build logs
51634bc628de * lib/quotearg.c: Include <wctype.h> early, before the definition of
Paul Eggert <eggert@cs.ucla.edu>
parents: 8272
diff changeset
402
51634bc628de * lib/quotearg.c: Include <wctype.h> early, before the definition of
Paul Eggert <eggert@cs.ucla.edu>
parents: 8272
diff changeset
403 Submit each log file to Simon's site, either through a
51634bc628de * lib/quotearg.c: Include <wctype.h> early, before the definition of
Paul Eggert <eggert@cs.ucla.edu>
parents: 8272
diff changeset
404
51634bc628de * lib/quotearg.c: Include <wctype.h> early, before the definition of
Paul Eggert <eggert@cs.ucla.edu>
parents: 8272
diff changeset
405 @example
8623
27cfd50b8f6c Fix missing escape.
Bruno Haible <bruno@clisp.org>
parents: 8597
diff changeset
406 mail `echo gnulib__at__autobuild.josefsson.org | sed -e s/__at__/@@/`
8433
51634bc628de * lib/quotearg.c: Include <wctype.h> early, before the definition of
Paul Eggert <eggert@cs.ucla.edu>
parents: 8272
diff changeset
407 @end example
51634bc628de * lib/quotearg.c: Include <wctype.h> early, before the definition of
Paul Eggert <eggert@cs.ucla.edu>
parents: 8272
diff changeset
408
51634bc628de * lib/quotearg.c: Include <wctype.h> early, before the definition of
Paul Eggert <eggert@cs.ucla.edu>
parents: 8272
diff changeset
409 or through netcat
51634bc628de * lib/quotearg.c: Include <wctype.h> early, before the definition of
Paul Eggert <eggert@cs.ucla.edu>
parents: 8272
diff changeset
410
51634bc628de * lib/quotearg.c: Include <wctype.h> early, before the definition of
Paul Eggert <eggert@cs.ucla.edu>
parents: 8272
diff changeset
411 @example
51634bc628de * lib/quotearg.c: Include <wctype.h> early, before the definition of
Paul Eggert <eggert@cs.ucla.edu>
parents: 8272
diff changeset
412 autobuild-submit logs/*
51634bc628de * lib/quotearg.c: Include <wctype.h> early, before the definition of
Paul Eggert <eggert@cs.ucla.edu>
parents: 8272
diff changeset
413 @end example
51634bc628de * lib/quotearg.c: Include <wctype.h> early, before the definition of
Paul Eggert <eggert@cs.ucla.edu>
parents: 8272
diff changeset
414
51634bc628de * lib/quotearg.c: Include <wctype.h> early, before the definition of
Paul Eggert <eggert@cs.ucla.edu>
parents: 8272
diff changeset
415 @end enumerate
7334
c7c3e5be0d91 note about the license texinfo files
Karl Berry <karl@freefriends.org>
parents: 6989
diff changeset
416
8743
5ca35995f234 Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents: 8672
diff changeset
417 @node Header File Substitutes
5ca35995f234 Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents: 8672
diff changeset
418 @chapter ISO C and POSIX Header File Substitutes
5ca35995f234 Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents: 8672
diff changeset
419
5ca35995f234 Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents: 8672
diff changeset
420 This chapter describes which header files specified by ISO C or POSIX are
5ca35995f234 Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents: 8672
diff changeset
421 substituted by Gnulib, which portability pitfalls are fixed by Gnulib, and
5ca35995f234 Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents: 8672
diff changeset
422 which (known) portability problems are not worked around by Gnulib.
5ca35995f234 Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents: 8672
diff changeset
423
5ca35995f234 Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents: 8672
diff changeset
424 @menu
5ca35995f234 Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents: 8672
diff changeset
425 * aio.h::
5ca35995f234 Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents: 8672
diff changeset
426 * arpa/inet.h::
5ca35995f234 Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents: 8672
diff changeset
427 * assert.h::
5ca35995f234 Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents: 8672
diff changeset
428 * complex.h::
5ca35995f234 Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents: 8672
diff changeset
429 * cpio.h::
5ca35995f234 Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents: 8672
diff changeset
430 * ctype.h::
5ca35995f234 Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents: 8672
diff changeset
431 * dirent.h::
5ca35995f234 Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents: 8672
diff changeset
432 * dlfcn.h::
5ca35995f234 Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents: 8672
diff changeset
433 * errno.h::
5ca35995f234 Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents: 8672
diff changeset
434 * fcntl.h::
5ca35995f234 Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents: 8672
diff changeset
435 * fenv.h::
5ca35995f234 Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents: 8672
diff changeset
436 * float.h::
5ca35995f234 Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents: 8672
diff changeset
437 * fmtmsg.h::
5ca35995f234 Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents: 8672
diff changeset
438 * fnmatch.h::
5ca35995f234 Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents: 8672
diff changeset
439 * ftw.h::
5ca35995f234 Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents: 8672
diff changeset
440 * glob.h::
5ca35995f234 Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents: 8672
diff changeset
441 * grp.h::
5ca35995f234 Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents: 8672
diff changeset
442 * iconv.h::
5ca35995f234 Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents: 8672
diff changeset
443 * inttypes.h::
5ca35995f234 Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents: 8672
diff changeset
444 * iso646.h::
5ca35995f234 Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents: 8672
diff changeset
445 * langinfo.h::
5ca35995f234 Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents: 8672
diff changeset
446 * libgen.h::
5ca35995f234 Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents: 8672
diff changeset
447 * limits.h::
5ca35995f234 Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents: 8672
diff changeset
448 * locale.h::
5ca35995f234 Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents: 8672
diff changeset
449 * math.h::
5ca35995f234 Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents: 8672
diff changeset
450 * monetary.h::
5ca35995f234 Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents: 8672
diff changeset
451 * mqueue.h::
5ca35995f234 Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents: 8672
diff changeset
452 * ndbm.h::
5ca35995f234 Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents: 8672
diff changeset
453 * net/if.h::
5ca35995f234 Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents: 8672
diff changeset
454 * netdb.h::
5ca35995f234 Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents: 8672
diff changeset
455 * netinet/in.h::
5ca35995f234 Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents: 8672
diff changeset
456 * netinet/tcp.h::
5ca35995f234 Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents: 8672
diff changeset
457 * nl_types.h::
5ca35995f234 Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents: 8672
diff changeset
458 * poll.h::
5ca35995f234 Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents: 8672
diff changeset
459 * pthread.h::
5ca35995f234 Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents: 8672
diff changeset
460 * pwd.h::
5ca35995f234 Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents: 8672
diff changeset
461 * regex.h::
5ca35995f234 Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents: 8672
diff changeset
462 * sched.h::
5ca35995f234 Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents: 8672
diff changeset
463 * search.h::
5ca35995f234 Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents: 8672
diff changeset
464 * semaphore.h::
5ca35995f234 Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents: 8672
diff changeset
465 * setjmp.h::
5ca35995f234 Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents: 8672
diff changeset
466 * signal.h::
5ca35995f234 Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents: 8672
diff changeset
467 * spawn.h::
5ca35995f234 Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents: 8672
diff changeset
468 * stdarg.h::
5ca35995f234 Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents: 8672
diff changeset
469 * stdbool.h::
5ca35995f234 Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents: 8672
diff changeset
470 * stddef.h::
5ca35995f234 Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents: 8672
diff changeset
471 * stdint.h::
5ca35995f234 Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents: 8672
diff changeset
472 * stdio.h::
5ca35995f234 Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents: 8672
diff changeset
473 * stdlib.h::
5ca35995f234 Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents: 8672
diff changeset
474 * string.h::
5ca35995f234 Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents: 8672
diff changeset
475 * strings.h::
5ca35995f234 Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents: 8672
diff changeset
476 * stropts.h::
5ca35995f234 Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents: 8672
diff changeset
477 * sys/ipc.h::
5ca35995f234 Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents: 8672
diff changeset
478 * sys/mman.h::
5ca35995f234 Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents: 8672
diff changeset
479 * sys/msg.h::
5ca35995f234 Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents: 8672
diff changeset
480 * sys/resource.h::
5ca35995f234 Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents: 8672
diff changeset
481 * sys/select.h::
5ca35995f234 Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents: 8672
diff changeset
482 * sys/sem.h::
5ca35995f234 Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents: 8672
diff changeset
483 * sys/shm.h::
5ca35995f234 Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents: 8672
diff changeset
484 * sys/socket.h::
5ca35995f234 Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents: 8672
diff changeset
485 * sys/stat.h::
5ca35995f234 Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents: 8672
diff changeset
486 * sys/statvfs.h::
5ca35995f234 Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents: 8672
diff changeset
487 * sys/time.h::
5ca35995f234 Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents: 8672
diff changeset
488 * sys/timeb.h::
5ca35995f234 Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents: 8672
diff changeset
489 * sys/times.h::
5ca35995f234 Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents: 8672
diff changeset
490 * sys/types.h::
5ca35995f234 Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents: 8672
diff changeset
491 * sys/uio.h::
5ca35995f234 Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents: 8672
diff changeset
492 * sys/un.h::
5ca35995f234 Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents: 8672
diff changeset
493 * sys/utsname.h::
5ca35995f234 Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents: 8672
diff changeset
494 * sys/wait.h::
5ca35995f234 Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents: 8672
diff changeset
495 * syslog.h::
5ca35995f234 Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents: 8672
diff changeset
496 * tar.h::
5ca35995f234 Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents: 8672
diff changeset
497 * termios.h::
5ca35995f234 Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents: 8672
diff changeset
498 * tgmath.h::
5ca35995f234 Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents: 8672
diff changeset
499 * time.h::
5ca35995f234 Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents: 8672
diff changeset
500 * trace.h::
5ca35995f234 Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents: 8672
diff changeset
501 * ucontext.h::
5ca35995f234 Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents: 8672
diff changeset
502 * ulimit.h::
5ca35995f234 Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents: 8672
diff changeset
503 * unistd.h::
5ca35995f234 Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents: 8672
diff changeset
504 * utime.h::
5ca35995f234 Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents: 8672
diff changeset
505 * utmpx.h::
5ca35995f234 Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents: 8672
diff changeset
506 * wchar.h::
5ca35995f234 Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents: 8672
diff changeset
507 * wctype.h::
5ca35995f234 Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents: 8672
diff changeset
508 * wordexp.h::
5ca35995f234 Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents: 8672
diff changeset
509 @end menu
5ca35995f234 Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents: 8672
diff changeset
510
5ca35995f234 Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents: 8672
diff changeset
511 @include headers/aio.texi
5ca35995f234 Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents: 8672
diff changeset
512 @include headers/arpa_inet.texi
5ca35995f234 Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents: 8672
diff changeset
513 @include headers/assert.texi
5ca35995f234 Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents: 8672
diff changeset
514 @include headers/complex.texi
5ca35995f234 Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents: 8672
diff changeset
515 @include headers/cpio.texi
5ca35995f234 Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents: 8672
diff changeset
516 @include headers/ctype.texi
5ca35995f234 Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents: 8672
diff changeset
517 @include headers/dirent.texi
5ca35995f234 Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents: 8672
diff changeset
518 @include headers/dlfcn.texi
5ca35995f234 Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents: 8672
diff changeset
519 @include headers/errno.texi
5ca35995f234 Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents: 8672
diff changeset
520 @include headers/fcntl.texi
5ca35995f234 Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents: 8672
diff changeset
521 @include headers/fenv.texi
5ca35995f234 Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents: 8672
diff changeset
522 @include headers/float.texi
5ca35995f234 Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents: 8672
diff changeset
523 @include headers/fmtmsg.texi
5ca35995f234 Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents: 8672
diff changeset
524 @include headers/fnmatch.texi
5ca35995f234 Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents: 8672
diff changeset
525 @include headers/ftw.texi
5ca35995f234 Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents: 8672
diff changeset
526 @include headers/glob.texi
5ca35995f234 Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents: 8672
diff changeset
527 @include headers/grp.texi
5ca35995f234 Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents: 8672
diff changeset
528 @include headers/iconv.texi
5ca35995f234 Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents: 8672
diff changeset
529 @include headers/inttypes.texi
5ca35995f234 Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents: 8672
diff changeset
530 @include headers/iso646.texi
5ca35995f234 Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents: 8672
diff changeset
531 @include headers/langinfo.texi
5ca35995f234 Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents: 8672
diff changeset
532 @include headers/libgen.texi
5ca35995f234 Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents: 8672
diff changeset
533 @include headers/limits.texi
5ca35995f234 Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents: 8672
diff changeset
534 @include headers/locale.texi
5ca35995f234 Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents: 8672
diff changeset
535 @include headers/math.texi
5ca35995f234 Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents: 8672
diff changeset
536 @include headers/monetary.texi
5ca35995f234 Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents: 8672
diff changeset
537 @include headers/mqueue.texi
5ca35995f234 Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents: 8672
diff changeset
538 @include headers/ndbm.texi
5ca35995f234 Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents: 8672
diff changeset
539 @include headers/net_if.texi
5ca35995f234 Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents: 8672
diff changeset
540 @include headers/netdb.texi
5ca35995f234 Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents: 8672
diff changeset
541 @include headers/netinet_in.texi
5ca35995f234 Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents: 8672
diff changeset
542 @include headers/netinet_tcp.texi
5ca35995f234 Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents: 8672
diff changeset
543 @include headers/nl_types.texi
5ca35995f234 Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents: 8672
diff changeset
544 @include headers/poll.texi
5ca35995f234 Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents: 8672
diff changeset
545 @include headers/pthread.texi
5ca35995f234 Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents: 8672
diff changeset
546 @include headers/pwd.texi
5ca35995f234 Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents: 8672
diff changeset
547 @include headers/regex.texi
5ca35995f234 Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents: 8672
diff changeset
548 @include headers/sched.texi
5ca35995f234 Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents: 8672
diff changeset
549 @include headers/search.texi
5ca35995f234 Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents: 8672
diff changeset
550 @include headers/semaphore.texi
5ca35995f234 Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents: 8672
diff changeset
551 @include headers/setjmp.texi
5ca35995f234 Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents: 8672
diff changeset
552 @include headers/signal.texi
5ca35995f234 Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents: 8672
diff changeset
553 @include headers/spawn.texi
5ca35995f234 Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents: 8672
diff changeset
554 @include headers/stdarg.texi
5ca35995f234 Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents: 8672
diff changeset
555 @include headers/stdbool.texi
5ca35995f234 Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents: 8672
diff changeset
556 @include headers/stddef.texi
5ca35995f234 Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents: 8672
diff changeset
557 @include headers/stdint.texi
5ca35995f234 Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents: 8672
diff changeset
558 @include headers/stdio.texi
5ca35995f234 Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents: 8672
diff changeset
559 @include headers/stdlib.texi
5ca35995f234 Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents: 8672
diff changeset
560 @include headers/string.texi
5ca35995f234 Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents: 8672
diff changeset
561 @include headers/strings.texi
5ca35995f234 Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents: 8672
diff changeset
562 @include headers/stropts.texi
5ca35995f234 Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents: 8672
diff changeset
563 @include headers/sys_ipc.texi
5ca35995f234 Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents: 8672
diff changeset
564 @include headers/sys_mman.texi
5ca35995f234 Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents: 8672
diff changeset
565 @include headers/sys_msg.texi
5ca35995f234 Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents: 8672
diff changeset
566 @include headers/sys_resource.texi
5ca35995f234 Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents: 8672
diff changeset
567 @include headers/sys_select.texi
5ca35995f234 Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents: 8672
diff changeset
568 @include headers/sys_sem.texi
5ca35995f234 Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents: 8672
diff changeset
569 @include headers/sys_shm.texi
5ca35995f234 Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents: 8672
diff changeset
570 @include headers/sys_socket.texi
5ca35995f234 Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents: 8672
diff changeset
571 @include headers/sys_stat.texi
5ca35995f234 Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents: 8672
diff changeset
572 @include headers/sys_statvfs.texi
5ca35995f234 Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents: 8672
diff changeset
573 @include headers/sys_time.texi
5ca35995f234 Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents: 8672
diff changeset
574 @include headers/sys_timeb.texi
5ca35995f234 Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents: 8672
diff changeset
575 @include headers/sys_times.texi
5ca35995f234 Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents: 8672
diff changeset
576 @include headers/sys_types.texi
5ca35995f234 Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents: 8672
diff changeset
577 @include headers/sys_uio.texi
5ca35995f234 Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents: 8672
diff changeset
578 @include headers/sys_un.texi
5ca35995f234 Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents: 8672
diff changeset
579 @include headers/sys_utsname.texi
5ca35995f234 Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents: 8672
diff changeset
580 @include headers/sys_wait.texi
5ca35995f234 Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents: 8672
diff changeset
581 @include headers/syslog.texi
5ca35995f234 Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents: 8672
diff changeset
582 @include headers/tar.texi
5ca35995f234 Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents: 8672
diff changeset
583 @include headers/termios.texi
5ca35995f234 Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents: 8672
diff changeset
584 @include headers/tgmath.texi
5ca35995f234 Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents: 8672
diff changeset
585 @include headers/time.texi
5ca35995f234 Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents: 8672
diff changeset
586 @include headers/trace.texi
5ca35995f234 Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents: 8672
diff changeset
587 @include headers/ucontext.texi
5ca35995f234 Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents: 8672
diff changeset
588 @include headers/ulimit.texi
5ca35995f234 Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents: 8672
diff changeset
589 @include headers/unistd.texi
5ca35995f234 Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents: 8672
diff changeset
590 @include headers/utime.texi
5ca35995f234 Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents: 8672
diff changeset
591 @include headers/utmpx.texi
5ca35995f234 Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents: 8672
diff changeset
592 @include headers/wchar.texi
5ca35995f234 Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents: 8672
diff changeset
593 @include headers/wctype.texi
5ca35995f234 Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents: 8672
diff changeset
594 @include headers/wordexp.texi
5ca35995f234 Add doc chapter about the POSIX header files.
Bruno Haible <bruno@clisp.org>
parents: 8672
diff changeset
595
7546
de9055fd713b Split the chapter "Gnulib" into 3 chapters "Introduction",
Bruno Haible <bruno@clisp.org>
parents: 7334
diff changeset
596 @node Particular Modules
de9055fd713b Split the chapter "Gnulib" into 3 chapters "Introduction",
Bruno Haible <bruno@clisp.org>
parents: 7334
diff changeset
597 @chapter Particular Modules
de9055fd713b Split the chapter "Gnulib" into 3 chapters "Introduction",
Bruno Haible <bruno@clisp.org>
parents: 7334
diff changeset
598
de9055fd713b Split the chapter "Gnulib" into 3 chapters "Introduction",
Bruno Haible <bruno@clisp.org>
parents: 7334
diff changeset
599 @menu
de9055fd713b Split the chapter "Gnulib" into 3 chapters "Introduction",
Bruno Haible <bruno@clisp.org>
parents: 7334
diff changeset
600 * Quoting::
de9055fd713b Split the chapter "Gnulib" into 3 chapters "Introduction",
Bruno Haible <bruno@clisp.org>
parents: 7334
diff changeset
601 * ctime::
7778
1736cdb7eda4 document error/progname interaction
Karl Berry <karl@freefriends.org>
parents: 7618
diff changeset
602 * error and progname::
7546
de9055fd713b Split the chapter "Gnulib" into 3 chapters "Introduction",
Bruno Haible <bruno@clisp.org>
parents: 7334
diff changeset
603 * gcd::
de9055fd713b Split the chapter "Gnulib" into 3 chapters "Introduction",
Bruno Haible <bruno@clisp.org>
parents: 7334
diff changeset
604 * inet_ntoa::
de9055fd713b Split the chapter "Gnulib" into 3 chapters "Introduction",
Bruno Haible <bruno@clisp.org>
parents: 7334
diff changeset
605 * Regular expressions::
8272
fd48e35f4e5e New modules relocatable, relocatable-lib, relocatable-script.
Bruno Haible <bruno@clisp.org>
parents: 7778
diff changeset
606 * Supporting Relocation::
7546
de9055fd713b Split the chapter "Gnulib" into 3 chapters "Introduction",
Bruno Haible <bruno@clisp.org>
parents: 7334
diff changeset
607 @end menu
de9055fd713b Split the chapter "Gnulib" into 3 chapters "Introduction",
Bruno Haible <bruno@clisp.org>
parents: 7334
diff changeset
608
de9055fd713b Split the chapter "Gnulib" into 3 chapters "Introduction",
Bruno Haible <bruno@clisp.org>
parents: 7334
diff changeset
609 @include quote.texi
7778
1736cdb7eda4 document error/progname interaction
Karl Berry <karl@freefriends.org>
parents: 7618
diff changeset
610 @include error.texi
7546
de9055fd713b Split the chapter "Gnulib" into 3 chapters "Introduction",
Bruno Haible <bruno@clisp.org>
parents: 7334
diff changeset
611 @include ctime.texi
de9055fd713b Split the chapter "Gnulib" into 3 chapters "Introduction",
Bruno Haible <bruno@clisp.org>
parents: 7334
diff changeset
612 @include gcd.texi
de9055fd713b Split the chapter "Gnulib" into 3 chapters "Introduction",
Bruno Haible <bruno@clisp.org>
parents: 7334
diff changeset
613 @include inet_ntoa.texi
8272
fd48e35f4e5e New modules relocatable, relocatable-lib, relocatable-script.
Bruno Haible <bruno@clisp.org>
parents: 7778
diff changeset
614 @include relocatable-maint.texi
7546
de9055fd713b Split the chapter "Gnulib" into 3 chapters "Introduction",
Bruno Haible <bruno@clisp.org>
parents: 7334
diff changeset
615
de9055fd713b Split the chapter "Gnulib" into 3 chapters "Introduction",
Bruno Haible <bruno@clisp.org>
parents: 7334
diff changeset
616 @node Regular expressions
de9055fd713b Split the chapter "Gnulib" into 3 chapters "Introduction",
Bruno Haible <bruno@clisp.org>
parents: 7334
diff changeset
617 @section Regular expressions
de9055fd713b Split the chapter "Gnulib" into 3 chapters "Introduction",
Bruno Haible <bruno@clisp.org>
parents: 7334
diff changeset
618
de9055fd713b Split the chapter "Gnulib" into 3 chapters "Introduction",
Bruno Haible <bruno@clisp.org>
parents: 7334
diff changeset
619 Gnulib supports many different types of regular expressions; although
de9055fd713b Split the chapter "Gnulib" into 3 chapters "Introduction",
Bruno Haible <bruno@clisp.org>
parents: 7334
diff changeset
620 the underlying features are the same or identical, the syntax used
de9055fd713b Split the chapter "Gnulib" into 3 chapters "Introduction",
Bruno Haible <bruno@clisp.org>
parents: 7334
diff changeset
621 varies. The descriptions given here for the different types are
de9055fd713b Split the chapter "Gnulib" into 3 chapters "Introduction",
Bruno Haible <bruno@clisp.org>
parents: 7334
diff changeset
622 generated automatically.
de9055fd713b Split the chapter "Gnulib" into 3 chapters "Introduction",
Bruno Haible <bruno@clisp.org>
parents: 7334
diff changeset
623
de9055fd713b Split the chapter "Gnulib" into 3 chapters "Introduction",
Bruno Haible <bruno@clisp.org>
parents: 7334
diff changeset
624 @include regexprops-generic.texi
5256
e23bd8e9d368 import sections from Simon
Karl Berry <karl@freefriends.org>
parents: 5239
diff changeset
625
5239
9056ec9c4b2b skeleton manual
Karl Berry <karl@freefriends.org>
parents:
diff changeset
626
9056ec9c4b2b skeleton manual
Karl Berry <karl@freefriends.org>
parents:
diff changeset
627 @node Copying This Manual
9056ec9c4b2b skeleton manual
Karl Berry <karl@freefriends.org>
parents:
diff changeset
628 @appendix Copying This Manual
9056ec9c4b2b skeleton manual
Karl Berry <karl@freefriends.org>
parents:
diff changeset
629
9056ec9c4b2b skeleton manual
Karl Berry <karl@freefriends.org>
parents:
diff changeset
630 @menu
9056ec9c4b2b skeleton manual
Karl Berry <karl@freefriends.org>
parents:
diff changeset
631 * GNU Free Documentation License:: License for copying this manual.
9056ec9c4b2b skeleton manual
Karl Berry <karl@freefriends.org>
parents:
diff changeset
632 @end menu
9056ec9c4b2b skeleton manual
Karl Berry <karl@freefriends.org>
parents:
diff changeset
633
9056ec9c4b2b skeleton manual
Karl Berry <karl@freefriends.org>
parents:
diff changeset
634 @include fdl.texi
9056ec9c4b2b skeleton manual
Karl Berry <karl@freefriends.org>
parents:
diff changeset
635
9056ec9c4b2b skeleton manual
Karl Berry <karl@freefriends.org>
parents:
diff changeset
636
9056ec9c4b2b skeleton manual
Karl Berry <karl@freefriends.org>
parents:
diff changeset
637 @node Index
9056ec9c4b2b skeleton manual
Karl Berry <karl@freefriends.org>
parents:
diff changeset
638 @unnumbered Index
9056ec9c4b2b skeleton manual
Karl Berry <karl@freefriends.org>
parents:
diff changeset
639
9056ec9c4b2b skeleton manual
Karl Berry <karl@freefriends.org>
parents:
diff changeset
640 @printindex cp
9056ec9c4b2b skeleton manual
Karl Berry <karl@freefriends.org>
parents:
diff changeset
641
9056ec9c4b2b skeleton manual
Karl Berry <karl@freefriends.org>
parents:
diff changeset
642 @bye