NULL
};
-PHPAPI XML_Parser
+PHP_XML_API XML_Parser
XML_ParserCreate(const XML_Char *encoding)
{
return XML_ParserCreate_MM(encoding, NULL, NULL);
}
-PHPAPI XML_Parser
+PHP_XML_API XML_Parser
XML_ParserCreateNS(const XML_Char *encoding, const XML_Char sep)
{
XML_Char tmp[2];
return XML_ParserCreate_MM(encoding, NULL, tmp);
}
-PHPAPI XML_Parser
+PHP_XML_API XML_Parser
XML_ParserCreate_MM(const XML_Char *encoding, const XML_Memory_Handling_Suite *memsuite, const XML_Char *sep)
{
XML_Parser parser;
return parser;
}
-PHPAPI void
+PHP_XML_API void
XML_SetUserData(XML_Parser parser, void *user)
{
parser->user = user;
}
-PHPAPI void *
+PHP_XML_API void *
XML_GetUserData(XML_Parser parser)
{
return parser->user;
}
-PHPAPI void
+PHP_XML_API void
XML_SetElementHandler(XML_Parser parser, XML_StartElementHandler start, XML_EndElementHandler end)
{
parser->h_start_element = start;
parser->h_end_element = end;
}
-PHPAPI void
+PHP_XML_API void
XML_SetCharacterDataHandler(XML_Parser parser, XML_CharacterDataHandler cdata)
{
parser->h_cdata = cdata;
}
-PHPAPI void
+PHP_XML_API void
XML_SetProcessingInstructionHandler(XML_Parser parser, XML_ProcessingInstructionHandler pi)
{
parser->h_pi = pi;
}
-PHPAPI void
+PHP_XML_API void
XML_SetCommentHandler(XML_Parser parser, XML_CommentHandler comment)
{
parser->h_comment = comment;
}
-PHPAPI void
+PHP_XML_API void
XML_SetDefaultHandler(XML_Parser parser, XML_DefaultHandler d)
{
parser->h_default = d;
}
-PHPAPI void
+PHP_XML_API void
XML_SetUnparsedEntityDeclHandler(XML_Parser parser, XML_UnparsedEntityDeclHandler unparsed_decl)
{
parser->h_unparsed_entity_decl = unparsed_decl;
}
-PHPAPI void
+PHP_XML_API void
XML_SetNotationDeclHandler(XML_Parser parser, XML_NotationDeclHandler notation_decl)
{
parser->h_notation_decl = notation_decl;
}
-PHPAPI void
+PHP_XML_API void
XML_SetExternalEntityRefHandler(XML_Parser parser, XML_ExternalEntityRefHandler ext_entity)
{
parser->h_external_entity_ref = ext_entity;
}
-PHPAPI void
+PHP_XML_API void
XML_SetStartNamespaceDeclHandler(XML_Parser parser, XML_StartNamespaceDeclHandler start_ns)
{
parser->h_start_ns = start_ns;
}
-PHPAPI void
+PHP_XML_API void
XML_SetEndNamespaceDeclHandler(XML_Parser parser, XML_EndNamespaceDeclHandler end_ns)
{
parser->h_end_ns = end_ns;
}
-PHPAPI int
+PHP_XML_API int
XML_Parse(XML_Parser parser, const XML_Char *data, int data_len, int is_final)
{
int error;
}
}
-PHPAPI int
+PHP_XML_API int
XML_GetErrorCode(XML_Parser parser)
{
return parser->parser->errNo;
(const XML_Char *)"Missing encoding in text declaration" /* 101 */
};
-PHPAPI const XML_Char *
+PHP_XML_API const XML_Char *
XML_ErrorString(int code)
{
if (code < 0 || code >= (int)(sizeof(error_mapping) / sizeof(error_mapping[0]))) {
return error_mapping[code];
}
-PHPAPI int
+PHP_XML_API int
XML_GetCurrentLineNumber(XML_Parser parser)
{
return parser->parser->input->line;
}
-PHPAPI int
+PHP_XML_API int
XML_GetCurrentColumnNumber(XML_Parser parser)
{
return parser->parser->input->col;
}
-PHPAPI int
+PHP_XML_API int
XML_GetCurrentByteIndex(XML_Parser parser)
{
return parser->parser->input->consumed +
(parser->parser->input->cur - parser->parser->input->base);
}
-PHPAPI int
+PHP_XML_API int
XML_GetCurrentByteCount(XML_Parser parser)
{
/* WARNING: this is identical to ByteIndex; it should probably
(parser->parser->input->cur - parser->parser->input->base);
}
-PHPAPI const XML_Char *XML_ExpatVersion(void)
+PHP_XML_API const XML_Char *XML_ExpatVersion(void)
{
return (const XML_Char *) "1.0";
}
-PHPAPI void
+PHP_XML_API void
XML_ParserFree(XML_Parser parser)
{
if (parser->use_namespace) {
#include <php_config.h>
#endif
+#ifdef PHP_WIN32
+# define PHP_XML_API __declspec(dllexport)
+#elif defined(__GNUC__) && __GNUC__ >= 4
+# define PHP_XML_API __attribute__ ((visibility("default")))
+#else
+# define PHP_XML_API
+#endif
+
#if !defined(HAVE_LIBEXPAT) && defined(HAVE_LIBXML)
#define LIBXML_EXPAT_COMPAT 1
XML_CTYPE_SEQ
};
-PHPAPI XML_Parser XML_ParserCreate(const XML_Char *);
-PHPAPI XML_Parser XML_ParserCreateNS(const XML_Char *, const XML_Char);
-PHPAPI XML_Parser XML_ParserCreate_MM(const XML_Char *, const XML_Memory_Handling_Suite *, const XML_Char *);
-PHPAPI void XML_SetUserData(XML_Parser, void *);
-PHPAPI void *XML_GetUserData(XML_Parser);
-PHPAPI void XML_SetElementHandler(XML_Parser, XML_StartElementHandler, XML_EndElementHandler);
-PHPAPI void XML_SetCharacterDataHandler(XML_Parser, XML_CharacterDataHandler);
-PHPAPI void XML_SetProcessingInstructionHandler(XML_Parser, XML_ProcessingInstructionHandler);
-PHPAPI void XML_SetDefaultHandler(XML_Parser, XML_DefaultHandler);
-PHPAPI void XML_SetUnparsedEntityDeclHandler(XML_Parser, XML_UnparsedEntityDeclHandler);
-PHPAPI void XML_SetNotationDeclHandler(XML_Parser, XML_NotationDeclHandler);
-PHPAPI void XML_SetExternalEntityRefHandler(XML_Parser, XML_ExternalEntityRefHandler);
-PHPAPI void XML_SetStartNamespaceDeclHandler(XML_Parser, XML_StartNamespaceDeclHandler);
-PHPAPI void XML_SetEndNamespaceDeclHandler(XML_Parser, XML_EndNamespaceDeclHandler);
-PHPAPI int XML_Parse(XML_Parser, const XML_Char *, int data_len, int is_final);
-PHPAPI int XML_GetErrorCode(XML_Parser);
-PHPAPI const XML_Char *XML_ErrorString(int);
-PHPAPI int XML_GetCurrentLineNumber(XML_Parser);
-PHPAPI int XML_GetCurrentColumnNumber(XML_Parser);
-PHPAPI int XML_GetCurrentByteIndex(XML_Parser);
-PHPAPI int XML_GetCurrentByteCount(XML_Parser);
-PHPAPI const XML_Char *XML_ExpatVersion(void);
-PHPAPI void XML_ParserFree(XML_Parser);
+PHP_XML_API XML_Parser XML_ParserCreate(const XML_Char *);
+PHP_XML_API XML_Parser XML_ParserCreateNS(const XML_Char *, const XML_Char);
+PHP_XML_API XML_Parser XML_ParserCreate_MM(const XML_Char *, const XML_Memory_Handling_Suite *, const XML_Char *);
+PHP_XML_API void XML_SetUserData(XML_Parser, void *);
+PHP_XML_API void *XML_GetUserData(XML_Parser);
+PHP_XML_API void XML_SetElementHandler(XML_Parser, XML_StartElementHandler, XML_EndElementHandler);
+PHP_XML_API void XML_SetCharacterDataHandler(XML_Parser, XML_CharacterDataHandler);
+PHP_XML_API void XML_SetProcessingInstructionHandler(XML_Parser, XML_ProcessingInstructionHandler);
+PHP_XML_API void XML_SetDefaultHandler(XML_Parser, XML_DefaultHandler);
+PHP_XML_API void XML_SetUnparsedEntityDeclHandler(XML_Parser, XML_UnparsedEntityDeclHandler);
+PHP_XML_API void XML_SetNotationDeclHandler(XML_Parser, XML_NotationDeclHandler);
+PHP_XML_API void XML_SetExternalEntityRefHandler(XML_Parser, XML_ExternalEntityRefHandler);
+PHP_XML_API void XML_SetStartNamespaceDeclHandler(XML_Parser, XML_StartNamespaceDeclHandler);
+PHP_XML_API void XML_SetEndNamespaceDeclHandler(XML_Parser, XML_EndNamespaceDeclHandler);
+PHP_XML_API int XML_Parse(XML_Parser, const XML_Char *, int data_len, int is_final);
+PHP_XML_API int XML_GetErrorCode(XML_Parser);
+PHP_XML_API const XML_Char *XML_ErrorString(int);
+PHP_XML_API int XML_GetCurrentLineNumber(XML_Parser);
+PHP_XML_API int XML_GetCurrentColumnNumber(XML_Parser);
+PHP_XML_API int XML_GetCurrentByteIndex(XML_Parser);
+PHP_XML_API int XML_GetCurrentByteCount(XML_Parser);
+PHP_XML_API const XML_Char *XML_ExpatVersion(void);
+PHP_XML_API void XML_ParserFree(XML_Parser);
#elif defined(HAVE_LIBEXPAT)
#include <expat.h>
#include "ext/xml/expat_compat.h"
-
#ifdef XML_UNICODE
#error "UTF-16 Unicode support not implemented!"
#endif
PHP_FUNCTION(utf8_decode);
PHP_FUNCTION(xml_parse_into_struct);
-PHPAPI char *_xml_zval_strdup(zval *);
-PHPAPI zend_string *xml_utf8_decode(const XML_Char *, size_t, const XML_Char *);
-PHPAPI zend_string *xml_utf8_encode(const char *, size_t, const XML_Char *);
+PHP_XML_API char *_xml_zval_strdup(zval *);
+PHP_XML_API zend_string *xml_utf8_decode(const XML_Char *, size_t, const XML_Char *);
+PHP_XML_API zend_string *xml_utf8_encode(const char *, size_t, const XML_Char *);
#endif /* HAVE_LIBEXPAT */
/* }}} */
/* {{{ xml_utf8_encode() */
-PHPAPI zend_string *xml_utf8_encode(const char *s, size_t len, const XML_Char *encoding)
+PHP_XML_API zend_string *xml_utf8_encode(const char *s, size_t len, const XML_Char *encoding)
{
size_t pos = len;
zend_string *str;
/* }}} */
/* {{{ xml_utf8_decode() */
-PHPAPI zend_string *xml_utf8_decode(const XML_Char *s, size_t len, const XML_Char *encoding)
+PHP_XML_API zend_string *xml_utf8_decode(const XML_Char *s, size_t len, const XML_Char *encoding)
{
size_t pos = 0;
unsigned int c;
/* }}} */
/* {{{ _xml_zval_strdup() */
-PHPAPI char *_xml_zval_strdup(zval *val)
+PHP_XML_API char *_xml_zval_strdup(zval *val)
{
if (Z_TYPE_P(val) == IS_STRING) {
char *buf = emalloc(Z_STRLEN_P(val) + 1);