mirror of
https://github.com/php/php-src.git
synced 2026-03-24 00:02:20 +01:00
Add com_dotnet function stubs
This commit is contained in:
@@ -29,6 +29,7 @@
|
||||
#include "php_com_dotnet_internal.h"
|
||||
#include "Zend/zend_exceptions.h"
|
||||
#include "Zend/zend_interfaces.h"
|
||||
#include "com_extension_arginfo.h"
|
||||
|
||||
ZEND_DECLARE_MODULE_GLOBALS(com_dotnet)
|
||||
static PHP_GINIT_FUNCTION(com_dotnet);
|
||||
@@ -38,116 +39,21 @@ zend_class_entry
|
||||
*php_com_exception_class_entry,
|
||||
*php_com_saproxy_class_entry;
|
||||
|
||||
/* {{{ arginfo */
|
||||
ZEND_BEGIN_ARG_INFO_EX(arginfo_variant_set, 0, 0, 2)
|
||||
ZEND_ARG_INFO(0, variant)
|
||||
ZEND_ARG_INFO(0, value)
|
||||
ZEND_END_ARG_INFO()
|
||||
|
||||
ZEND_BEGIN_ARG_INFO_EX(arginfo_left_right, 0, 0, 2)
|
||||
ZEND_ARG_INFO(0, left)
|
||||
ZEND_ARG_INFO(0, right)
|
||||
ZEND_END_ARG_INFO()
|
||||
|
||||
ZEND_BEGIN_ARG_INFO_EX(arginfo_variant_abs, 0, 0, 1)
|
||||
ZEND_ARG_INFO(0, left)
|
||||
ZEND_END_ARG_INFO()
|
||||
|
||||
ZEND_BEGIN_ARG_INFO_EX(arginfo_variant_fix, 0, 0, 1)
|
||||
ZEND_ARG_INFO(0, left)
|
||||
ZEND_END_ARG_INFO()
|
||||
|
||||
ZEND_BEGIN_ARG_INFO_EX(arginfo_variant_int, 0, 0, 1)
|
||||
ZEND_ARG_INFO(0, left)
|
||||
ZEND_END_ARG_INFO()
|
||||
|
||||
ZEND_BEGIN_ARG_INFO_EX(arginfo_variant_neg, 0, 0, 1)
|
||||
ZEND_ARG_INFO(0, left)
|
||||
ZEND_END_ARG_INFO()
|
||||
|
||||
ZEND_BEGIN_ARG_INFO_EX(arginfo_variant_not, 0, 0, 1)
|
||||
ZEND_ARG_INFO(0, left)
|
||||
ZEND_END_ARG_INFO()
|
||||
|
||||
ZEND_BEGIN_ARG_INFO_EX(arginfo_variant_round, 0, 0, 2)
|
||||
ZEND_ARG_INFO(0, left)
|
||||
ZEND_ARG_INFO(0, decimals)
|
||||
ZEND_END_ARG_INFO()
|
||||
|
||||
ZEND_BEGIN_ARG_INFO_EX(arginfo_variant_cmp, 0, 0, 2)
|
||||
ZEND_ARG_INFO(0, left)
|
||||
ZEND_ARG_INFO(0, right)
|
||||
ZEND_ARG_INFO(0, lcid)
|
||||
ZEND_ARG_INFO(0, flags)
|
||||
ZEND_END_ARG_INFO()
|
||||
|
||||
ZEND_BEGIN_ARG_INFO_EX(arginfo_variant_date_to_timestamp, 0, 0, 1)
|
||||
ZEND_ARG_INFO(0, variant)
|
||||
ZEND_END_ARG_INFO()
|
||||
|
||||
ZEND_BEGIN_ARG_INFO_EX(arginfo_variant_date_from_timestamp, 0, 0, 1)
|
||||
ZEND_ARG_INFO(0, timestamp)
|
||||
ZEND_END_ARG_INFO()
|
||||
|
||||
ZEND_BEGIN_ARG_INFO_EX(arginfo_variant_get_type, 0, 0, 1)
|
||||
ZEND_ARG_INFO(0, variant)
|
||||
ZEND_END_ARG_INFO()
|
||||
|
||||
ZEND_BEGIN_ARG_INFO_EX(arginfo_variant_set_type, 0, 0, 2)
|
||||
ZEND_ARG_INFO(0, variant)
|
||||
ZEND_ARG_INFO(0, type)
|
||||
ZEND_END_ARG_INFO()
|
||||
|
||||
ZEND_BEGIN_ARG_INFO_EX(arginfo_variant_cast, 0, 0, 2)
|
||||
ZEND_ARG_INFO(0, variant)
|
||||
ZEND_ARG_INFO(0, type)
|
||||
ZEND_END_ARG_INFO()
|
||||
|
||||
ZEND_BEGIN_ARG_INFO_EX(arginfo_com_get_active_object, 0, 0, 1)
|
||||
ZEND_ARG_INFO(0, progid)
|
||||
ZEND_ARG_INFO(0, code_page)
|
||||
ZEND_END_ARG_INFO()
|
||||
|
||||
ZEND_BEGIN_ARG_INFO(arginfo_com_create_guid, 0)
|
||||
ZEND_END_ARG_INFO()
|
||||
|
||||
ZEND_BEGIN_ARG_INFO_EX(arginfo_com_event_sink, 0, 0, 2)
|
||||
ZEND_ARG_INFO(0, comobject)
|
||||
ZEND_ARG_INFO(0, sinkobject)
|
||||
ZEND_ARG_INFO(0, sinkinterface)
|
||||
ZEND_END_ARG_INFO()
|
||||
|
||||
ZEND_BEGIN_ARG_INFO_EX(arginfo_com_print_typeinfo, 0, 0, 1)
|
||||
ZEND_ARG_INFO(0, comobject)
|
||||
ZEND_ARG_INFO(0, dispinterface)
|
||||
ZEND_ARG_INFO(0, wantsink)
|
||||
ZEND_END_ARG_INFO()
|
||||
|
||||
ZEND_BEGIN_ARG_INFO_EX(arginfo_com_message_pump, 0, 0, 0)
|
||||
ZEND_ARG_INFO(0, timeoutms)
|
||||
ZEND_END_ARG_INFO()
|
||||
|
||||
ZEND_BEGIN_ARG_INFO_EX(arginfo_com_load_typelib, 0, 0, 1)
|
||||
ZEND_ARG_INFO(0, typelib_name)
|
||||
ZEND_ARG_INFO(0, case_insensitive)
|
||||
ZEND_END_ARG_INFO()
|
||||
/* }}} */
|
||||
|
||||
static const zend_function_entry com_dotnet_functions[] = {
|
||||
PHP_FE(variant_set, arginfo_variant_set)
|
||||
PHP_FE(variant_add, arginfo_left_right)
|
||||
PHP_FE(variant_cat, arginfo_left_right)
|
||||
PHP_FE(variant_sub, arginfo_left_right)
|
||||
PHP_FE(variant_mul, arginfo_left_right)
|
||||
PHP_FE(variant_and, arginfo_left_right)
|
||||
PHP_FE(variant_div, arginfo_left_right)
|
||||
PHP_FE(variant_eqv, arginfo_left_right)
|
||||
PHP_FE(variant_idiv, arginfo_left_right)
|
||||
PHP_FE(variant_imp, arginfo_left_right)
|
||||
PHP_FE(variant_mod, arginfo_left_right)
|
||||
PHP_FE(variant_or, arginfo_left_right)
|
||||
PHP_FE(variant_pow, arginfo_left_right)
|
||||
PHP_FE(variant_xor, arginfo_left_right)
|
||||
PHP_FE(variant_add, arginfo_variant_add)
|
||||
PHP_FE(variant_cat, arginfo_variant_add)
|
||||
PHP_FE(variant_sub, arginfo_variant_add)
|
||||
PHP_FE(variant_mul, arginfo_variant_add)
|
||||
PHP_FE(variant_and, arginfo_variant_add)
|
||||
PHP_FE(variant_div, arginfo_variant_add)
|
||||
PHP_FE(variant_eqv, arginfo_variant_add)
|
||||
PHP_FE(variant_idiv, arginfo_variant_add)
|
||||
PHP_FE(variant_imp, arginfo_variant_add)
|
||||
PHP_FE(variant_mod, arginfo_variant_add)
|
||||
PHP_FE(variant_or, arginfo_variant_add)
|
||||
PHP_FE(variant_pow, arginfo_variant_add)
|
||||
PHP_FE(variant_xor, arginfo_variant_add)
|
||||
PHP_FE(variant_abs, arginfo_variant_abs)
|
||||
PHP_FE(variant_fix, arginfo_variant_fix)
|
||||
PHP_FE(variant_int, arginfo_variant_int)
|
||||
|
||||
67
ext/com_dotnet/com_extension.stub.php
Normal file
67
ext/com_dotnet/com_extension.stub.php
Normal file
@@ -0,0 +1,67 @@
|
||||
<?php
|
||||
|
||||
function variant_set(variant $variant, $value): void {}
|
||||
|
||||
function variant_add($left, $right): variant {}
|
||||
|
||||
function variant_cat($left, $right): variant {}
|
||||
|
||||
function variant_sub($left, $right): variant {}
|
||||
|
||||
function variant_mul($left, $right): variant {}
|
||||
|
||||
function variant_and($left, $right): variant {}
|
||||
|
||||
function variant_div($left, $right): variant {}
|
||||
|
||||
function variant_eqv($left, $right): variant {}
|
||||
|
||||
function variant_idiv($left, $right): variant {}
|
||||
|
||||
function variant_imp($left, $right): variant {}
|
||||
|
||||
function variant_mod($left, $right): variant {}
|
||||
|
||||
function variant_or($left, $right): variant {}
|
||||
|
||||
function variant_pow($left, $right): variant {}
|
||||
|
||||
function variant_xor($left, $right): variant {}
|
||||
|
||||
function variant_abs($left): variant {}
|
||||
|
||||
function variant_fix($left): variant {}
|
||||
|
||||
function variant_int($left): variant {}
|
||||
|
||||
function variant_neg($left): variant {}
|
||||
|
||||
function variant_not($left): variant {}
|
||||
|
||||
function variant_round($left, int $decimals): ?variant {}
|
||||
|
||||
function variant_cmp($left, $right, int $lcid = UNKNOWN, int $flags = 0) {}
|
||||
|
||||
function variant_date_to_timestamp(variant $variant): ?int {}
|
||||
|
||||
/** @return variant|false */
|
||||
function variant_date_from_timestamp(int $timestamp) {}
|
||||
|
||||
function variant_get_type(variant $variant): int {}
|
||||
|
||||
function variant_set_type(variant $variant, int $type): void {}
|
||||
|
||||
function variant_cast(variant $variant, int $type): variant {}
|
||||
|
||||
function com_get_active_object(string $progid, int $code_page = UNKNOWN): variant {}
|
||||
|
||||
/** @return string|false */
|
||||
function com_create_guid() {}
|
||||
|
||||
function com_event_sink(variant $comobject, object $sinkobject, $sinkinterface = UNKNOWN): bool {}
|
||||
|
||||
function com_print_typeinfo($comobject, ?string $dispinterface = null, bool $wantsink = false): bool {}
|
||||
|
||||
function com_message_pump(int $timeoutms = 0): bool {}
|
||||
|
||||
function com_load_typelib(string $typelib_name, bool $case_insensitive = true) {}
|
||||
110
ext/com_dotnet/com_extension_arginfo.h
Normal file
110
ext/com_dotnet/com_extension_arginfo.h
Normal file
@@ -0,0 +1,110 @@
|
||||
/* This is a generated file, edit the .stub.php file instead. */
|
||||
|
||||
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_variant_set, 0, 2, IS_VOID, 0)
|
||||
ZEND_ARG_OBJ_INFO(0, variant, variant, 0)
|
||||
ZEND_ARG_INFO(0, value)
|
||||
ZEND_END_ARG_INFO()
|
||||
|
||||
ZEND_BEGIN_ARG_WITH_RETURN_OBJ_INFO_EX(arginfo_variant_add, 0, 2, variant, 0)
|
||||
ZEND_ARG_INFO(0, left)
|
||||
ZEND_ARG_INFO(0, right)
|
||||
ZEND_END_ARG_INFO()
|
||||
|
||||
#define arginfo_variant_cat arginfo_variant_add
|
||||
|
||||
#define arginfo_variant_sub arginfo_variant_add
|
||||
|
||||
#define arginfo_variant_mul arginfo_variant_add
|
||||
|
||||
#define arginfo_variant_and arginfo_variant_add
|
||||
|
||||
#define arginfo_variant_div arginfo_variant_add
|
||||
|
||||
#define arginfo_variant_eqv arginfo_variant_add
|
||||
|
||||
#define arginfo_variant_idiv arginfo_variant_add
|
||||
|
||||
#define arginfo_variant_imp arginfo_variant_add
|
||||
|
||||
#define arginfo_variant_mod arginfo_variant_add
|
||||
|
||||
#define arginfo_variant_or arginfo_variant_add
|
||||
|
||||
#define arginfo_variant_pow arginfo_variant_add
|
||||
|
||||
#define arginfo_variant_xor arginfo_variant_add
|
||||
|
||||
ZEND_BEGIN_ARG_WITH_RETURN_OBJ_INFO_EX(arginfo_variant_abs, 0, 1, variant, 0)
|
||||
ZEND_ARG_INFO(0, left)
|
||||
ZEND_END_ARG_INFO()
|
||||
|
||||
#define arginfo_variant_fix arginfo_variant_abs
|
||||
|
||||
#define arginfo_variant_int arginfo_variant_abs
|
||||
|
||||
#define arginfo_variant_neg arginfo_variant_abs
|
||||
|
||||
#define arginfo_variant_not arginfo_variant_abs
|
||||
|
||||
ZEND_BEGIN_ARG_WITH_RETURN_OBJ_INFO_EX(arginfo_variant_round, 0, 2, variant, 1)
|
||||
ZEND_ARG_INFO(0, left)
|
||||
ZEND_ARG_TYPE_INFO(0, decimals, IS_LONG, 0)
|
||||
ZEND_END_ARG_INFO()
|
||||
|
||||
ZEND_BEGIN_ARG_INFO_EX(arginfo_variant_cmp, 0, 0, 2)
|
||||
ZEND_ARG_INFO(0, left)
|
||||
ZEND_ARG_INFO(0, right)
|
||||
ZEND_ARG_TYPE_INFO(0, lcid, IS_LONG, 0)
|
||||
ZEND_ARG_TYPE_INFO(0, flags, IS_LONG, 0)
|
||||
ZEND_END_ARG_INFO()
|
||||
|
||||
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_variant_date_to_timestamp, 0, 1, IS_LONG, 1)
|
||||
ZEND_ARG_OBJ_INFO(0, variant, variant, 0)
|
||||
ZEND_END_ARG_INFO()
|
||||
|
||||
ZEND_BEGIN_ARG_INFO_EX(arginfo_variant_date_from_timestamp, 0, 0, 1)
|
||||
ZEND_ARG_TYPE_INFO(0, timestamp, IS_LONG, 0)
|
||||
ZEND_END_ARG_INFO()
|
||||
|
||||
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_variant_get_type, 0, 1, IS_LONG, 0)
|
||||
ZEND_ARG_OBJ_INFO(0, variant, variant, 0)
|
||||
ZEND_END_ARG_INFO()
|
||||
|
||||
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_variant_set_type, 0, 2, IS_VOID, 0)
|
||||
ZEND_ARG_OBJ_INFO(0, variant, variant, 0)
|
||||
ZEND_ARG_TYPE_INFO(0, type, IS_LONG, 0)
|
||||
ZEND_END_ARG_INFO()
|
||||
|
||||
ZEND_BEGIN_ARG_WITH_RETURN_OBJ_INFO_EX(arginfo_variant_cast, 0, 2, variant, 0)
|
||||
ZEND_ARG_OBJ_INFO(0, variant, variant, 0)
|
||||
ZEND_ARG_TYPE_INFO(0, type, IS_LONG, 0)
|
||||
ZEND_END_ARG_INFO()
|
||||
|
||||
ZEND_BEGIN_ARG_WITH_RETURN_OBJ_INFO_EX(arginfo_com_get_active_object, 0, 1, variant, 0)
|
||||
ZEND_ARG_TYPE_INFO(0, progid, IS_STRING, 0)
|
||||
ZEND_ARG_TYPE_INFO(0, code_page, IS_LONG, 0)
|
||||
ZEND_END_ARG_INFO()
|
||||
|
||||
ZEND_BEGIN_ARG_INFO_EX(arginfo_com_create_guid, 0, 0, 0)
|
||||
ZEND_END_ARG_INFO()
|
||||
|
||||
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_com_event_sink, 0, 2, _IS_BOOL, 0)
|
||||
ZEND_ARG_OBJ_INFO(0, comobject, variant, 0)
|
||||
ZEND_ARG_TYPE_INFO(0, sinkobject, IS_OBJECT, 0)
|
||||
ZEND_ARG_INFO(0, sinkinterface)
|
||||
ZEND_END_ARG_INFO()
|
||||
|
||||
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_com_print_typeinfo, 0, 1, _IS_BOOL, 0)
|
||||
ZEND_ARG_INFO(0, comobject)
|
||||
ZEND_ARG_TYPE_INFO(0, dispinterface, IS_STRING, 1)
|
||||
ZEND_ARG_TYPE_INFO(0, wantsink, _IS_BOOL, 0)
|
||||
ZEND_END_ARG_INFO()
|
||||
|
||||
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_com_message_pump, 0, 0, _IS_BOOL, 0)
|
||||
ZEND_ARG_TYPE_INFO(0, timeoutms, IS_LONG, 0)
|
||||
ZEND_END_ARG_INFO()
|
||||
|
||||
ZEND_BEGIN_ARG_INFO_EX(arginfo_com_load_typelib, 0, 0, 1)
|
||||
ZEND_ARG_TYPE_INFO(0, typelib_name, IS_STRING, 0)
|
||||
ZEND_ARG_TYPE_INFO(0, case_insensitive, _IS_BOOL, 0)
|
||||
ZEND_END_ARG_INFO()
|
||||
Reference in New Issue
Block a user