Repository navigation
Expand file tree
/
Copy pathphp_intl.h
More file actions
85 lines (70 loc) · 2.64 KB
/
Copy pathphp_intl.h
File metadata and controls
85 lines (70 loc) · 2.64 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
/*
+----------------------------------------------------------------------+
| Copyright © The PHP Group and Contributors. |
+----------------------------------------------------------------------+
| This source file is subject to the Modified BSD License that is |
| bundled with this package in the file LICENSE, and is available |
| through the World Wide Web at <https://www.php.net/license/>. |
| |
| SPDX-License-Identifier: BSD-3-Clause |
+----------------------------------------------------------------------+
| Authors: Vadim Savchuk <vsavchuk@productengine.com> |
| Dmitry Lakhtyuk <dlakhtyuk@productengine.com> |
| Stanislav Malyshev <stas@zend.com> |
| Kirti Velankar <kirtig@yahoo-inc.com> |
+----------------------------------------------------------------------+
*/
#ifndef PHP_INTL_H
#define PHP_INTL_H
#include <php.h>
#undef U_SHOW_CPLUSPLUS_API
#define U_SHOW_CPLUSPLUS_API 0
#include "collator/collator_sort.h"
#include <unicode/ubrk.h>
#include "intl_error.h"
#include "Zend/zend_exceptions.h"
extern zend_module_entry intl_module_entry;
#define phpext_intl_ptr &intl_module_entry
#ifdef PHP_WIN32
#define PHP_INTL_API __declspec(dllexport)
#else
#define PHP_INTL_API
#endif
#ifdef ZTS
#include "TSRM.h"
#endif
BEGIN_EXTERN_C()
ZEND_BEGIN_MODULE_GLOBALS(intl)
struct UCollator *current_collator;
intl_error *current_collator_error;
char* default_locale;
collator_compare_func_t compare_func;
UBreakIterator* grapheme_iterator;
intl_error g_error;
zend_long error_level;
bool use_exceptions;
ZEND_END_MODULE_GLOBALS(intl)
#if defined(ZTS) && defined(COMPILE_DL_INTL)
ZEND_TSRMLS_CACHE_EXTERN()
#endif
ZEND_EXTERN_MODULE_GLOBALS(intl)
/* Macro to access request-wide global variables. */
#define INTL_G(v) ZEND_MODULE_GLOBALS_ACCESSOR(intl, v)
PHP_MINIT_FUNCTION(intl);
PHP_MSHUTDOWN_FUNCTION(intl);
PHP_RINIT_FUNCTION(intl);
PHP_RSHUTDOWN_FUNCTION(intl);
PHP_MINFO_FUNCTION(intl);
const char *intl_locale_get_default( void );
char *canonicalize_locale_string(const char* locale);
END_EXTERN_C()
#define PHP_INTL_FUNCTION_WITH_ERROR_RESET(name) \
static void php_intl_##name##_impl(INTERNAL_FUNCTION_PARAMETERS); \
U_CFUNC PHP_FUNCTION(name) \
{ \
intl_error_reset(NULL); \
php_intl_##name##_impl(INTERNAL_FUNCTION_PARAM_PASSTHRU); \
} \
static void php_intl_##name##_impl(INTERNAL_FUNCTION_PARAMETERS)
#define PHP_INTL_VERSION PHP_VERSION
#endif /* PHP_INTL_H */