summaryrefslogtreecommitdiff
path: root/doc/manual.xml
blob: d3880b6ce351e1bed1c50420f59f4a7d31b7cb1d (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
<?xml version='1.0'?> <!-- -*- text -*- -->

<!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;

<!ENTITY fdl SYSTEM "fdl.sgml">

<!-- 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.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 referr SYSTEM "ref/err.xml">
<!ENTITY refopts SYSTEM "ref/opts.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 refreqopts SYSTEM "ref/reqopts.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 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>
      <firstname>Joe</firstname><surname>Orton</surname>
      <affiliation>
	<address><email>neon@webdav.org</email></address>
      </affiliation>
    </author>
    <copyright><year>2001-2003</year><holder>Joe Orton</holder></copyright>

    <legalnotice>
      <para>Permission is granted to copy, distribute and/or modify this document
      under the terms of the GNU Free Documentation License, Version 1.1
      or any later version published by the Free Software Foundation;
      with no Invariant Sections, with no Front-Cover Texts, 
      and with no Back-Cover Texts.
      A copy of the license is included in the section entitled "GNU
      Free Documentation License".</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;
    
  </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 &version;</productname>
    </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 -->
    &refiaddr; <!-- ne_iaddr_make -->
    &refalloc; <!-- ne_malloc -->
    &refsess; <!-- ne_session_create -->
    &refreq; <!-- ne_request_create -->
    &refreqhdr; <!-- ne_add_request_header -->
    &refresphdr; <!-- ne_add_request_header -->
    &refopts; <!-- ne_set_useragent -->
    &refreqopts; <!-- ne_set_useragent -->
    &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;

&fdl;
  
</book>