void StandardExtension::initStreamUserFilters() { HHVM_RC_INT(STREAM_FILTER_READ, k_STREAM_FILTER_READ); HHVM_RC_INT(STREAM_FILTER_WRITE, k_STREAM_FILTER_WRITE); HHVM_RC_INT(STREAM_FILTER_ALL, k_STREAM_FILTER_ALL); HHVM_FE(stream_get_filters); HHVM_FE(stream_filter_register); HHVM_FE(stream_filter_append); HHVM_FE(stream_filter_prepend); HHVM_FE(stream_filter_remove); HHVM_FE(stream_bucket_make_writeable); HHVM_FE(stream_bucket_append); HHVM_FE(stream_bucket_prepend); loadSystemlib("stream-user-filters"); }
void moduleInit() override { xsltSetGenericErrorFunc(nullptr, xslt_ext_error_handler); exsltRegisterAll(); HHVM_RC_INT(XSL_SECPREF_NONE, k_XSL_SECPREF_NONE); HHVM_RC_INT(XSL_SECPREF_READ_FILE, k_XSL_SECPREF_READ_FILE); HHVM_RC_INT(XSL_SECPREF_WRITE_FILE, k_XSL_SECPREF_WRITE_FILE); HHVM_RC_INT(XSL_SECPREF_CREATE_DIRECTORY, k_XSL_SECPREF_CREATE_DIRECTORY); HHVM_RC_INT(XSL_SECPREF_READ_NETWORK, k_XSL_SECPREF_READ_NETWORK); HHVM_RC_INT(XSL_SECPREF_WRITE_NETWORK, k_XSL_SECPREF_WRITE_NETWORK); HHVM_RC_INT(XSL_SECPREF_DEFAULT, k_XSL_SECPREF_DEFAULT); HHVM_RC_INT_SAME(LIBXSLT_VERSION); HHVM_RC_STR_SAME(LIBXSLT_DOTTED_VERSION); HHVM_ME(XSLTProcessor, getParameter); HHVM_ME(XSLTProcessor, getSecurityPrefs); HHVM_ME(XSLTProcessor, importStylesheet); HHVM_ME(XSLTProcessor, removeParameter); HHVM_ME(XSLTProcessor, registerPHPFunctions); HHVM_ME(XSLTProcessor, setParameter); HHVM_ME(XSLTProcessor, setSecurityPrefs); HHVM_ME(XSLTProcessor, setProfiling); HHVM_ME(XSLTProcessor, transformToDoc); HHVM_ME(XSLTProcessor, transformToURI); HHVM_ME(XSLTProcessor, transformToXML); Native:: registerNativeDataInfo<XSLTProcessorData>(s_XSLTProcessorData.get()); loadSystemlib(); }
void moduleInit() override { HHVM_RC_INT(PHP_URL_SCHEME, k_PHP_URL_SCHEME); HHVM_RC_INT(PHP_URL_HOST, k_PHP_URL_HOST); HHVM_RC_INT(PHP_URL_PORT, k_PHP_URL_PORT); HHVM_RC_INT(PHP_URL_USER, k_PHP_URL_USER); HHVM_RC_INT(PHP_URL_PASS, k_PHP_URL_PASS); HHVM_RC_INT(PHP_URL_PATH, k_PHP_URL_PATH); HHVM_RC_INT(PHP_URL_QUERY, k_PHP_URL_QUERY); HHVM_RC_INT(PHP_URL_FRAGMENT, k_PHP_URL_FRAGMENT); HHVM_RC_INT(PHP_QUERY_RFC1738, k_PHP_QUERY_RFC1738); HHVM_RC_INT(PHP_QUERY_RFC3986, k_PHP_QUERY_RFC3986); HHVM_FE(base64_decode); HHVM_FE(base64_encode); HHVM_FE(get_headers); HHVM_FE(get_meta_tags); HHVM_FE(http_build_query); HHVM_FE(parse_url); HHVM_FE(rawurldecode); HHVM_FE(rawurlencode); HHVM_FE(urldecode); HHVM_FE(urlencode); loadSystemlib(); }
void ApacheExtension::moduleInit() { if (Enable) { HHVM_FE(apache_note); HHVM_FE(apache_request_headers); HHVM_FE(apache_response_headers); HHVM_FE(apache_setenv); HHVM_FALIAS(getallheaders, apache_request_headers); HHVM_FE(apache_get_config); HHVM_FALIAS(HH\\get_headers_secure, get_headers_secure); HHVM_RC_INT(APACHE_MAP, 200); loadSystemlib(); } }
void XDebugExtension::moduleInit() { if (!Enable) { return; } HHVM_RC_INT(XDEBUG_CC_UNUSED, k_XDEBUG_CC_UNUSED); HHVM_RC_INT(XDEBUG_CC_DEAD_CODE, k_XDEBUG_CC_DEAD_CODE); HHVM_RC_INT(XDEBUG_TRACE_APPEND, k_XDEBUG_TRACE_APPEND); HHVM_RC_INT(XDEBUG_TRACE_COMPUTERIZED, k_XDEBUG_TRACE_COMPUTERIZED); HHVM_RC_INT(XDEBUG_TRACE_HTML, k_XDEBUG_TRACE_HTML); HHVM_RC_INT(XDEBUG_TRACE_NAKED_FILENAME, k_XDEBUG_TRACE_NAKED_FILENAME); HHVM_FE(xdebug_break); HHVM_FE(xdebug_call_class); HHVM_FE(xdebug_call_file); HHVM_FE(xdebug_call_function); HHVM_FE(xdebug_call_line); HHVM_FE(xdebug_code_coverage_started); HHVM_FE(xdebug_debug_zval); HHVM_FE(xdebug_debug_zval_stdout); HHVM_FE(xdebug_disable); HHVM_FE(xdebug_dump_superglobals); HHVM_FE(xdebug_enable); HHVM_FE(xdebug_get_code_coverage); HHVM_FE(xdebug_get_collected_errors); HHVM_FE(xdebug_get_declared_vars); HHVM_NAMED_FE(__SystemLib\\xdebug_get_function_stack, HHVM_FN(xdebug_get_function_stack)); HHVM_FE(xdebug_get_headers); HHVM_FE(xdebug_get_profiler_filename); HHVM_FE(xdebug_get_stack_depth); HHVM_FE(xdebug_get_tracefile_name); HHVM_FE(xdebug_is_enabled); HHVM_FE(xdebug_memory_usage); HHVM_FE(xdebug_peak_memory_usage); HHVM_FE(xdebug_print_function_stack); HHVM_FE(xdebug_start_code_coverage); HHVM_FE(xdebug_start_error_collection); HHVM_FE(xdebug_start_trace); HHVM_FE(xdebug_stop_code_coverage); HHVM_FE(xdebug_stop_error_collection); HHVM_FE(xdebug_stop_trace); HHVM_FE(xdebug_time_index); HHVM_FE(xdebug_var_dump); HHVM_FE(_xdebug_check_trigger_vars); HHVM_FALIAS(HH\\xdebug_remote_attached, xdebug_remote_attached); loadSystemlib("xdebug"); }
void StandardExtension::initMisc() { HHVM_FALIAS(HH\\server_warmup_status, server_warmup_status); HHVM_FE(connection_aborted); HHVM_FE(connection_status); HHVM_FE(connection_timeout); HHVM_FE(constant); HHVM_FE(define); HHVM_FE(defined); HHVM_FE(ignore_user_abort); HHVM_FE(pack); HHVM_FE(sleep); HHVM_FE(usleep); HHVM_FE(time_nanosleep); HHVM_FE(time_sleep_until); HHVM_FE(uniqid); HHVM_FE(unpack); HHVM_FE(sys_getloadavg); HHVM_FE(token_get_all); HHVM_FE(token_name); HHVM_FE(hphp_to_string); HHVM_FALIAS(__SystemLib\\max2, SystemLib_max2); HHVM_FALIAS(__SystemLib\\min2, SystemLib_min2); HHVM_RC_INT(PHP_MAXPATHLEN, PATH_MAX); Native::registerConstant<KindOfBoolean>(makeStaticString("PHP_DEBUG"), #if DEBUG true #else false #endif ); bindTokenConstants(); HHVM_RC_INT(T_PAAMAYIM_NEKUDOTAYIM, get_user_token_id(T_DOUBLE_COLON)); HHVM_RC_INT(UPLOAD_ERR_OK, 0); HHVM_RC_INT(UPLOAD_ERR_INI_SIZE, 1); HHVM_RC_INT(UPLOAD_ERR_FORM_SIZE, 2); HHVM_RC_INT(UPLOAD_ERR_PARTIAL, 3); HHVM_RC_INT(UPLOAD_ERR_NO_FILE, 4); HHVM_RC_INT(UPLOAD_ERR_NO_TMP_DIR, 6); HHVM_RC_INT(UPLOAD_ERR_CANT_WRITE, 7); HHVM_RC_INT(UPLOAD_ERR_EXTENSION, 8); HHVM_RC_INT(CREDITS_GROUP, 1 << 0); HHVM_RC_INT(CREDITS_GENERAL, 1 << 1); HHVM_RC_INT(CREDITS_SAPI, 1 << 2); HHVM_RC_INT(CREDITS_MODULES, 1 << 3); HHVM_RC_INT(CREDITS_DOCS, 1 << 4); HHVM_RC_INT(CREDITS_FULLPAGE, 1 << 5); HHVM_RC_INT(CREDITS_QA, 1 << 6); HHVM_RC_INT(CREDITS_ALL, 0xFFFFFFFF); HHVM_RC_INT(INI_SYSTEM, IniSetting::PHP_INI_SYSTEM); HHVM_RC_INT(INI_PERDIR, IniSetting::PHP_INI_PERDIR); HHVM_RC_INT(INI_USER, IniSetting::PHP_INI_USER); HHVM_RC_INT(INI_ALL, IniSetting::PHP_INI_SYSTEM | IniSetting::PHP_INI_PERDIR | IniSetting::PHP_INI_USER); HHVM_RC_STR(PHP_BINARY, current_executable_path()); HHVM_RC_STR(PHP_BINDIR, current_executable_directory()); HHVM_RC_STR(PHP_OS, HHVM_FN(php_uname)("s").toString().toCppString()); HHVM_RC_STR(PHP_SAPI, RuntimeOption::ExecutionMode); HHVM_RC_INT(PHP_INT_SIZE, sizeof(int64_t)); HHVM_RC_INT(PHP_INT_MIN, k_PHP_INT_MIN); HHVM_RC_INT(PHP_INT_MAX, k_PHP_INT_MAX); HHVM_RC_INT_SAME(PHP_MAJOR_VERSION); HHVM_RC_INT_SAME(PHP_MINOR_VERSION); HHVM_RC_INT_SAME(PHP_RELEASE_VERSION); HHVM_RC_STR_SAME(PHP_EXTRA_VERSION); HHVM_RC_STR_SAME(PHP_VERSION); HHVM_RC_INT_SAME(PHP_VERSION_ID); // FIXME: These values are hardcoded from their previous IDL values // Grab their correct values from the system as appropriate HHVM_RC_STR(PHP_EOL, "\n"); HHVM_RC_STR(PHP_CONFIG_FILE_PATH, ""); HHVM_RC_STR(PHP_CONFIG_FILE_SCAN_DIR, ""); HHVM_RC_STR(PHP_DATADIR, ""); HHVM_RC_STR(PHP_EXTENSION_DIR, ""); HHVM_RC_STR(PHP_LIBDIR, ""); HHVM_RC_STR(PHP_LOCALSTATEDIR, ""); HHVM_RC_STR(PHP_PREFIX, ""); HHVM_RC_STR(PHP_SHLIB_SUFFIX, "so"); HHVM_RC_STR(PHP_SYSCONFDIR, ""); HHVM_RC_STR(PEAR_EXTENSION_DIR, ""); HHVM_RC_STR(PEAR_INSTALL_DIR, ""); loadSystemlib("std_misc"); }
void StandardExtension::initOptions() { HHVM_FE(assert_options); HHVM_FE(assert); HHVM_FE(dl); HHVM_FE(extension_loaded); HHVM_FE(get_loaded_extensions); HHVM_FE(get_extension_funcs); HHVM_FE(get_cfg_var); HHVM_FE(get_current_user); HHVM_FE(get_defined_constants); HHVM_FE(get_include_path); HHVM_FE(restore_include_path); HHVM_FE(set_include_path); HHVM_FE(get_included_files); HHVM_FE(getenv); HHVM_FE(getlastmod); HHVM_FE(getmygid); HHVM_FE(getmyinode); HHVM_FE(getmypid); HHVM_FE(getmyuid); HHVM_FE(getopt); HHVM_FE(getrusage); HHVM_FE(clock_getres); HHVM_FE(clock_gettime); HHVM_FE(cpu_get_count); HHVM_FE(cpu_get_model); HHVM_FALIAS(ini_alter, ini_set); HHVM_FE(ini_get); HHVM_FE(ini_get_all); HHVM_FE(ini_restore); HHVM_FE(ini_set); HHVM_FE(memory_get_peak_usage); HHVM_FE(memory_get_usage); // This is HH-specific as well but code depends on the old name. HHVM_FE(memory_get_allocation); HHVM_FE(hphp_memory_get_interval_peak_usage); HHVM_FE(hphp_memory_start_interval); HHVM_FE(hphp_memory_stop_interval); HHVM_FE(php_sapi_name); HHVM_FE(php_uname); HHVM_FE(phpversion); HHVM_FE(putenv); HHVM_FE(set_time_limit); HHVM_FE(sys_get_temp_dir); HHVM_FE(zend_version); HHVM_FE(version_compare); HHVM_RC_INT(INFO_GENERAL, 1 << 0); HHVM_RC_INT(INFO_CREDITS, 1 << 0); HHVM_RC_INT(INFO_CONFIGURATION, 1 << 0); HHVM_RC_INT(INFO_MODULES, 1 << 0); HHVM_RC_INT(INFO_ENVIRONMENT, 1 << 0); HHVM_RC_INT(INFO_VARIABLES, 1 << 0); HHVM_RC_INT(INFO_LICENSE, 1 << 0); HHVM_RC_INT(INFO_ALL, 0x7FFFFFFF); HHVM_RC_INT(ASSERT_ACTIVE, k_ASSERT_ACTIVE); HHVM_RC_INT(ASSERT_CALLBACK, k_ASSERT_CALLBACK); HHVM_RC_INT(ASSERT_BAIL, k_ASSERT_BAIL); HHVM_RC_INT(ASSERT_WARNING, k_ASSERT_WARNING); HHVM_RC_INT(ASSERT_QUIET_EVAL, k_ASSERT_QUIET_EVAL); HHVM_RC_INT(ASSERT_EXCEPTION, k_ASSERT_EXCEPTION); loadSystemlib("std_options"); }
void moduleInit() override { HHVM_RC_INT(JSON_HEX_TAG, k_JSON_HEX_TAG); HHVM_RC_INT(JSON_HEX_AMP, k_JSON_HEX_AMP); HHVM_RC_INT(JSON_HEX_APOS, k_JSON_HEX_APOS); HHVM_RC_INT(JSON_HEX_QUOT, k_JSON_HEX_QUOT); HHVM_RC_INT(JSON_FORCE_OBJECT, k_JSON_FORCE_OBJECT); HHVM_RC_INT(JSON_NUMERIC_CHECK, k_JSON_NUMERIC_CHECK); HHVM_RC_INT(JSON_UNESCAPED_SLASHES, k_JSON_UNESCAPED_SLASHES); HHVM_RC_INT(JSON_PRETTY_PRINT, k_JSON_PRETTY_PRINT); HHVM_RC_INT(JSON_UNESCAPED_UNICODE, k_JSON_UNESCAPED_UNICODE); HHVM_RC_INT(JSON_PARTIAL_OUTPUT_ON_ERROR, k_JSON_PARTIAL_OUTPUT_ON_ERROR); HHVM_RC_INT(JSON_PRESERVE_ZERO_FRACTION, k_JSON_PRESERVE_ZERO_FRACTION); HHVM_RC_INT(JSON_OBJECT_AS_ARRAY, k_JSON_OBJECT_AS_ARRAY); HHVM_RC_INT(JSON_BIGINT_AS_STRING, k_JSON_BIGINT_AS_STRING); HHVM_RC_INT(JSON_FB_LOOSE, k_JSON_FB_LOOSE); HHVM_RC_INT(JSON_FB_UNLIMITED, k_JSON_FB_UNLIMITED); HHVM_RC_INT(JSON_FB_EXTRA_ESCAPES, k_JSON_FB_EXTRA_ESCAPES); HHVM_RC_INT(JSON_FB_COLLECTIONS, k_JSON_FB_COLLECTIONS); HHVM_RC_INT(JSON_FB_HACK_ARRAYS, k_JSON_FB_HACK_ARRAYS); HHVM_RC_INT(JSON_FB_STABLE_MAPS, k_JSON_FB_STABLE_MAPS); HHVM_RC_INT(JSON_ERROR_NONE, k_JSON_ERROR_NONE); HHVM_RC_INT(JSON_ERROR_DEPTH, k_JSON_ERROR_DEPTH); HHVM_RC_INT(JSON_ERROR_STATE_MISMATCH, k_JSON_ERROR_STATE_MISMATCH); HHVM_RC_INT(JSON_ERROR_CTRL_CHAR, k_JSON_ERROR_CTRL_CHAR); HHVM_RC_INT(JSON_ERROR_SYNTAX, k_JSON_ERROR_SYNTAX); HHVM_RC_INT(JSON_ERROR_UTF8, k_JSON_ERROR_UTF8); HHVM_RC_INT(JSON_ERROR_RECURSION, k_JSON_ERROR_RECURSION); HHVM_RC_INT(JSON_ERROR_INF_OR_NAN, k_JSON_ERROR_INF_OR_NAN); HHVM_RC_INT(JSON_ERROR_UNSUPPORTED_TYPE, k_JSON_ERROR_UNSUPPORTED_TYPE); HHVM_FE(json_last_error); HHVM_FE(json_last_error_msg); HHVM_FE(json_encode); HHVM_FE(json_decode); loadSystemlib(); }
void moduleInit() override { HHVM_ME(DateTime, __construct); HHVM_ME(DateTime, add); HHVM_ME(DateTime, diff); HHVM_ME(DateTime, format); HHVM_ME(DateTime, getOffset); HHVM_ME(DateTime, getTimestamp); HHVM_ME(DateTime, getTimezone); HHVM_ME(DateTime, modify); HHVM_ME(DateTime, setDate); HHVM_ME(DateTime, setISODate); HHVM_ME(DateTime, setTime); HHVM_ME(DateTime, setTimestamp); HHVM_ME(DateTime, setTimezone); HHVM_ME(DateTime, sub); HHVM_ME(DateTime, __sleep); HHVM_ME(DateTime, __wakeup); HHVM_ME(DateTime, __debuginfo); HHVM_STATIC_ME(DateTime, createFromFormat); HHVM_STATIC_ME(DateTime, getLastErrors); Native::registerNativeDataInfo<DateTimeData>( DateTimeData::s_className.get(), Native::NDIFlags::NO_SWEEP); HHVM_RC_STR_SAME(DATE_ATOM); HHVM_RCC_STR(DateTime, ATOM, DATE_ATOM); HHVM_RC_STR_SAME(DATE_COOKIE); HHVM_RCC_STR(DateTime, COOKIE, DATE_COOKIE); HHVM_RC_STR_SAME(DATE_ISO8601); HHVM_RCC_STR(DateTime, ISO8601, DATE_ISO8601); HHVM_RC_STR_SAME(DATE_RFC822); HHVM_RCC_STR(DateTime, RFC822, DATE_RFC822); HHVM_RC_STR_SAME(DATE_RFC850); HHVM_RCC_STR(DateTime, RFC850, DATE_RFC850); HHVM_RC_STR_SAME(DATE_RFC1036); HHVM_RCC_STR(DateTime, RFC1036, DATE_RFC1036); HHVM_RC_STR_SAME(DATE_RFC1123); HHVM_RCC_STR(DateTime, RFC1123, DATE_RFC1123); HHVM_RC_STR_SAME(DATE_RFC2822); HHVM_RCC_STR(DateTime, RFC2822, DATE_RFC2822); HHVM_RC_STR_SAME(DATE_RFC3339); HHVM_RCC_STR(DateTime, RFC3339, DATE_RFC3339); HHVM_RC_STR_SAME(DATE_RSS); HHVM_RCC_STR(DateTime, RSS, DATE_RSS); HHVM_RC_STR_SAME(DATE_W3C); HHVM_RCC_STR(DateTime, W3C, DATE_W3C); HHVM_RCC_INT(DateTimeZone, AFRICA, DateTimeZoneData::AFRICA); HHVM_RCC_INT(DateTimeZone, AMERICA, DateTimeZoneData::AMERICA); HHVM_RCC_INT(DateTimeZone, ANTARCTICA, DateTimeZoneData::ANTARCTICA); HHVM_RCC_INT(DateTimeZone, ARCTIC, DateTimeZoneData::ARCTIC); HHVM_RCC_INT(DateTimeZone, ASIA, DateTimeZoneData::ASIA); HHVM_RCC_INT(DateTimeZone, ATLANTIC, DateTimeZoneData::ATLANTIC); HHVM_RCC_INT(DateTimeZone, AUSTRALIA, DateTimeZoneData::AUSTRALIA); HHVM_RCC_INT(DateTimeZone, EUROPE, DateTimeZoneData::EUROPE); HHVM_RCC_INT(DateTimeZone, INDIAN, DateTimeZoneData::INDIAN); HHVM_RCC_INT(DateTimeZone, PACIFIC, DateTimeZoneData::PACIFIC); HHVM_RCC_INT(DateTimeZone, UTC, DateTimeZoneData::UTC); HHVM_RCC_INT(DateTimeZone, ALL, DateTimeZoneData::ALL); HHVM_RCC_INT(DateTimeZone, ALL_WITH_BC, DateTimeZoneData::ALL_WITH_BC); HHVM_RCC_INT(DateTimeZone, PER_COUNTRY, DateTimeZoneData::PER_COUNTRY); HHVM_ME(DateTimeZone, __construct); HHVM_ME(DateTimeZone, getLocation); HHVM_ME(DateTimeZone, getName); HHVM_ME(DateTimeZone, getOffset); HHVM_ME(DateTimeZone, getTransitions); HHVM_STATIC_ME(DateTimeZone, listAbbreviations); HHVM_STATIC_ME(DateTimeZone, listIdentifiers); Native::registerNativeDataInfo<DateTimeZoneData>( DateTimeZoneData::s_className.get(), Native::NDIFlags::NO_SWEEP); HHVM_ME(DateInterval, __construct); HHVM_ME(DateInterval, __get); HHVM_ME(DateInterval, __set); HHVM_ME(DateInterval, format); HHVM_STATIC_ME(DateInterval, createFromDateString); Native::registerNativeDataInfo<DateIntervalData>( DateIntervalData::s_className.get(), Native::NDIFlags::NO_SWEEP); HHVM_FE(checkdate); HHVM_FE(date_parse_from_format); HHVM_FE(date_create); HHVM_FE(date_default_timezone_get); HHVM_FE(date_default_timezone_set); HHVM_FE(date_format); HHVM_FE(date_parse); HHVM_FE(date_sun_info); HHVM_NAMED_FE(date_sunrise, date_sunrise_sunset<false>); HHVM_NAMED_FE(date_sunset, date_sunrise_sunset<true>); HHVM_NAMED_FE(date, date_impl<false>); HHVM_NAMED_FE(gmdate, date_impl<true>); HHVM_FE(getdate); HHVM_FE(gettimeofday); HHVM_FE(gmmktime); HHVM_NAMED_FE(strftime, strftime_impl<false>); HHVM_NAMED_FE(gmstrftime, strftime_impl<true>); HHVM_FE(idate); HHVM_FE(localtime); HHVM_FE(microtime); HHVM_FE(mktime); HHVM_FE(strptime); HHVM_FE(strtotime); HHVM_FE(time); HHVM_FE(timezone_name_from_abbr); HHVM_FE(timezone_version_get); HHVM_RC_INT(SUNFUNCS_RET_DOUBLE, DateTime::SunInfoFormat::ReturnDouble); HHVM_RC_INT(SUNFUNCS_RET_STRING, DateTime::SunInfoFormat::ReturnString); HHVM_RC_INT(SUNFUNCS_RET_TIMESTAMP, DateTime::SunInfoFormat::ReturnTimeStamp); loadSystemlib("datetime"); }
void StandardExtension::initMisc() { HHVM_FALIAS(HH\\server_warmup_status, server_warmup_status); HHVM_FE(connection_aborted); HHVM_FE(connection_status); HHVM_FE(connection_timeout); HHVM_FE(constant); HHVM_FE(define); HHVM_FE(defined); HHVM_FE(ignore_user_abort); HHVM_FE(pack); HHVM_FE(sleep); HHVM_FE(usleep); HHVM_FE(time_nanosleep); HHVM_FE(time_sleep_until); HHVM_FE(uniqid); HHVM_FE(unpack); HHVM_FE(sys_getloadavg); HHVM_FE(token_get_all); HHVM_FE(token_name); HHVM_FE(hphp_to_string); HHVM_FALIAS(__SystemLib\\max2, SystemLib_max2); HHVM_FALIAS(__SystemLib\\min2, SystemLib_min2); Native::registerConstant<KindOfDouble>(makeStaticString("INF"), k_INF); Native::registerConstant<KindOfDouble>(makeStaticString("NAN"), k_NAN); Native::registerConstant<KindOfInt64>( makeStaticString("PHP_MAXPATHLEN"), MAXPATHLEN); Native::registerConstant<KindOfBoolean>(makeStaticString("PHP_DEBUG"), #if DEBUG true #else false #endif ); bindTokenConstants(); Native::registerConstant<KindOfInt64>(s_T_PAAMAYIM_NEKUDOTAYIM.get(), get_user_token_id(T_DOUBLE_COLON)); HHVM_RC_STR(PHP_BINARY, current_executable_path()); HHVM_RC_STR(PHP_BINDIR, current_executable_directory()); HHVM_RC_STR(PHP_OS, HHVM_FN(php_uname)("s").toString().toCppString()); HHVM_RC_STR(PHP_SAPI, RuntimeOption::ExecutionMode); HHVM_RC_INT(PHP_INT_SIZE, sizeof(int64_t)); HHVM_RC_INT(PHP_INT_MIN, k_PHP_INT_MIN); HHVM_RC_INT(PHP_INT_MAX, k_PHP_INT_MAX); HHVM_RC_INT_SAME(PHP_MAJOR_VERSION); HHVM_RC_INT_SAME(PHP_MINOR_VERSION); HHVM_RC_INT_SAME(PHP_RELEASE_VERSION); HHVM_RC_STR_SAME(PHP_EXTRA_VERSION); HHVM_RC_STR_SAME(PHP_VERSION); HHVM_RC_INT_SAME(PHP_VERSION_ID); // FIXME: These values are hardcoded from their previous IDL values // Grab their correct values from the system as appropriate HHVM_RC_STR(PHP_EOL, "\n"); HHVM_RC_STR(PHP_CONFIG_FILE_PATH, ""); HHVM_RC_STR(PHP_CONFIG_FILE_SCAN_DIR, ""); HHVM_RC_STR(PHP_DATADIR, ""); HHVM_RC_STR(PHP_EXTENSION_DIR, ""); HHVM_RC_STR(PHP_LIBDIR, ""); HHVM_RC_STR(PHP_LOCALSTATEDIR, ""); HHVM_RC_STR(PHP_PREFIX, ""); HHVM_RC_STR(PHP_SHLIB_SUFFIX, "so"); HHVM_RC_STR(PHP_SYSCONFDIR, ""); HHVM_RC_STR(PEAR_EXTENSION_DIR, ""); HHVM_RC_STR(PEAR_INSTALL_DIR, ""); loadSystemlib("std_misc"); }
void moduleInit() override { HHVM_RC_INT_SAME(LIBXML_VERSION); HHVM_RC_STR_SAME(LIBXML_DOTTED_VERSION); HHVM_RC_STR(LIBXML_LOADED_VERSION, xmlParserVersion); // For use with loading xml HHVM_RC_INT(LIBXML_NOENT, XML_PARSE_NOENT); HHVM_RC_INT(LIBXML_DTDLOAD, XML_PARSE_DTDLOAD); HHVM_RC_INT(LIBXML_DTDATTR, XML_PARSE_DTDATTR); HHVM_RC_INT(LIBXML_DTDVALID, XML_PARSE_DTDVALID); HHVM_RC_INT(LIBXML_NOERROR, XML_PARSE_NOERROR); HHVM_RC_INT(LIBXML_NOWARNING, XML_PARSE_NOWARNING); HHVM_RC_INT(LIBXML_NOBLANKS, XML_PARSE_NOBLANKS); HHVM_RC_INT(LIBXML_XINCLUDE, XML_PARSE_XINCLUDE); HHVM_RC_INT(LIBXML_NSCLEAN, XML_PARSE_NSCLEAN); HHVM_RC_INT(LIBXML_NOCDATA, XML_PARSE_NOCDATA); HHVM_RC_INT(LIBXML_NONET, XML_PARSE_NONET); HHVM_RC_INT(LIBXML_PEDANTIC, XML_PARSE_PEDANTIC); HHVM_RC_INT(LIBXML_COMPACT, XML_PARSE_COMPACT); HHVM_RC_INT(LIBXML_NOXMLDECL, XML_SAVE_NO_DECL); HHVM_RC_INT(LIBXML_PARSEHUGE, XML_PARSE_HUGE); HHVM_RC_INT(LIBXML_NOEMPTYTAG, LIBXML_SAVE_NOEMPTYTAG); // Schema validation options #if defined(LIBXML_SCHEMAS_ENABLED) HHVM_RC_INT(LIBXML_SCHEMA_CREATE, XML_SCHEMA_VAL_VC_I_CREATE); #endif // Additional constants for use with loading html #if LIBXML_VERSION >= 20707 HHVM_RC_INT(LIBXML_HTML_NOIMPLIED, HTML_PARSE_NOIMPLIED); #endif #if LIBXML_VERSION >= 20708 HHVM_RC_INT(LIBXML_HTML_NODEFDTD, HTML_PARSE_NODEFDTD); #endif // Error levels HHVM_RC_INT(LIBXML_ERR_NONE, XML_ERR_NONE); HHVM_RC_INT(LIBXML_ERR_WARNING, XML_ERR_WARNING); HHVM_RC_INT(LIBXML_ERR_ERROR, XML_ERR_ERROR); HHVM_RC_INT(LIBXML_ERR_FATAL, XML_ERR_FATAL); HHVM_FE(libxml_get_errors); HHVM_FE(libxml_get_last_error); HHVM_FE(libxml_clear_errors); HHVM_FE(libxml_use_internal_errors); HHVM_FE(libxml_suppress_errors); HHVM_FE(libxml_disable_entity_loader); HHVM_FE(libxml_set_streams_context); loadSystemlib(); s_LibXMLError_class = Unit::lookupClass(s_LibXMLError.get()); // Set up callbacks to support stream wrappers for reading and writing // xml files and loading external entities. xmlParserInputBufferCreateFilenameDefault(libxml_create_input_buffer); xmlOutputBufferCreateFilenameDefault(libxml_create_output_buffer); s_default_entity_loader = xmlGetExternalEntityLoader(); xmlSetExternalEntityLoader(libxml_ext_entity_loader); }
void moduleInit() override { HHVM_RC_STR(PCRE_VERSION, pcre_version()); HHVM_RC_INT(PREG_NO_ERROR, PHP_PCRE_NO_ERROR); HHVM_RC_INT(PREG_INTERNAL_ERROR, PHP_PCRE_INTERNAL_ERROR); HHVM_RC_INT(PREG_BACKTRACK_LIMIT_ERROR, PHP_PCRE_BACKTRACK_LIMIT_ERROR); HHVM_RC_INT(PREG_RECURSION_LIMIT_ERROR, PHP_PCRE_RECURSION_LIMIT_ERROR); HHVM_RC_INT(PREG_BAD_UTF8_ERROR, PHP_PCRE_BAD_UTF8_ERROR); HHVM_RC_INT(PREG_BAD_UTF8_OFFSET_ERROR, PHP_PCRE_BAD_UTF8_OFFSET_ERROR); HHVM_RC_INT_SAME(PREG_PATTERN_ORDER); HHVM_RC_INT_SAME(PREG_SET_ORDER); HHVM_RC_INT_SAME(PREG_OFFSET_CAPTURE); HHVM_RC_INT_SAME(PREG_SPLIT_NO_EMPTY); HHVM_RC_INT_SAME(PREG_SPLIT_DELIM_CAPTURE); HHVM_RC_INT_SAME(PREG_SPLIT_OFFSET_CAPTURE); HHVM_RC_INT_SAME(PREG_GREP_INVERT); #ifdef WNOHANG HHVM_RC_INT_SAME(WNOHANG); #endif #ifdef WUNTRACED HHVM_RC_INT_SAME(WUNTRACED); #endif #ifdef PRIO_PGRP HHVM_RC_INT_SAME(PRIO_PGRP); #endif #ifdef PRIO_USER HHVM_RC_INT_SAME(PRIO_USER); #endif #ifdef PRIO_PROCESS HHVM_RC_INT_SAME(PRIO_PROCESS); #endif HHVM_FE(preg_filter); HHVM_FE(preg_grep); HHVM_FE(preg_match); HHVM_FE(preg_match_all); HHVM_FE(preg_replace); HHVM_FE(preg_replace_callback); HHVM_FE(preg_replace_callback_array); HHVM_FE(preg_split); HHVM_FE(preg_quote); HHVM_FE(preg_last_error); HHVM_FE(ereg_replace); HHVM_FE(eregi_replace); HHVM_FE(ereg); HHVM_FE(eregi); HHVM_FE(split); HHVM_FE(spliti); HHVM_FE(sql_regcase); loadSystemlib(); pcre_config(PCRE_CONFIG_JIT, &s_pcre_has_jit); IniSetting::Bind(this, IniSetting::PHP_INI_ONLY, "hhvm.pcre.jit", &s_pcre_has_jit); }
void moduleInit() override { HHVM_RC_INT(XHPROF_FLAGS_NO_BUILTINS, NoTrackBuiltins); HHVM_RC_INT(XHPROF_FLAGS_CPU, TrackCPU); HHVM_RC_INT(XHPROF_FLAGS_MEMORY, TrackMemory); HHVM_RC_INT(XHPROF_FLAGS_VTSC, TrackVtsc); HHVM_RC_INT(XHPROF_FLAGS_TRACE, XhpTrace); HHVM_RC_INT(XHPROF_FLAGS_MEASURE_XHPROF_DISABLE, MeasureXhprofDisable); HHVM_RC_INT(XHPROF_FLAGS_MALLOC, TrackMalloc); HHVM_RC_INT(XHPROF_FLAGS_I_HAVE_INFINITE_MEMORY, IHaveInfiniteMemory); HHVM_RC_INT(SETPROFILE_FLAGS_ENTERS, EventHook::ProfileEnters); HHVM_RC_INT(SETPROFILE_FLAGS_EXITS, EventHook::ProfileExits); HHVM_RC_INT(SETPROFILE_FLAGS_DEFAULT, EventHook::ProfileDefault); HHVM_RC_INT(SETPROFILE_FLAGS_FRAME_PTRS, EventHook::ProfileFramePointers); HHVM_RC_INT(SETPROFILE_FLAGS_CTORS, EventHook::ProfileConstructors); HHVM_FE(fb_setprofile); HHVM_FE(xhprof_frame_begin); HHVM_FE(xhprof_frame_end); HHVM_FE(xhprof_enable); HHVM_FE(xhprof_disable); HHVM_FE(xhprof_network_enable); HHVM_FE(xhprof_network_disable); HHVM_FE(xhprof_sample_enable); HHVM_FE(xhprof_sample_disable); loadSystemlib(); }
void StandardExtension::initErrorFunc() { HHVM_FE(debug_backtrace); HHVM_FE(hphp_debug_caller_info); HHVM_FE(hphp_debug_backtrace_hash); HHVM_FE(debug_print_backtrace); HHVM_FE(error_get_last); HHVM_FE(error_log); HHVM_FE(error_reporting); HHVM_FE(restore_error_handler); HHVM_FE(restore_exception_handler); HHVM_FE(set_error_handler); HHVM_FE(set_exception_handler); HHVM_FE(hphp_set_error_page); HHVM_FE(hphp_throw_fatal_error); HHVM_FE(hphp_clear_unflushed); HHVM_FE(trigger_error); HHVM_FE(trigger_sampled_error); HHVM_FE(user_error); HHVM_RC_INT(DEBUG_BACKTRACE_PROVIDE_OBJECT, k_DEBUG_BACKTRACE_PROVIDE_OBJECT); HHVM_RC_INT(DEBUG_BACKTRACE_IGNORE_ARGS, k_DEBUG_BACKTRACE_IGNORE_ARGS); HHVM_RC_INT(DEBUG_BACKTRACE_PROVIDE_METADATA, k_DEBUG_BACKTRACE_PROVIDE_METADATA); HHVM_RC_INT(E_ERROR, k_E_ERROR); HHVM_RC_INT(E_WARNING, k_E_WARNING); HHVM_RC_INT(E_PARSE, k_E_PARSE); HHVM_RC_INT(E_NOTICE, k_E_NOTICE); HHVM_RC_INT(E_CORE_ERROR, k_E_CORE_ERROR); HHVM_RC_INT(E_CORE_WARNING, k_E_CORE_WARNING); HHVM_RC_INT(E_COMPILE_ERROR, k_E_COMPILE_ERROR); HHVM_RC_INT(E_COMPILE_WARNING, k_E_COMPILE_WARNING); HHVM_RC_INT(E_USER_ERROR, k_E_USER_ERROR); HHVM_RC_INT(E_USER_WARNING, k_E_USER_WARNING); HHVM_RC_INT(E_USER_NOTICE, k_E_USER_NOTICE); HHVM_RC_INT(E_STRICT, k_E_STRICT); HHVM_RC_INT(E_RECOVERABLE_ERROR, k_E_RECOVERABLE_ERROR); HHVM_RC_INT(E_DEPRECATED, k_E_DEPRECATED); HHVM_RC_INT(E_USER_DEPRECATED, k_E_USER_DEPRECATED); HHVM_RC_INT(E_ALL, k_E_ALL); loadSystemlib("std_errorfunc"); }
void moduleInit() override { HHVM_FE(pcntl_alarm); HHVM_FE(pcntl_exec); HHVM_FE(pcntl_fork); HHVM_FE(pcntl_getpriority); HHVM_FE(pcntl_setpriority); HHVM_FE(pcntl_signal); HHVM_FE(pcntl_sigprocmask); HHVM_FE(pcntl_wait); HHVM_FE(pcntl_waitpid); HHVM_FE(pcntl_wexitstatus); HHVM_FE(pcntl_signal_dispatch); HHVM_FE(pcntl_wifexited); HHVM_FE(pcntl_wifsignaled); HHVM_FE(pcntl_wifstopped); HHVM_FE(pcntl_wstopsig); HHVM_FE(pcntl_wtermsig); HHVM_RC_INT_SAME(SIGABRT); HHVM_RC_INT_SAME(SIGALRM); HHVM_RC_INT_SAME(SIGBUS); HHVM_RC_INT_SAME(SIGCHLD); HHVM_RC_INT_SAME(SIGCONT); HHVM_RC_INT_SAME(SIGFPE); HHVM_RC_INT_SAME(SIGHUP); HHVM_RC_INT_SAME(SIGILL); HHVM_RC_INT_SAME(SIGINT); HHVM_RC_INT_SAME(SIGIO); HHVM_RC_INT_SAME(SIGIOT); HHVM_RC_INT_SAME(SIGKILL); HHVM_RC_INT_SAME(SIGPIPE); HHVM_RC_INT_SAME(SIGPROF); HHVM_RC_INT_SAME(SIGQUIT); HHVM_RC_INT_SAME(SIGSEGV); HHVM_RC_INT_SAME(SIGSTOP); HHVM_RC_INT_SAME(SIGSYS); HHVM_RC_INT_SAME(SIGTERM); HHVM_RC_INT_SAME(SIGTRAP); HHVM_RC_INT_SAME(SIGTSTP); HHVM_RC_INT_SAME(SIGTTIN); HHVM_RC_INT_SAME(SIGTTOU); HHVM_RC_INT_SAME(SIGURG); HHVM_RC_INT_SAME(SIGUSR1); HHVM_RC_INT_SAME(SIGUSR2); HHVM_RC_INT_SAME(SIGVTALRM); HHVM_RC_INT_SAME(SIGWINCH); HHVM_RC_INT_SAME(SIGXCPU); HHVM_RC_INT_SAME(SIGXFSZ); HHVM_RC_INT_SAME(SIG_BLOCK); HHVM_RC_INT_SAME(SIG_UNBLOCK); HHVM_RC_INT_SAME(SIG_SETMASK); HHVM_RC_INT(SIG_DFL, (int64_t)SIG_DFL); HHVM_RC_INT(SIG_ERR, (int64_t)SIG_ERR); HHVM_RC_INT(SIG_IGN, (int64_t)SIG_IGN); // http://marc.info/?l=php-cvs&m=100289252314474&w=2 HHVM_RC_INT(SIGBABY, SIGSYS); HHVM_RC_INT(SIGCLD, SIGCHLD); HHVM_RC_INT(SIGPOLL, SIGIO); #ifdef __linux__ HHVM_RC_INT_SAME(SIGPWR); HHVM_RC_INT_SAME(SIGSTKFLT); #endif loadSystemlib("process"); }