1 /*
   2  * Summary: minimal HTTP implementation
   3  * Description: minimal HTTP implementation allowing to fetch resources
   4  *              like external subset.
   5  *
   6  * Copy: See Copyright for the status of this software.
   7  *
   8  * Author: Daniel Veillard
   9  */
  10 
  11 #ifndef __NANO_HTTP_H__
  12 #define __NANO_HTTP_H__
  13 
  14 #include <libxml/xmlversion.h>
  15 
  16 #ifdef LIBXML_HTTP_ENABLED
  17 
  18 #ifdef __cplusplus
  19 extern "C" {
  20 #endif
  21 XMLPUBFUN void XMLCALL
  22     xmlNanoHTTPInit     (void);
  23 XMLPUBFUN void XMLCALL
  24     xmlNanoHTTPCleanup  (void);
  25 XMLPUBFUN void XMLCALL
  26     xmlNanoHTTPScanProxy    (const char *URL);
  27 XMLPUBFUN int XMLCALL
  28     xmlNanoHTTPFetch    (const char *URL,
  29                  const char *filename,
  30                  char **contentType);
  31 XMLPUBFUN void * XMLCALL
  32     xmlNanoHTTPMethod   (const char *URL,
  33                  const char *method,
  34                  const char *input,
  35                  char **contentType,
  36                  const char *headers,
  37                  int   ilen);
  38 XMLPUBFUN void * XMLCALL
  39     xmlNanoHTTPMethodRedir  (const char *URL,
  40                  const char *method,
  41                  const char *input,
  42                  char **contentType,
  43                  char **redir,
  44                  const char *headers,
  45                  int   ilen);
  46 XMLPUBFUN void * XMLCALL
  47     xmlNanoHTTPOpen     (const char *URL,
  48                  char **contentType);
  49 XMLPUBFUN void * XMLCALL
  50     xmlNanoHTTPOpenRedir    (const char *URL,
  51                  char **contentType,
  52                  char **redir);
  53 XMLPUBFUN int XMLCALL
  54     xmlNanoHTTPReturnCode   (void *ctx);
  55 XMLPUBFUN const char * XMLCALL
  56     xmlNanoHTTPAuthHeader   (void *ctx);
  57 XMLPUBFUN const char * XMLCALL
  58     xmlNanoHTTPRedir    (void *ctx);
  59 XMLPUBFUN int XMLCALL
  60     xmlNanoHTTPContentLength( void * ctx );
  61 XMLPUBFUN const char * XMLCALL
  62     xmlNanoHTTPEncoding (void *ctx);
  63 XMLPUBFUN const char * XMLCALL
  64     xmlNanoHTTPMimeType (void *ctx);
  65 XMLPUBFUN int XMLCALL
  66     xmlNanoHTTPRead     (void *ctx,
  67                  void *dest,
  68                  int len);
  69 #ifdef LIBXML_OUTPUT_ENABLED
  70 XMLPUBFUN int XMLCALL
  71     xmlNanoHTTPSave     (void *ctxt,
  72                  const char *filename);
  73 #endif /* LIBXML_OUTPUT_ENABLED */
  74 XMLPUBFUN void XMLCALL
  75     xmlNanoHTTPClose    (void *ctx);
  76 #ifdef __cplusplus
  77 }
  78 #endif
  79 
  80 #endif /* LIBXML_HTTP_ENABLED */
  81 #endif /* __NANO_HTTP_H__ */