blob: 1d8ac24b2afbdc98f2dc8575b2721c35de3cddb4 [file] [log] [blame]
Owen Taylor3473f882001-02-23 17:55:21 +00001/*
Daniel Veillardbe586972003-11-18 20:56:51 +00002 * Summary: minimal HTTP implementation
3 * Description: minimal HTTP implementation allowing to fetch resources
4 * like external subset.
Owen Taylor3473f882001-02-23 17:55:21 +00005 *
Daniel Veillardbe586972003-11-18 20:56:51 +00006 * Copy: See Copyright for the status of this software.
Owen Taylor3473f882001-02-23 17:55:21 +00007 *
Daniel Veillardbe586972003-11-18 20:56:51 +00008 * Author: Daniel Veillard
Owen Taylor3473f882001-02-23 17:55:21 +00009 */
10
11#ifndef __NANO_HTTP_H__
12#define __NANO_HTTP_H__
13
14#include <libxml/xmlversion.h>
Igor Zlatkovic7ae91bc2002-11-08 17:18:52 +000015
Owen Taylor3473f882001-02-23 17:55:21 +000016#ifdef LIBXML_HTTP_ENABLED
17
18#ifdef __cplusplus
19extern "C" {
20#endif
Igor Zlatkovic76874e42003-08-25 09:05:12 +000021XMLPUBFUN void XMLCALL
22 xmlNanoHTTPInit (void);
23XMLPUBFUN void XMLCALL
24 xmlNanoHTTPCleanup (void);
25XMLPUBFUN void XMLCALL
26 xmlNanoHTTPScanProxy (const char *URL);
27XMLPUBFUN int XMLCALL
28 xmlNanoHTTPFetch (const char *URL,
Owen Taylor3473f882001-02-23 17:55:21 +000029 const char *filename,
30 char **contentType);
Igor Zlatkovic76874e42003-08-25 09:05:12 +000031XMLPUBFUN void * XMLCALL
32 xmlNanoHTTPMethod (const char *URL,
Owen Taylor3473f882001-02-23 17:55:21 +000033 const char *method,
34 const char *input,
35 char **contentType,
Daniel Veillardf012a642001-07-23 19:10:52 +000036 const char *headers,
37 int ilen);
Igor Zlatkovic76874e42003-08-25 09:05:12 +000038XMLPUBFUN void * XMLCALL
39 xmlNanoHTTPMethodRedir (const char *URL,
Daniel Veillard9403a042001-05-28 11:00:53 +000040 const char *method,
41 const char *input,
42 char **contentType,
43 char **redir,
Daniel Veillardf012a642001-07-23 19:10:52 +000044 const char *headers,
45 int ilen);
Igor Zlatkovic76874e42003-08-25 09:05:12 +000046XMLPUBFUN void * XMLCALL
47 xmlNanoHTTPOpen (const char *URL,
Owen Taylor3473f882001-02-23 17:55:21 +000048 char **contentType);
Igor Zlatkovic76874e42003-08-25 09:05:12 +000049XMLPUBFUN void * XMLCALL
50 xmlNanoHTTPOpenRedir (const char *URL,
Daniel Veillard9403a042001-05-28 11:00:53 +000051 char **contentType,
52 char **redir);
Igor Zlatkovic76874e42003-08-25 09:05:12 +000053XMLPUBFUN int XMLCALL
54 xmlNanoHTTPReturnCode (void *ctx);
55XMLPUBFUN const char * XMLCALL
Daniel Veillard847332a2003-10-18 11:29:40 +000056 xmlNanoHTTPAuthHeader (void *ctx);
57XMLPUBFUN const char * XMLCALL
Daniel Veillarda840b692003-10-19 13:35:37 +000058 xmlNanoHTTPRedir (void *ctx);
William M. Brack13dfa872004-09-18 04:52:08 +000059XMLPUBFUN int XMLCALL
60 xmlNanoHTTPContentLength( void * ctx );
Daniel Veillard847332a2003-10-18 11:29:40 +000061XMLPUBFUN const char * XMLCALL
Daniel Veillarda840b692003-10-19 13:35:37 +000062 xmlNanoHTTPEncoding (void *ctx);
63XMLPUBFUN const char * XMLCALL
64 xmlNanoHTTPMimeType (void *ctx);
Igor Zlatkovic76874e42003-08-25 09:05:12 +000065XMLPUBFUN int XMLCALL
66 xmlNanoHTTPRead (void *ctx,
Owen Taylor3473f882001-02-23 17:55:21 +000067 void *dest,
68 int len);
Daniel Veillarda9cce9c2003-09-29 13:20:24 +000069#ifdef LIBXML_OUTPUT_ENABLED
Igor Zlatkovic76874e42003-08-25 09:05:12 +000070XMLPUBFUN int XMLCALL
71 xmlNanoHTTPSave (void *ctxt,
Owen Taylor3473f882001-02-23 17:55:21 +000072 const char *filename);
Daniel Veillarda9cce9c2003-09-29 13:20:24 +000073#endif /* LIBXML_OUTPUT_ENABLED */
Igor Zlatkovic76874e42003-08-25 09:05:12 +000074XMLPUBFUN void XMLCALL
75 xmlNanoHTTPClose (void *ctx);
Owen Taylor3473f882001-02-23 17:55:21 +000076#ifdef __cplusplus
77}
Igor Zlatkovic76874e42003-08-25 09:05:12 +000078#endif
Owen Taylor3473f882001-02-23 17:55:21 +000079
80#endif /* LIBXML_HTTP_ENABLED */
Owen Taylor3473f882001-02-23 17:55:21 +000081#endif /* __NANO_HTTP_H__ */