Add stubs for ext-xmlrpc

This commit is contained in:
Thomas Gerbet 2019-10-05 17:41:15 +02:00 committed by Christoph M. Becker
parent 21e631e473
commit ff00f49673
3 changed files with 100 additions and 67 deletions

View file

@ -68,75 +68,10 @@
#include "php_ini.h"
#include "php_xmlrpc.h"
#include "xmlrpc.h"
#include "xmlrpc_arginfo.h"
static int le_xmlrpc_server;
/* {{{ arginfo */
ZEND_BEGIN_ARG_INFO_EX(arginfo_xmlrpc_encode, 0, 0, 1)
ZEND_ARG_INFO(0, value)
ZEND_END_ARG_INFO()
ZEND_BEGIN_ARG_INFO_EX(arginfo_xmlrpc_decode, 0, 0, 1)
ZEND_ARG_INFO(0, value)
ZEND_ARG_INFO(0, encoding)
ZEND_END_ARG_INFO()
ZEND_BEGIN_ARG_INFO_EX(arginfo_xmlrpc_decode_request, 0, 0, 2)
ZEND_ARG_INFO(0, xml)
ZEND_ARG_INFO(1, method)
ZEND_ARG_INFO(0, encoding)
ZEND_END_ARG_INFO()
ZEND_BEGIN_ARG_INFO_EX(arginfo_xmlrpc_encode_request, 0, 0, 2)
ZEND_ARG_INFO(0, method)
ZEND_ARG_INFO(0, params)
ZEND_ARG_INFO(0, output_options)
ZEND_END_ARG_INFO()
ZEND_BEGIN_ARG_INFO_EX(arginfo_xmlrpc_set_type, 0, 0, 2)
ZEND_ARG_INFO(1, value)
ZEND_ARG_INFO(0, type)
ZEND_END_ARG_INFO()
ZEND_BEGIN_ARG_INFO_EX(arginfo_xmlrpc_is_fault, 0, 0, 1)
ZEND_ARG_INFO(0, arg)
ZEND_END_ARG_INFO()
ZEND_BEGIN_ARG_INFO(arginfo_xmlrpc_server_create, 0)
ZEND_END_ARG_INFO()
ZEND_BEGIN_ARG_INFO_EX(arginfo_xmlrpc_server_destroy, 0, 0, 1)
ZEND_ARG_INFO(0, server)
ZEND_END_ARG_INFO()
ZEND_BEGIN_ARG_INFO_EX(arginfo_xmlrpc_server_register_method, 0, 0, 3)
ZEND_ARG_INFO(0, server)
ZEND_ARG_INFO(0, method_name)
ZEND_ARG_INFO(0, function)
ZEND_END_ARG_INFO()
ZEND_BEGIN_ARG_INFO_EX(arginfo_xmlrpc_server_call_method, 0, 0, 3)
ZEND_ARG_INFO(0, server)
ZEND_ARG_INFO(0, xml)
ZEND_ARG_INFO(0, user_data)
ZEND_ARG_INFO(0, output_options)
ZEND_END_ARG_INFO()
ZEND_BEGIN_ARG_INFO_EX(arginfo_xmlrpc_parse_method_descriptions, 0, 0, 1)
ZEND_ARG_INFO(0, xml)
ZEND_END_ARG_INFO()
ZEND_BEGIN_ARG_INFO_EX(arginfo_xmlrpc_server_add_introspection_data, 0, 0, 2)
ZEND_ARG_INFO(0, server)
ZEND_ARG_INFO(0, desc)
ZEND_END_ARG_INFO()
ZEND_BEGIN_ARG_INFO_EX(arginfo_xmlrpc_server_register_introspection_callback, 0, 0, 2)
ZEND_ARG_INFO(0, server)
ZEND_ARG_INFO(0, function)
ZEND_END_ARG_INFO()
/* }}} */
static const zend_function_entry xmlrpc_functions[] = {
PHP_FE(xmlrpc_encode, arginfo_xmlrpc_encode)
PHP_FE(xmlrpc_decode, arginfo_xmlrpc_decode)
@ -1142,7 +1077,7 @@ PHP_FUNCTION(xmlrpc_server_add_introspection_data)
}
if ((server = (xmlrpc_server_data *)zend_fetch_resource(Z_RES_P(handle), "xmlrpc server", le_xmlrpc_server)) == NULL) {
RETURN_FALSE;
return;
}
xDesc = PHP_to_XMLRPC(desc);

View file

@ -0,0 +1,33 @@
<?php
function xmlrpc_encode($value): ?string {}
function xmlrpc_decode(string $xml, string $encoding = "iso-8859-1") {}
function xmlrpc_decode_request(string $xml, &$method, string $encoding = "iso-8859-1") {}
function xmlrpc_encode_request(?string $method, $params, array $output_options = UNKNOWN): ?string {}
function xmlrpc_set_type(&$value, string $type): bool {}
function xmlrpc_is_fault(array $arg): bool {}
/** @return resource */
function xmlrpc_server_create() {}
/** @param resource $server */
function xmlrpc_server_destroy($server): bool {}
/** @param resource $server */
function xmlrpc_server_register_method($server, string $method_name, $function): bool {}
/** @param resource $server */
function xmlrpc_server_call_method($server, string $xml, $user_data, array $output_options = UNKNOWN) {}
function xmlrpc_parse_method_descriptions(string $xml) {}
/** @param resource $server */
function xmlrpc_server_add_introspection_data($server, array $desc): int {}
/** @param resource $server */
function xmlrpc_server_register_introspection_callback($server, $function): bool {}

View file

@ -0,0 +1,65 @@
/* This is a generated file, edit the .stub.php file instead. */
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_xmlrpc_encode, 0, 1, IS_STRING, 1)
ZEND_ARG_INFO(0, value)
ZEND_END_ARG_INFO()
ZEND_BEGIN_ARG_INFO_EX(arginfo_xmlrpc_decode, 0, 0, 1)
ZEND_ARG_TYPE_INFO(0, xml, IS_STRING, 0)
ZEND_ARG_TYPE_INFO(0, encoding, IS_STRING, 0)
ZEND_END_ARG_INFO()
ZEND_BEGIN_ARG_INFO_EX(arginfo_xmlrpc_decode_request, 0, 0, 2)
ZEND_ARG_TYPE_INFO(0, xml, IS_STRING, 0)
ZEND_ARG_INFO(1, method)
ZEND_ARG_TYPE_INFO(0, encoding, IS_STRING, 0)
ZEND_END_ARG_INFO()
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_xmlrpc_encode_request, 0, 2, IS_STRING, 1)
ZEND_ARG_TYPE_INFO(0, method, IS_STRING, 1)
ZEND_ARG_INFO(0, params)
ZEND_ARG_TYPE_INFO(0, output_options, IS_ARRAY, 0)
ZEND_END_ARG_INFO()
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_xmlrpc_set_type, 0, 2, _IS_BOOL, 0)
ZEND_ARG_INFO(1, value)
ZEND_ARG_TYPE_INFO(0, type, IS_STRING, 0)
ZEND_END_ARG_INFO()
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_xmlrpc_is_fault, 0, 1, _IS_BOOL, 0)
ZEND_ARG_TYPE_INFO(0, arg, IS_ARRAY, 0)
ZEND_END_ARG_INFO()
ZEND_BEGIN_ARG_INFO_EX(arginfo_xmlrpc_server_create, 0, 0, 0)
ZEND_END_ARG_INFO()
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_xmlrpc_server_destroy, 0, 1, _IS_BOOL, 0)
ZEND_ARG_INFO(0, server)
ZEND_END_ARG_INFO()
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_xmlrpc_server_register_method, 0, 3, _IS_BOOL, 0)
ZEND_ARG_INFO(0, server)
ZEND_ARG_TYPE_INFO(0, method_name, IS_STRING, 0)
ZEND_ARG_INFO(0, function)
ZEND_END_ARG_INFO()
ZEND_BEGIN_ARG_INFO_EX(arginfo_xmlrpc_server_call_method, 0, 0, 3)
ZEND_ARG_INFO(0, server)
ZEND_ARG_TYPE_INFO(0, xml, IS_STRING, 0)
ZEND_ARG_INFO(0, user_data)
ZEND_ARG_TYPE_INFO(0, output_options, IS_ARRAY, 0)
ZEND_END_ARG_INFO()
ZEND_BEGIN_ARG_INFO_EX(arginfo_xmlrpc_parse_method_descriptions, 0, 0, 1)
ZEND_ARG_TYPE_INFO(0, xml, IS_STRING, 0)
ZEND_END_ARG_INFO()
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_xmlrpc_server_add_introspection_data, 0, 2, IS_LONG, 0)
ZEND_ARG_INFO(0, server)
ZEND_ARG_TYPE_INFO(0, desc, IS_ARRAY, 0)
ZEND_END_ARG_INFO()
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_xmlrpc_server_register_introspection_callback, 0, 2, _IS_BOOL, 0)
ZEND_ARG_INFO(0, server)
ZEND_ARG_INFO(0, function)
ZEND_END_ARG_INFO()