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 §ion.features; 130 131 §ion.using; 132 133 §ion.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 §ion.xml; 146 147<!-- §ion.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