summaryrefslogtreecommitdiff
path: root/ext/iconv/php_iconv.h
diff options
context:
space:
mode:
Diffstat (limited to 'ext/iconv/php_iconv.h')
-rw-r--r--ext/iconv/php_iconv.h130
1 files changed, 130 insertions, 0 deletions
diff --git a/ext/iconv/php_iconv.h b/ext/iconv/php_iconv.h
new file mode 100644
index 0000000..4753c78
--- /dev/null
+++ b/ext/iconv/php_iconv.h
@@ -0,0 +1,130 @@
+/*
+ +----------------------------------------------------------------------+
+ | PHP Version 5 |
+ +----------------------------------------------------------------------+
+ | Copyright (c) 1997-2013 The PHP Group |
+ +----------------------------------------------------------------------+
+ | This source file is subject to version 3.01 of the PHP license, |
+ | that is bundled with this package in the file LICENSE, and is |
+ | available through the world-wide-web at the following url: |
+ | http://www.php.net/license/3_01.txt |
+ | If you did not receive a copy of the PHP license and are unable to |
+ | obtain it through the world-wide-web, please send a note to |
+ | license@php.net so we can mail you a copy immediately. |
+ +----------------------------------------------------------------------+
+ | Authors: Rui Hirokawa <rui_hirokawa@ybb.ne.jp> |
+ | Stig Bakken <ssb@php.net> |
+ +----------------------------------------------------------------------+
+ */
+
+/* $Id: 04fa6ef5343d7bcc71d249670b2771f096bda5bf $ */
+
+#ifndef PHP_ICONV_H
+#define PHP_ICONV_H
+
+#ifdef PHP_WIN32
+# ifdef PHP_ICONV_EXPORTS
+# define PHP_ICONV_API __declspec(dllexport)
+# else
+# define PHP_ICONV_API __declspec(dllimport)
+# endif
+#elif defined(__GNUC__) && __GNUC__ >= 4
+# define PHP_ICONV_API __attribute__ ((visibility("default")))
+#else
+# define PHP_ICONV_API
+#endif
+
+#ifdef PHP_ATOM_INC
+#include "ext/iconv/php_have_iconv.h"
+#include "ext/iconv/php_have_libiconv.h"
+#include "ext/iconv/php_iconv_aliased_libiconv.h"
+#include "ext/iconv/php_have_glibc_iconv.h"
+#include "ext/iconv/php_have_bsd_iconv.h"
+#include "ext/iconv/php_have_ibm_iconv.h"
+#include "ext/iconv/php_iconv_supports_errno.h"
+#include "ext/iconv/php_php_iconv_impl.h"
+#include "ext/iconv/php_php_iconv_h_path.h"
+#endif
+
+#ifdef HAVE_ICONV
+extern zend_module_entry iconv_module_entry;
+#define iconv_module_ptr &iconv_module_entry
+
+PHP_MINIT_FUNCTION(miconv);
+PHP_MSHUTDOWN_FUNCTION(miconv);
+PHP_MINFO_FUNCTION(miconv);
+
+PHP_NAMED_FUNCTION(php_if_iconv);
+PHP_FUNCTION(ob_iconv_handler);
+PHP_FUNCTION(iconv_get_encoding);
+PHP_FUNCTION(iconv_set_encoding);
+PHP_FUNCTION(iconv_strlen);
+PHP_FUNCTION(iconv_substr);
+PHP_FUNCTION(iconv_strpos);
+PHP_FUNCTION(iconv_strrpos);
+PHP_FUNCTION(iconv_mime_encode);
+PHP_FUNCTION(iconv_mime_decode);
+PHP_FUNCTION(iconv_mime_decode_headers);
+
+ZEND_BEGIN_MODULE_GLOBALS(iconv)
+ char *input_encoding;
+ char *internal_encoding;
+ char *output_encoding;
+ZEND_END_MODULE_GLOBALS(iconv)
+
+#ifdef ZTS
+# define ICONVG(v) TSRMG(iconv_globals_id, zend_iconv_globals *, v)
+#else
+# define ICONVG(v) (iconv_globals.v)
+#endif
+
+#ifdef HAVE_IBM_ICONV
+# define ICONV_INPUT_ENCODING "ISO8859-1"
+# define ICONV_OUTPUT_ENCODING "ISO8859-1"
+# define ICONV_INTERNAL_ENCODING "ISO8859-1"
+# define ICONV_ASCII_ENCODING "IBM-850"
+# define ICONV_UCS4_ENCODING "UCS-4"
+#else
+# define ICONV_INPUT_ENCODING "ISO-8859-1"
+# define ICONV_OUTPUT_ENCODING "ISO-8859-1"
+# define ICONV_INTERNAL_ENCODING "ISO-8859-1"
+# define ICONV_ASCII_ENCODING "ASCII"
+# define ICONV_UCS4_ENCODING "UCS-4LE"
+#endif
+
+#ifndef ICONV_CSNMAXLEN
+#define ICONV_CSNMAXLEN 64
+#endif
+
+/* {{{ typedef enum php_iconv_err_t */
+typedef enum _php_iconv_err_t {
+ PHP_ICONV_ERR_SUCCESS = SUCCESS,
+ PHP_ICONV_ERR_CONVERTER = 1,
+ PHP_ICONV_ERR_WRONG_CHARSET = 2,
+ PHP_ICONV_ERR_TOO_BIG = 3,
+ PHP_ICONV_ERR_ILLEGAL_SEQ = 4,
+ PHP_ICONV_ERR_ILLEGAL_CHAR = 5,
+ PHP_ICONV_ERR_UNKNOWN = 6,
+ PHP_ICONV_ERR_MALFORMED = 7,
+ PHP_ICONV_ERR_ALLOC = 8
+} php_iconv_err_t;
+/* }}} */
+
+PHP_ICONV_API php_iconv_err_t php_iconv_string(const char * in_p, size_t in_len, char **out, size_t *out_len, const char *out_charset, const char *in_charset);
+
+#else
+
+#define iconv_module_ptr NULL
+
+#endif /* HAVE_ICONV */
+
+#define phpext_iconv_ptr iconv_module_ptr
+
+#endif /* PHP_ICONV_H */
+
+/*
+ * Local variables:
+ * tab-width: 4
+ * c-basic-offset: 4
+ * End:
+ */