U_CFUNC PHP_FUNCTION(datefmt_set_timezone_id) { php_error_docref0(NULL TSRMLS_CC, E_DEPRECATED, "Use datefmt_set_timezone() instead, which also accepts a plain " "time zone identifier and for which this function is now an " "alias"); PHP_FN(datefmt_set_timezone)(INTERNAL_FUNCTION_PARAM_PASSTHRU); }
phongo_server_init(return_value, intern->client, intern->server_id TSRMLS_CC); } /* }}} */ /** * Event thrown when a command has failed to execute. * * This class is only constructed internally. */ /* {{{ MongoDB\Driver\Monitoring\CommandFailedEvent function entries */ ZEND_BEGIN_ARG_INFO_EX(ai_CommandFailedEvent_void, 0, 0, 0) ZEND_END_ARG_INFO() static zend_function_entry php_phongo_commandfailedevent_me[] = { ZEND_NAMED_ME(__construct, PHP_FN(MongoDB_disabled___construct), ai_CommandFailedEvent_void, ZEND_ACC_PRIVATE|ZEND_ACC_FINAL) PHP_ME(CommandFailedEvent, getCommandName, ai_CommandFailedEvent_void, ZEND_ACC_PUBLIC|ZEND_ACC_FINAL) PHP_ME(CommandFailedEvent, getError, ai_CommandFailedEvent_void, ZEND_ACC_PUBLIC|ZEND_ACC_FINAL) PHP_ME(CommandFailedEvent, getDurationMicros, ai_CommandFailedEvent_void, ZEND_ACC_PUBLIC|ZEND_ACC_FINAL) PHP_ME(CommandFailedEvent, getOperationId, ai_CommandFailedEvent_void, ZEND_ACC_PUBLIC|ZEND_ACC_FINAL) PHP_ME(CommandFailedEvent, getRequestId, ai_CommandFailedEvent_void, ZEND_ACC_PUBLIC|ZEND_ACC_FINAL) PHP_ME(CommandFailedEvent, getServer, ai_CommandFailedEvent_void, ZEND_ACC_PUBLIC|ZEND_ACC_FINAL) ZEND_NAMED_ME(__wakeup, PHP_FN(MongoDB_disabled___wakeup), ai_CommandFailedEvent_void, ZEND_ACC_PUBLIC|ZEND_ACC_FINAL) PHP_FE_END }; /* }}} */ /* {{{ MongoDB\Driver\Monitoring\CommandFailedEvent object handlers */ static zend_object_handlers php_phongo_handler_commandfailedevent; static void php_phongo_commandfailedevent_free_object(phongo_free_object_arg *object TSRMLS_DC) /* {{{ */
} /* another quickie macro to make defining similar functions easier */ #define FileFunction(name, funcnum) \ void name(INTERNAL_FUNCTION_PARAMETERS) { \ pval **filename; \ if (ZEND_NUM_ARGS() != 1 || zend_get_parameters_ex(1, &filename) == FAILURE) { \ WRONG_PARAM_COUNT; \ } \ convert_to_string_ex(filename); \ php_stat(Z_STRVAL_PP(filename), (php_stat_len) Z_STRLEN_PP(filename), funcnum, return_value); \ } /* {{{ proto int fileperms(string filename) Get file permissions */ FileFunction(PHP_FN(fileperms),0) /* }}} */ /* {{{ proto int fileinode(string filename) Get file inode */ FileFunction(PHP_FN(fileinode),1) /* }}} */ /* {{{ proto int filesize(string filename) Get file size */ FileFunction(PHP_FN(filesize), 2) /* }}} */ /* {{{ proto int fileowner(string filename) Get file owner */ FileFunction(PHP_FN(fileowner),3)
} ZEND_BEGIN_ARG_INFO(arginfo_php_user_filter_filter, 0) ZEND_ARG_INFO(0, in) ZEND_ARG_INFO(0, out) ZEND_ARG_INFO(1, consumed) ZEND_ARG_INFO(0, closing) ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO(arginfo_php_user_filter_onCreate, 0) ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO(arginfo_php_user_filter_onClose, 0) ZEND_END_ARG_INFO() static const zend_function_entry user_filter_class_funcs[] = { PHP_NAMED_FE(filter, PHP_FN(user_filter_nop), arginfo_php_user_filter_filter) PHP_NAMED_FE(onCreate, PHP_FN(user_filter_nop), arginfo_php_user_filter_onCreate) PHP_NAMED_FE(onClose, PHP_FN(user_filter_nop), arginfo_php_user_filter_onClose) PHP_FE_END }; static zend_class_entry user_filter_class_entry; static ZEND_RSRC_DTOR_FUNC(php_bucket_dtor) { php_stream_bucket *bucket = (php_stream_bucket *)rsrc->ptr; if (bucket) { php_stream_bucket_delref(bucket TSRMLS_CC); bucket = NULL; } }
/* {{{ MongoDB\BSON\Undefined function entries */ ZEND_BEGIN_ARG_INFO_EX(ai_Undefined_unserialize, 0, 0, 1) ZEND_ARG_INFO(0, serialized) ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX(ai_Undefined_void, 0, 0, 0) ZEND_END_ARG_INFO() static zend_function_entry php_phongo_undefined_me[] = { /* clang-format off */ /* __set_state intentionally missing */ PHP_ME(Undefined, __toString, ai_Undefined_void, ZEND_ACC_PUBLIC | ZEND_ACC_FINAL) PHP_ME(Undefined, jsonSerialize, ai_Undefined_void, ZEND_ACC_PUBLIC | ZEND_ACC_FINAL) PHP_ME(Undefined, serialize, ai_Undefined_void, ZEND_ACC_PUBLIC | ZEND_ACC_FINAL) PHP_ME(Undefined, unserialize, ai_Undefined_unserialize, ZEND_ACC_PUBLIC | ZEND_ACC_FINAL) ZEND_NAMED_ME(__construct, PHP_FN(MongoDB_disabled___construct), ai_Undefined_void, ZEND_ACC_PRIVATE | ZEND_ACC_FINAL) PHP_FE_END /* clang-format on */ }; /* }}} */ /* {{{ MongoDB\BSON\Undefined object handlers */ static zend_object_handlers php_phongo_handler_undefined; static void php_phongo_undefined_free_object(phongo_free_object_arg* object TSRMLS_DC) /* {{{ */ { php_phongo_undefined_t* intern = Z_OBJ_UNDEFINED(object); zend_object_std_dtor(&intern->std TSRMLS_CC); #if PHP_VERSION_ID < 70000
static void smd_override_functions() /* {{{ */ { const char *f_array_merge = "array_merge"; smd_override_func(f_array_merge, PHP_FN(smd_array_merge), &SMD_TO_FUNC(array_merge)); } /* }}} */
return; } tmp_len = spprintf(&tmp, 0, "%" PRId64, intern->id); PHONGO_RETVAL_STRINGL(tmp, tmp_len); efree(tmp); } /* }}} */ /* {{{ MongoDB\Driver\CursorId function entries */ ZEND_BEGIN_ARG_INFO_EX(ai_CursorId_void, 0, 0, 0) ZEND_END_ARG_INFO() static zend_function_entry php_phongo_cursorid_me[] = { /* clang-format off */ PHP_ME(CursorId, __toString, ai_CursorId_void, ZEND_ACC_PUBLIC | ZEND_ACC_FINAL) ZEND_NAMED_ME(__construct, PHP_FN(MongoDB_disabled___construct), ai_CursorId_void, ZEND_ACC_PRIVATE | ZEND_ACC_FINAL) ZEND_NAMED_ME(__wakeup, PHP_FN(MongoDB_disabled___wakeup), ai_CursorId_void, ZEND_ACC_PUBLIC | ZEND_ACC_FINAL) PHP_FE_END /* clang-format on */ }; /* }}} */ /* {{{ MongoDB\Driver\CursorId object handlers */ static zend_object_handlers php_phongo_handler_cursorid; static void php_phongo_cursorid_free_object(phongo_free_object_arg* object TSRMLS_DC) /* {{{ */ { php_phongo_cursorid_t* intern = Z_OBJ_CURSORID(object); zend_object_std_dtor(&intern->std TSRMLS_CC);
static union _zend_function *com_method_get(zend_object **object_ptr, zend_string *name, const zval *key) { zend_internal_function f, *fptr = NULL; union _zend_function *func; DISPID dummy; php_com_dotnet_object *obj = (php_com_dotnet_object*)*object_ptr; if (V_VT(&obj->v) != VT_DISPATCH) { return NULL; } if (FAILED(php_com_get_id_of_name(obj, name->val, name->len, &dummy))) { return NULL; } /* check cache */ if (obj->method_cache == NULL || NULL == (fptr = zend_hash_find_ptr(obj->method_cache, name))) { f.type = ZEND_OVERLOADED_FUNCTION; f.num_args = 0; f.arg_info = NULL; f.scope = obj->ce; f.fn_flags = ZEND_ACC_CALL_VIA_HANDLER; f.function_name = zend_string_copy(name); f.handler = PHP_FN(com_method_handler); fptr = &f; if (obj->typeinfo) { /* look for byref params */ ITypeComp *comp; ITypeInfo *TI = NULL; DESCKIND kind; BINDPTR bindptr; OLECHAR *olename; ULONG lhash; int i; if (SUCCEEDED(ITypeInfo_GetTypeComp(obj->typeinfo, &comp))) { olename = php_com_string_to_olestring(name->val, name->len, obj->code_page); lhash = LHashValOfNameSys(SYS_WIN32, LOCALE_SYSTEM_DEFAULT, olename); if (SUCCEEDED(ITypeComp_Bind(comp, olename, lhash, INVOKE_FUNC, &TI, &kind, &bindptr))) { switch (kind) { case DESCKIND_FUNCDESC: f.arg_info = ecalloc(bindptr.lpfuncdesc->cParams, sizeof(zend_arg_info)); for (i = 0; i < bindptr.lpfuncdesc->cParams; i++) { f.arg_info[i].allow_null = 1; if (bindptr.lpfuncdesc->lprgelemdescParam[i].paramdesc.wParamFlags & PARAMFLAG_FOUT) { f.arg_info[i].pass_by_reference = ZEND_SEND_BY_REF; } } f.num_args = bindptr.lpfuncdesc->cParams; ITypeInfo_ReleaseFuncDesc(TI, bindptr.lpfuncdesc); break; /* these should not happen, but *might* happen if the user * screws up; lets avoid a leak in that case */ case DESCKIND_VARDESC: ITypeInfo_ReleaseVarDesc(TI, bindptr.lpvardesc); break; case DESCKIND_TYPECOMP: ITypeComp_Release(bindptr.lptcomp); break; case DESCKIND_NONE: break; } if (TI) { ITypeInfo_Release(TI); } } ITypeComp_Release(comp); efree(olename); } } zend_set_function_arg_flags((zend_function*)&f); /* save this method in the cache */ if (!obj->method_cache) { ALLOC_HASHTABLE(obj->method_cache); zend_hash_init(obj->method_cache, 2, NULL, function_dtor, 0); } zend_hash_update_mem(obj->method_cache, name, &f, sizeof(f)); } if (fptr) { /* duplicate this into a new chunk of emalloc'd memory, * since the engine will efree it */ func = emalloc(sizeof(*fptr)); memcpy(func, fptr, sizeof(*fptr)); return func; } return NULL; }
static int extract_part(php_mimepart *part, int decode, php_stream *src, void *callbackdata, php_mimepart_extract_func_t callback TSRMLS_DC); static int extract_callback_stream(php_mimepart *part, void *ptr, const char *p, size_t n TSRMLS_DC); static int extract_callback_stdout(php_mimepart *part, void *ptr, const char *p, size_t n TSRMLS_DC); static int get_structure_callback(php_mimepart *part, php_mimepart_enumerator *id, void *ptr TSRMLS_DC); static int mailparse_get_part_data(php_mimepart *part, zval *return_value TSRMLS_DC); static int mailparse_mimemessage_populate(php_mimepart *part, zval *object TSRMLS_DC); static size_t mailparse_do_uudecode(php_stream *instream, php_stream *outstream TSRMLS_DC); static int le_mime_part; static zend_function_entry mimemessage_methods[] = { PHP_NAMED_FE(mimemessage, PHP_FN(mailparse_mimemessage), NULL) PHP_NAMED_FE(get_child, PHP_FN(mailparse_mimemessage_get_child), NULL) PHP_NAMED_FE(get_child_count, PHP_FN(mailparse_mimemessage_get_child_count), NULL) PHP_NAMED_FE(get_parent, PHP_FN(mailparse_mimemessage_get_parent), NULL) PHP_NAMED_FE(extract_headers, PHP_FN(mailparse_mimemessage_extract_headers), NULL) PHP_NAMED_FE(extract_body, PHP_FN(mailparse_mimemessage_extract_body), NULL) PHP_NAMED_FE(enum_uue, PHP_FN(mailparse_mimemessage_enum_uue), NULL) PHP_NAMED_FE(extract_uue, PHP_FN(mailparse_mimemessage_extract_uue), NULL) PHP_NAMED_FE(remove, PHP_FN(mailparse_mimemessage_remove), NULL) PHP_NAMED_FE(add_child, PHP_FN(mailparse_mimemessage_add_child), NULL) {NULL, NULL, NULL} }; static zend_class_entry *mimemsg_class_entry; zend_function_entry mailparse_functions[] = {