diff options
Diffstat (limited to 'ext/gmp/php_gmp.h')
| -rw-r--r-- | ext/gmp/php_gmp.h | 23 |
1 files changed, 18 insertions, 5 deletions
diff --git a/ext/gmp/php_gmp.h b/ext/gmp/php_gmp.h index 78dbca5294..5f5f136b33 100644 --- a/ext/gmp/php_gmp.h +++ b/ext/gmp/php_gmp.h @@ -1,6 +1,6 @@ /* +----------------------------------------------------------------------+ - | PHP Version 5 | + | PHP Version 7 | +----------------------------------------------------------------------+ | Copyright (c) 1997-2016 The PHP Group | +----------------------------------------------------------------------+ @@ -26,6 +26,9 @@ extern zend_module_entry gmp_module_entry; #define phpext_gmp_ptr &gmp_module_entry +#include "php_version.h" +#define PHP_GMP_VERSION PHP_VERSION + ZEND_MODULE_STARTUP_D(gmp); ZEND_MODULE_DEACTIVATE_D(gmp); ZEND_MODULE_INFO_D(gmp); @@ -66,6 +69,7 @@ ZEND_FUNCTION(gmp_or); ZEND_FUNCTION(gmp_com); ZEND_FUNCTION(gmp_xor); ZEND_FUNCTION(gmp_random); +ZEND_FUNCTION(gmp_random_seed); ZEND_FUNCTION(gmp_random_bits); ZEND_FUNCTION(gmp_random_range); ZEND_FUNCTION(gmp_setbit); @@ -77,15 +81,24 @@ ZEND_FUNCTION(gmp_popcount); ZEND_FUNCTION(gmp_hamdist); ZEND_FUNCTION(gmp_nextprime); +/* GMP and MPIR use different datatypes on different platforms */ +#ifdef PHP_WIN32 +typedef zend_long gmp_long; +typedef zend_ulong gmp_ulong; +#else +typedef long gmp_long; +typedef unsigned long gmp_ulong; +#endif + ZEND_BEGIN_MODULE_GLOBALS(gmp) zend_bool rand_initialized; gmp_randstate_t rand_state; ZEND_END_MODULE_GLOBALS(gmp) -#ifdef ZTS -#define GMPG(v) TSRMG(gmp_globals_id, zend_gmp_globals *, v) -#else -#define GMPG(v) (gmp_globals.v) +#define GMPG(v) ZEND_MODULE_GLOBALS_ACCESSOR(gmp, v) + +#if defined(ZTS) && defined(COMPILE_DL_GMP) +ZEND_TSRMLS_CACHE_EXTERN(); #endif #else |
