summaryrefslogtreecommitdiff
path: root/doc/manual.xml
blob: a6bb531baa76228544ab1721233c77ec835001ad (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
<?xml version='1.0'?> <!-- -*- nxml -*- -->

<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
  "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" [

<!ENTITY % isoent SYSTEM
    "http://www.oasis-open.org/docbook/xml/4.2/ent/iso-num.ent">
<!ENTITY % isopub SYSTEM
    "http://www.oasis-open.org/docbook/xml/4.2/ent/iso-pub.ent">

%isoent;
%isopub;

<!-- date/version stamp files created as release tarball is rolled -->
<!ENTITY date SYSTEM "date.xml">
<!ENTITY version SYSTEM "version.xml">

<!ENTITY neon "neon">

<!-- a useful entity for writing reference examples -->
<!ENTITY egsess "ne_session *sess = ne_session_create(...);">

<!ENTITY null "<literal>NULL</literal>">

<!ENTITY nul "<literal>NUL</literal>">

<!-- xml.xml entities: -->
<!ENTITY startelm "<emphasis>start-element</emphasis>">
<!ENTITY cdata "<emphasis>character-data</emphasis>">
<!ENTITY endelm "<emphasis>end-element</emphasis>">

<!ENTITY section.features SYSTEM "feat.xml">
<!ENTITY section.using SYSTEM "using.xml">
<!ENTITY section.xml SYSTEM "xml.xml">
<!ENTITY section.security SYSTEM "security.xml">
<!ENTITY section.ssl SYSTEM "ssl.xml">

<!ENTITY biblio SYSTEM "biblio.xml">

<!ENTITY refneon SYSTEM "ref/neon.xml">
<!ENTITY refconfig SYSTEM "ref/config.xml">

<!ENTITY refsess SYSTEM "ref/sess.xml">
<!ENTITY refsessflags SYSTEM "ref/sessflags.xml">
<!ENTITY referr SYSTEM "ref/err.xml">
<!ENTITY refopts SYSTEM "ref/opts.xml">
<!ENTITY refproxy SYSTEM "ref/proxy.xml">
<!ENTITY refsslvfy SYSTEM "ref/sslvfy.xml">
<!ENTITY refsslcert SYSTEM "ref/sslcert.xml">
<!ENTITY refsslcert2 SYSTEM "ref/sslcert2.xml">
<!ENTITY refsslcertio SYSTEM "ref/sslcertio.xml">
<!ENTITY refssldname SYSTEM "ref/ssldname.xml">
<!ENTITY refssltrust SYSTEM "ref/ssltrust.xml">
<!ENTITY refreq SYSTEM "ref/req.xml">
<!ENTITY refreqhdr SYSTEM "ref/reqhdr.xml">
<!ENTITY refresphdr SYSTEM "ref/resphdr.xml">
<!ENTITY refreqflags SYSTEM "ref/reqflags.xml">
<!ENTITY refstatus SYSTEM "ref/status.xml">
<!ENTITY refgetst SYSTEM "ref/getst.xml">
<!ENTITY refreqbody SYSTEM "ref/reqbody.xml">
<!ENTITY refauth SYSTEM "ref/auth.xml">
<!ENTITY refalloc SYSTEM "ref/alloc.xml">
<!ENTITY refbuf SYSTEM "ref/buf.xml">
<!ENTITY refbufcr SYSTEM "ref/bufcr.xml">
<!ENTITY refbufapp SYSTEM "ref/bufapp.xml">
<!ENTITY refbufdest SYSTEM "ref/bufdest.xml">
<!ENTITY refbufutil SYSTEM "ref/bufutil.xml">
<!ENTITY reftok SYSTEM "ref/tok.xml">
<!ENTITY refshave SYSTEM "ref/shave.xml">
<!ENTITY refvers SYSTEM "ref/vers.xml">
<!ENTITY refinit SYSTEM "ref/init.xml">
<!ENTITY refi18n SYSTEM "ref/i18n.xml">
<!ENTITY reffeat SYSTEM "ref/feat.xml">
<!ENTITY refresolve SYSTEM "ref/resolve.xml">
<!ENTITY refiaddr SYSTEM "ref/iaddr.xml">
<!ENTITY refclicert SYSTEM "ref/clicert.xml">
<!ENTITY refxml SYSTEM "ref/xml.xml">

]>

<book>
  <bookinfo>
    <title>neon HTTP/WebDAV client library</title>
    <author>
      <personname>
        <firstname>Joe</firstname><surname>Orton</surname>
      </personname>
      <email>neon@lists.manyfish.co.uk</email>
    </author>
    <copyright><year>2001-2008</year><holder>Joe Orton</holder></copyright>

    <legalnotice>

      <para>This document is free documentation; you can redistribute
      it and/or modify it under the terms of the <ulink
      url="http://www.gnu.org/copyleft/gpl.html">GNU General Public
      License</ulink> as published by the Free Software Foundation;
      either version 2 of the License, or (at your option) any later
      version.</para>
    
      <para>This document is distributed in the hope that it will be
      useful, but <emphasis>without any warranty</emphasis>; without
      even the implied warranty of
      <emphasis>merchantability</emphasis> or <emphasis>fitness for a
      particular purpose</emphasis>.  See the GNU General Public
      License for more details.</para>

      <para>You should have received a copy of the GNU General Public
      License along with this program; if not, write to the Free
      Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139,
      USA.</para>

    </legalnotice>

  </bookinfo>
  
  <chapter id="intro">
    <title>Introduction</title>

    <para>This chapter provides an introduction to neon, giving an
overview of the range of features offered, and some general guidelines
for using the neon API.</para>
    
    <para>neon aims to provide a modern, flexible, and simple API
in the C programming language for implementing HTTP and WebDAV
support.  The WebDAV functionality is entirely separate from the basic
HTTP functionality; neon can be used simply as an HTTP client library,
ignoring the WebDAV support if desired.</para>

    &section.features;

    &section.using;
    
    &section.security;

  </chapter>
 
  <chapter id="api">
    <title>The &neon; C language interface</title>

    <para>The documentation for the &neon; interface is split between
    this chapter, which gives a broad introduction to the abstractions
    exposed by the library, and <xref linkend="ref"/>, which gives a
    function-by-function breakdown of the interface.</para>

    &section.xml;

<!-- &section.ssl; -->

  </chapter>
 
  <reference id="ref">

    <!-- these are used in the man page header/footers -->
    <referenceinfo>
      <title>neon API reference</title>
      <date>&date;</date>
      <productname>neon</productname>
      <productnumber>&version;</productnumber>
    </referenceinfo>
    
    <title>neon API reference</title>

    &refneon; <!-- neon -->
    &refconfig; <!-- neon-config -->

    &refresolve; <!-- ne_addr_resolve -->
    &refbuf; <!-- ne_buffer -->
    &refbufapp; <!-- ne_buffer_append -->
    &refbufutil; <!-- ne_buffer_clear -->
    &refbufcr; <!-- ne_buffer_create -->
    &refbufdest; <!-- ne_buffer_destroy -->
    &referr; <!-- ne_get_error -->
    &refgetst; <!-- ne_get_status -->
    &reffeat; <!-- ne_has_support -->
    &refi18n; <!-- ne_i18n_init -->
    &refiaddr; <!-- ne_iaddr_make -->
    &refalloc; <!-- ne_malloc -->
    &refsess; <!-- ne_session_create -->
    &refproxy; <!-- ne_session_proxy -->
    &refsessflags; <!-- ne_set_session_flag -->
    &refreq; <!-- ne_request_create -->
    &refreqhdr; <!-- ne_add_request_header -->
    &refresphdr; <!-- ne_add_request_header -->
    &refopts; <!-- ne_set_useragent -->
    &refreqflags; <!-- ne_set_request_flag -->
    &refreqbody; <!-- ne_set_request_body_buffer -->
    &refauth; <!-- ne_set_server_auth -->
    &refshave; <!-- ne_shave -->
    &refinit; <!-- ne_sock_init -->
    &refsslcert; <!-- ne_ssl_cert_identity -->
    &refsslcert2; <!-- ne_ssl_cert_cmp -->
    &refsslcertio; <!-- ne_ssl_cert_read -->
    &refssldname; <!-- ne_ssl_dname -->
    &refssltrust; <!-- ne_ssl_load_ca -->
    &refsslvfy; <!-- ne_ssl_set_verify -->
    &refclicert; <!-- ne_ssl_client_cert -->
    &refstatus; <!-- ne_status -->
    &reftok; <!-- ne_token -->
    &refvers; <!-- ne_version_match -->
    &refxml; <!-- ne_xml_parser -->

    <!-- REFEND -->
    <!-- ******************************************************************* -->

  </reference>

&biblio;

</book>