1<?xml version='1.0'?> <!-- -*- nxml -*- -->
2
3<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
4  "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" [
5
6<!ENTITY % isoent SYSTEM
7    "http://www.oasis-open.org/docbook/xml/4.2/ent/iso-num.ent">
8<!ENTITY % isopub SYSTEM
9    "http://www.oasis-open.org/docbook/xml/4.2/ent/iso-pub.ent">
10
11%isoent;
12%isopub;
13
14<!-- date/version stamp files created as release tarball is rolled -->
15<!ENTITY date SYSTEM "date.xml">
16<!ENTITY version SYSTEM "version.xml">
17
18<!ENTITY neon "neon">
19
20<!-- a useful entity for writing reference examples -->
21<!ENTITY egsess "ne_session *sess = ne_session_create(...);">
22
23<!ENTITY null "<literal>NULL</literal>">
24
25<!ENTITY nul "<literal>NUL</literal>">
26
27<!-- xml.xml entities: -->
28<!ENTITY startelm "<emphasis>start-element</emphasis>">
29<!ENTITY cdata "<emphasis>character-data</emphasis>">
30<!ENTITY endelm "<emphasis>end-element</emphasis>">
31
32<!ENTITY section.features SYSTEM "feat.xml">
33<!ENTITY section.using SYSTEM "using.xml">
34<!ENTITY section.xml SYSTEM "xml.xml">
35<!ENTITY section.security SYSTEM "security.xml">
36<!ENTITY section.ssl SYSTEM "ssl.xml">
37
38<!ENTITY biblio SYSTEM "biblio.xml">
39
40<!ENTITY refneon SYSTEM "ref/neon.xml">
41<!ENTITY refconfig SYSTEM "ref/config.xml">
42
43<!ENTITY refsess SYSTEM "ref/sess.xml">
44<!ENTITY refsessflags SYSTEM "ref/sessflags.xml">
45<!ENTITY referr SYSTEM "ref/err.xml">
46<!ENTITY refopts SYSTEM "ref/opts.xml">
47<!ENTITY refsslvfy SYSTEM "ref/sslvfy.xml">
48<!ENTITY refsslcert SYSTEM "ref/sslcert.xml">
49<!ENTITY refsslcert2 SYSTEM "ref/sslcert2.xml">
50<!ENTITY refsslcertio SYSTEM "ref/sslcertio.xml">
51<!ENTITY refssldname SYSTEM "ref/ssldname.xml">
52<!ENTITY refssltrust SYSTEM "ref/ssltrust.xml">
53<!ENTITY refreq SYSTEM "ref/req.xml">
54<!ENTITY refreqhdr SYSTEM "ref/reqhdr.xml">
55<!ENTITY refresphdr SYSTEM "ref/resphdr.xml">
56<!ENTITY refreqflags SYSTEM "ref/reqflags.xml">
57<!ENTITY refstatus SYSTEM "ref/status.xml">
58<!ENTITY refgetst SYSTEM "ref/getst.xml">
59<!ENTITY refreqbody SYSTEM "ref/reqbody.xml">
60<!ENTITY refauth SYSTEM "ref/auth.xml">
61<!ENTITY refalloc SYSTEM "ref/alloc.xml">
62<!ENTITY refbuf SYSTEM "ref/buf.xml">
63<!ENTITY refbufcr SYSTEM "ref/bufcr.xml">
64<!ENTITY refbufapp SYSTEM "ref/bufapp.xml">
65<!ENTITY refbufdest SYSTEM "ref/bufdest.xml">
66<!ENTITY refbufutil SYSTEM "ref/bufutil.xml">
67<!ENTITY reftok SYSTEM "ref/tok.xml">
68<!ENTITY refshave SYSTEM "ref/shave.xml">
69<!ENTITY refvers SYSTEM "ref/vers.xml">
70<!ENTITY refinit SYSTEM "ref/init.xml">
71<!ENTITY refi18n SYSTEM "ref/i18n.xml">
72<!ENTITY reffeat SYSTEM "ref/feat.xml">
73<!ENTITY refresolve SYSTEM "ref/resolve.xml">
74<!ENTITY refiaddr SYSTEM "ref/iaddr.xml">
75<!ENTITY refclicert SYSTEM "ref/clicert.xml">
76<!ENTITY refxml SYSTEM "ref/xml.xml">
77
78]>
79
80<book>
81  <bookinfo>
82    <title>neon HTTP/WebDAV client library</title>
83    <author>
84      <personname>
85        <firstname>Joe</firstname><surname>Orton</surname>
86      </personname>
87      <email>neon@lists.manyfish.co.uk</email>
88    </author>
89    <copyright><year>2001-2008</year><holder>Joe Orton</holder></copyright>
90
91    <legalnotice>
92
93      <para>This document is free documentation; you can redistribute
94      it and/or modify it under the terms of the <ulink
95      url="http://www.gnu.org/copyleft/gpl.html">GNU General Public
96      License</ulink> as published by the Free Software Foundation;
97      either version 2 of the License, or (at your option) any later
98      version.</para>
99    
100      <para>This document is distributed in the hope that it will be
101      useful, but <emphasis>without any warranty</emphasis>; without
102      even the implied warranty of
103      <emphasis>merchantability</emphasis> or <emphasis>fitness for a
104      particular purpose</emphasis>.  See the GNU General Public
105      License for more details.</para>
106
107      <para>You should have received a copy of the GNU General Public
108      License along with this program; if not, write to the Free
109      Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139,
110      USA.</para>
111
112    </legalnotice>
113
114  </bookinfo>
115  
116  <chapter id="intro">
117    <title>Introduction</title>
118
119    <para>This chapter provides an introduction to neon, giving an
120overview of the range of features offered, and some general guidelines
121for using the neon API.</para>
122    
123    <para>neon aims to provide a modern, flexible, and simple API
124in the C programming language for implementing HTTP and WebDAV
125support.  The WebDAV functionality is entirely separate from the basic
126HTTP functionality; neon can be used simply as an HTTP client library,
127ignoring the WebDAV support if desired.</para>
128
129    &section.features;
130
131    &section.using;
132    
133    &section.security;
134
135  </chapter>
136 
137  <chapter id="api">
138    <title>The &neon; C language interface</title>
139
140    <para>The documentation for the &neon; interface is split between
141    this chapter, which gives a broad introduction to the abstractions
142    exposed by the library, and <xref linkend="ref"/>, which gives a
143    function-by-function breakdown of the interface.</para>
144
145    &section.xml;
146
147<!-- &section.ssl; -->
148
149  </chapter>
150 
151  <reference id="ref">
152
153    <!-- these are used in the man page header/footers -->
154    <referenceinfo>
155      <title>neon API reference</title>
156      <date>&date;</date>
157      <productname>neon</productname>
158      <productnumber>&version;</productnumber>
159    </referenceinfo>
160    
161    <title>neon API reference</title>
162
163    &refneon; <!-- neon -->
164    &refconfig; <!-- neon-config -->
165
166    &refresolve; <!-- ne_addr_resolve -->
167    &refbuf; <!-- ne_buffer -->
168    &refbufapp; <!-- ne_buffer_append -->
169    &refbufutil; <!-- ne_buffer_clear -->
170    &refbufcr; <!-- ne_buffer_create -->
171    &refbufdest; <!-- ne_buffer_destroy -->
172    &referr; <!-- ne_get_error -->
173    &refgetst; <!-- ne_get_status -->
174    &reffeat; <!-- ne_has_support -->
175    &refi18n; <!-- ne_i18n_init -->
176    &refiaddr; <!-- ne_iaddr_make -->
177    &refalloc; <!-- ne_malloc -->
178    &refsess; <!-- ne_session_create -->
179    &refsessflags; <!-- ne_set_session_flag -->
180    &refreq; <!-- ne_request_create -->
181    &refreqhdr; <!-- ne_add_request_header -->
182    &refresphdr; <!-- ne_add_request_header -->
183    &refopts; <!-- ne_set_useragent -->
184    &refreqflags; <!-- ne_set_request_flag -->
185    &refreqbody; <!-- ne_set_request_body_buffer -->
186    &refauth; <!-- ne_set_server_auth -->
187    &refshave; <!-- ne_shave -->
188    &refinit; <!-- ne_sock_init -->
189    &refsslcert; <!-- ne_ssl_cert_identity -->
190    &refsslcert2; <!-- ne_ssl_cert_cmp -->
191    &refsslcertio; <!-- ne_ssl_cert_read -->
192    &refssldname; <!-- ne_ssl_dname -->
193    &refssltrust; <!-- ne_ssl_load_ca -->
194    &refsslvfy; <!-- ne_ssl_set_verify -->
195    &refclicert; <!-- ne_ssl_client_cert -->
196    &refstatus; <!-- ne_status -->
197    &reftok; <!-- ne_token -->
198    &refvers; <!-- ne_version_match -->
199    &refxml; <!-- ne_xml_parser -->
200
201    <!-- REFEND -->
202    <!-- ******************************************************************* -->
203
204  </reference>
205
206&biblio;
207
208</book>
209