============== UPGRADING.INTERNALS start ==================== $Id$ UPGRADE NOTES - PHP X.Y 1. Internal API changes a. Addition of do_operation and compare object handlers b. return_value_ptr now always available, RETVAL_ZVAL_FAST macros c. POST data handling d. Arginfo changes e. New data types 2. Build system changes a. Unix build system changes b. Windows build system changes ======================== 1. Internal API changes ======================== a. zend_set_memory_limit() now takes the TSRMLS_CC macro as its last argument e. New data types String length String lengths do no more depend on the firm 'int' datatype. The replacement is a platform dependent size_t datatype. The string length in zval is no more int but php_size_t. String length is defined as zend_size_t inside Zend and aliased as php_size_t anywhere else. The inclusion of php.h is necessary. Integer types Integers do no more depend on the firm 'long' type. Instead a platform dependent integer type is used. That datatype is defined dynamically to guarantee the consistent 64 bit support. The zval field representing user land integer it bound to php_int_t. Signed integer is defined as zend_int_t, unsigned integer as zend_uint_t inside Zend. Both are aliased as php_int_t and php_uint_t anywhere else, respectively. The inclusion of php.h is necessary. Other datatypes zend_off_t - portable off_t analogue zend_stat_t - portable 'struct stat' analogue These datatypes are declared to be portable across platforms. Thus, direct usage of the functions like fseek, stat, etc. as well as direct usage of off_t and struct stat is strongly not recommended. Instead the portable macros should be used. zend_fseek - portable fseek equivalent zend_ftell - portable ftell equivalent zend_lseek - portable lseek equivalent zend_fstat - portable fstat equivalent zend_stat - portable stat equivalent ======================== 2. Build system changes ======================== ============== UPGRADING.INTERNALS end ====================