Create a libapache2-mod-xml2enc-dev package to ship .h file used to build other
[manu/mod-xml2enc.git] / mod_xml2enc.h
1 /* This is free software.  Use and copy it wherever you want. */
2 #ifndef MOD_XML2ENC
3 #define MOD_XML2ENC
4
5 #define ENCIO_INPUT 0x01
6 #define ENCIO_OUTPUT 0x02
7 #define ENCIO_INPUT_CHECKS 0x04
8 #define ENCIO (ENCIO_INPUT|ENCIO_OUTPUT|ENCIO_INPUT_CHECKS)
9 #define ENCIO_SKIPTO 0x10
10
11 /* declarations to deal with WIN32 compile-flag-in-source-code crap */
12 #if !defined(WIN32)
13 #define XML2ENC_DECLARE(type)            type
14 #define XML2ENC_DECLARE_NONSTD(type)     type
15 #define XML2ENC_DECLARE_DATA
16 #elif defined(XML2ENC_DECLARE_STATIC)
17 #define XML2ENC_DECLARE(type)            type __stdcall
18 #define XML2ENC_DECLARE_NONSTD(type)     type
19 #define XML2ENC_DECLARE_DATA
20 #elif defined(XML2ENC_DECLARE_EXPORT)
21 #define XML2ENC_DECLARE(type)            __declspec(dllexport) type __stdcall
22 #define XML2ENC_DECLARE_NONSTD(type)     __declspec(dllexport) type
23 #define XML2ENC_DECLARE_DATA             __declspec(dllexport)
24 #else
25 #define XML2ENC_DECLARE(type)            __declspec(dllimport) type __stdcall
26 #define XML2ENC_DECLARE_NONSTD(type)     __declspec(dllimport) type
27 #define XML2ENC_DECLARE_DATA             __declspec(dllimport)
28 #endif
29
30 APR_DECLARE_OPTIONAL_FN(apr_status_t, xml2enc_charset,
31                 (request_rec* r, xmlCharEncoding* enc, const char** cenc));
32
33 APR_DECLARE_OPTIONAL_FN(apr_status_t, xml2enc_filter,
34                 (request_rec* r, const char* enc, unsigned int mode));
35
36 APR_DECLARE_EXTERNAL_HOOK(xml2enc, XML2ENC, int, preprocess,
37                 (ap_filter_t *f, char** bufp, apr_size_t* bytesp))
38
39 #endif