diff options
author | Remi Collet <remi@remirepo.net> | 2022-02-07 16:59:35 +0100 |
---|---|---|
committer | Remi Collet <remi@php.net> | 2022-02-07 16:59:35 +0100 |
commit | e97d954577fe0036e8e3f8ba06a19ba04dc6aef0 (patch) | |
tree | 55d41ea6c725b770748311eb9d2246616073311f /smbclient-stub.patch | |
parent | fa071d556d223882f4bf847701c8d51d3d8e735e (diff) |
add fix from https://github.com/eduardok/libsmbclient-php/pull/94
Diffstat (limited to 'smbclient-stub.patch')
-rw-r--r-- | smbclient-stub.patch | 881 |
1 files changed, 881 insertions, 0 deletions
diff --git a/smbclient-stub.patch b/smbclient-stub.patch new file mode 100644 index 0000000..571ad1f --- /dev/null +++ b/smbclient-stub.patch @@ -0,0 +1,881 @@ +From 4b17fed6363c109ef34baebce1e367acd97a3c13 Mon Sep 17 00:00:00 2001 +From: Remi Collet <remi@remirepo.net> +Date: Mon, 7 Feb 2022 16:43:42 +0100 +Subject: [PATCH] generate arginfo from stub - fix smbclient_rename parameters + name - fix smbclient_chmod, mode is required - fix smbclient_utimes: mtime + and atime are optional + +--- + package.xml | 3 + + smbclient.c | 164 +----------------------- + smbclient.stub.php | 189 ++++++++++++++++++++++++++++ + smbclient_arginfo.h | 249 +++++++++++++++++++++++++++++++++++++ + smbclient_legacy_arginfo.h | 226 +++++++++++++++++++++++++++++++++ + 5 files changed, 671 insertions(+), 160 deletions(-) + create mode 100644 smbclient.stub.php + create mode 100644 smbclient_arginfo.h + create mode 100644 smbclient_legacy_arginfo.h + +diff --git a/smbclient.c b/smbclient.c +index a63bad4..6b98693 100644 +--- a/smbclient.c ++++ b/smbclient.c +@@ -147,172 +147,16 @@ hide_password (char *url, int len) + astfill(second_colon + 1, at_sign - 1); + } + +-/* {{{ arginfo */ +-ZEND_BEGIN_ARG_INFO(arginfo_smbclient_void, 0) +-ZEND_END_ARG_INFO() +- +-ZEND_BEGIN_ARG_INFO_EX(arginfo_smbclient_state_init, 0, 0, 1) +- ZEND_ARG_INFO(0, state) +- ZEND_ARG_INFO(0, workgroup) +- ZEND_ARG_INFO(0, user) +- ZEND_ARG_INFO(0, password) +-ZEND_END_ARG_INFO() +- +-ZEND_BEGIN_ARG_INFO(arginfo_smbclient_state, 0) +- ZEND_ARG_INFO(0, state) +-ZEND_END_ARG_INFO() +- +-ZEND_BEGIN_ARG_INFO(arginfo_smbclient_option_get, 0) +- ZEND_ARG_INFO(0, state) +- ZEND_ARG_INFO(0, option) +-ZEND_END_ARG_INFO() +- +-ZEND_BEGIN_ARG_INFO(arginfo_smbclient_option_set, 0) +- ZEND_ARG_INFO(0, state) +- ZEND_ARG_INFO(0, option) +- ZEND_ARG_INFO(0, value) +-ZEND_END_ARG_INFO() +- +-#if HAVE_SMBC_SETOPTIONPROTOCOLS +-ZEND_BEGIN_ARG_INFO_EX(arginfo_smbclient_client_protocols, 0, 0, 1) +- ZEND_ARG_INFO(0, state) +- ZEND_ARG_INFO(0, minproto) +- ZEND_ARG_INFO(0, maxproto) +-ZEND_END_ARG_INFO() +-#endif +- +-ZEND_BEGIN_ARG_INFO(arginfo_smbclient_path, 0) +- ZEND_ARG_INFO(0, state) +- ZEND_ARG_INFO(0, path) +-ZEND_END_ARG_INFO() +- +-ZEND_BEGIN_ARG_INFO(arginfo_smbclient_rename, 0) +- ZEND_ARG_INFO(0, oldstate) +- ZEND_ARG_INFO(0, oldpath) +- ZEND_ARG_INFO(0, oldstate) +- ZEND_ARG_INFO(0, oldpath) +-ZEND_END_ARG_INFO() +- +-ZEND_BEGIN_ARG_INFO(arginfo_smbclient_dir, 0) +- ZEND_ARG_INFO(0, state) +- ZEND_ARG_INFO(0, dir) +-ZEND_END_ARG_INFO() +- +-ZEND_BEGIN_ARG_INFO(arginfo_smbclient_file, 0) +- ZEND_ARG_INFO(0, state) +- ZEND_ARG_INFO(0, file) +-ZEND_END_ARG_INFO() +- +-ZEND_BEGIN_ARG_INFO(arginfo_smbclient_read, 0) +- ZEND_ARG_INFO(0, state) +- ZEND_ARG_INFO(0, file) +- ZEND_ARG_INFO(0, count) +-ZEND_END_ARG_INFO() +- +-ZEND_BEGIN_ARG_INFO_EX(arginfo_smbclient_open, 0, 0, 3) +- ZEND_ARG_INFO(0, state) +- ZEND_ARG_INFO(0, path) +- ZEND_ARG_INFO(0, flags) +- ZEND_ARG_INFO(0, mode) +-ZEND_END_ARG_INFO() +- +-ZEND_BEGIN_ARG_INFO_EX(arginfo_smbclient_creat, 0, 0, 2) +- ZEND_ARG_INFO(0, state) +- ZEND_ARG_INFO(0, path) +- ZEND_ARG_INFO(0, mode) +-ZEND_END_ARG_INFO() +- +-ZEND_BEGIN_ARG_INFO_EX(arginfo_smbclient_write, 0, 0, 3) +- ZEND_ARG_INFO(0, state) +- ZEND_ARG_INFO(0, file) +- ZEND_ARG_INFO(0, buffer) +- ZEND_ARG_INFO(0, count) +-ZEND_END_ARG_INFO() +- +-ZEND_BEGIN_ARG_INFO(arginfo_smbclient_lseek, 0) +- ZEND_ARG_INFO(0, state) +- ZEND_ARG_INFO(0, file) +- ZEND_ARG_INFO(0, offset) +- ZEND_ARG_INFO(0, whence) +-ZEND_END_ARG_INFO() +- +-ZEND_BEGIN_ARG_INFO(arginfo_smbclient_ftruncate, 0) +- ZEND_ARG_INFO(0, state) +- ZEND_ARG_INFO(0, file) +- ZEND_ARG_INFO(0, offset) +-ZEND_END_ARG_INFO() +- +-ZEND_BEGIN_ARG_INFO(arginfo_smbclient_utimes, 0) +- ZEND_ARG_INFO(0, state) +- ZEND_ARG_INFO(0, path) +- ZEND_ARG_INFO(0, mtime) +- ZEND_ARG_INFO(0, atime) +-ZEND_END_ARG_INFO() +- +-ZEND_BEGIN_ARG_INFO(arginfo_smbclient_getxattr, 0) +- ZEND_ARG_INFO(0, state) +- ZEND_ARG_INFO(0, path) +- ZEND_ARG_INFO(0, name) +-ZEND_END_ARG_INFO() +- +-ZEND_BEGIN_ARG_INFO_EX(arginfo_smbclient_setxattr, 0, 0, 4) +- ZEND_ARG_INFO(0, state) +- ZEND_ARG_INFO(0, path) +- ZEND_ARG_INFO(0, name) +- ZEND_ARG_INFO(0, value) +- ZEND_ARG_INFO(0, flags) +-ZEND_END_ARG_INFO() +- +-/* }}} */ +- +-static zend_function_entry smbclient_functions[] = +-{ +- PHP_FE(smbclient_version, arginfo_smbclient_void) +- PHP_FE(smbclient_library_version, arginfo_smbclient_void) +- PHP_FE(smbclient_state_new, arginfo_smbclient_void) +- PHP_FE(smbclient_state_init, arginfo_smbclient_state_init) +- PHP_FE(smbclient_state_errno, arginfo_smbclient_state) +- PHP_FE(smbclient_state_free, arginfo_smbclient_state) +- PHP_FE(smbclient_option_get, arginfo_smbclient_option_get) +- PHP_FE(smbclient_option_set, arginfo_smbclient_option_set) +-#if HAVE_SMBC_SETOPTIONPROTOCOLS +- PHP_FE(smbclient_client_protocols, arginfo_smbclient_client_protocols) +-#endif +- PHP_FE(smbclient_opendir, arginfo_smbclient_path) +- PHP_FE(smbclient_readdir, arginfo_smbclient_dir) +- PHP_FE(smbclient_closedir, arginfo_smbclient_dir) +- PHP_FE(smbclient_stat, arginfo_smbclient_path) +- PHP_FE(smbclient_fstat, arginfo_smbclient_file) +- PHP_FE(smbclient_open, arginfo_smbclient_open) +- PHP_FE(smbclient_creat, arginfo_smbclient_creat) +- PHP_FE(smbclient_read, arginfo_smbclient_read) +- PHP_FE(smbclient_close, arginfo_smbclient_file) +- PHP_FE(smbclient_mkdir, arginfo_smbclient_creat) +- PHP_FE(smbclient_rmdir, arginfo_smbclient_path) +- PHP_FE(smbclient_rename, arginfo_smbclient_rename) +- PHP_FE(smbclient_write, arginfo_smbclient_write) +- PHP_FE(smbclient_unlink, arginfo_smbclient_path) +- PHP_FE(smbclient_lseek, arginfo_smbclient_lseek) +- PHP_FE(smbclient_ftruncate, arginfo_smbclient_ftruncate) +- PHP_FE(smbclient_chmod, arginfo_smbclient_creat) +- PHP_FE(smbclient_utimes, arginfo_smbclient_utimes) +- PHP_FE(smbclient_listxattr, arginfo_smbclient_path) +- PHP_FE(smbclient_getxattr, arginfo_smbclient_getxattr) +- PHP_FE(smbclient_setxattr, arginfo_smbclient_setxattr) +- PHP_FE(smbclient_removexattr, arginfo_smbclient_getxattr) +- PHP_FE(smbclient_statvfs, arginfo_smbclient_path) +- PHP_FE(smbclient_fstatvfs, arginfo_smbclient_file) +-#ifdef PHP_FE_END +- PHP_FE_END ++#if PHP_VERSION_ID < 80000 ++#include "smbclient_legacy_arginfo.h" + #else +- {NULL, NULL, NULL} ++#include "smbclient_arginfo.h" + #endif +-}; + + zend_module_entry smbclient_module_entry = + { STANDARD_MODULE_HEADER + , "smbclient" /* name */ +- , smbclient_functions /* functions */ ++ , ext_functions /* functions */ + , PHP_MINIT(smbclient) /* module_startup_func */ + , PHP_MSHUTDOWN(smbclient) /* module_shutdown_func */ + , PHP_RINIT(smbclient) /* request_startup_func */ +diff --git a/smbclient.stub.php b/smbclient.stub.php +new file mode 100644 +index 0000000..65f5fad +--- /dev/null ++++ b/smbclient.stub.php +@@ -0,0 +1,189 @@ ++<?php ++ ++/** ++ * @generate-function-entries ++ * @generate-legacy-arginfo ++ */ ++ ++function smbclient_version(): string {} ++ ++function smbclient_library_version(): string {} ++ ++/** ++ * @return false|resource ++ */ ++function smbclient_state_new() {} ++ ++/** ++ * @param resource $state ++ */ ++function smbclient_state_init($state, string $workgroup=null, string $user=null, string $password=null): bool {} ++ ++/** ++ * @param resource $state ++ */ ++function smbclient_state_errno($state): int {} ++ ++/** ++ * @param resource $state ++ */ ++function smbclient_state_free($state): bool {} ++ ++/** ++ * @param resource $state ++ * @return mixed ++ */ ++function smbclient_option_get($state, int $option) {} ++ ++/** ++ * @param resource $state ++ * @param mixed $value ++ * @return mixed ++ */ ++function smbclient_option_set($state, int $option, $value) {} ++ ++ ++#if HAVE_SMBC_SETOPTIONPROTOCOLS ++/** ++ * @param resource $state ++ * @param mixed $value ++ * @return mixed ++ */ ++function smbclient_client_protocols($state, string $minproto=null, string $maxproto=null): bool {} ++#endif ++ ++/** ++ * @param resource $state ++ * @return false|resource ++ */ ++function smbclient_opendir($state, string $path) {} ++ ++/** ++ * @param resource $state ++ * @param resource $dir ++ */ ++function smbclient_readdir($state, $dir): false|array {} ++ ++/** ++ * @param resource $state ++ * @param resource $dir ++ */ ++function smbclient_closedir($state, $dir): bool {} ++ ++/** ++ * @param resource $state ++ * @return false|resource ++ */ ++function smbclient_stat($state, string $path): false|array {} ++ ++/** ++ * @param resource $state ++ * @param resource $file ++ */ ++function smbclient_fstat($state, $file): false|array {} ++ ++/** ++ * @param resource $state ++ * @return false|resource ++ */ ++function smbclient_open($state, string $path, string $flags, int $mode=0666) {} ++ ++/** ++ * @param resource $state ++ * @return false|resource ++ */ ++function smbclient_creat($state, string $path, int $mode=0666) {} ++ ++/** ++ * @param resource $state ++ * @param resource $file ++ */ ++function smbclient_read($state, $file, int $count): false|string {} ++ ++/** ++ * @param resource $state ++ * @param resource $file ++ */ ++function smbclient_close($state, $file): bool {} ++ ++/** ++ * @param resource $state ++ */ ++function smbclient_mkdir($state, string $path, int $mode=0666): bool {} ++ ++/** ++ * @param resource $state ++ */ ++function smbclient_rmdir($state, string $path): bool {} ++ ++/** ++ * @param resource $oldstate ++ * @param resource $newstate ++ */ ++function smbclient_rename($oldstate, string $oldpath, $newstate, string $newpath): bool {} ++ ++/** ++ * @param resource $state ++ * @param resource $file ++ */ ++function smbclient_write($state, $file, string $buffer, int $count=0): false|int {} ++ ++/** ++ * @param resource $state ++ */ ++function smbclient_unlink($state, string $path): bool {} ++ ++/** ++ * @param resource $state ++ * @param resource $file ++ */ ++function smbclient_lseek($state, $file, int $offset, int $whence): false|int {} ++ ++/** ++ * @param resource $state ++ * @param resource $file ++ */ ++function smbclient_ftruncate($state, $file, int $offset): bool {} ++ ++/** ++ * @param resource $state ++ */ ++function smbclient_chmod($state, string $path, int $mode): bool {} ++ ++/** ++ * @param resource $state ++ */ ++function smbclient_utimes($state, string $path, int $mtime=-1, int $atime=-1): bool {} ++ ++/** ++ * @param resource $state ++ */ ++function smbclient_listxattr($state, string $path): false|array {} ++ ++/** ++ * @param resource $state ++ */ ++function smbclient_getxattr($state, string $path, string $name): false|string {} ++ ++/** ++ * @param resource $state ++ */ ++function smbclient_setxattr($state, string $path, string $name, string $value, int $flags=0): false|string {} ++ ++/** ++ * @param resource $state ++ */ ++function smbclient_removexattr($state, string $path, string $name): bool {} ++ ++/** ++ * @param resource $state ++ * @return false|resource ++ */ ++function smbclient_statvfs($state, string $path): false|array {} ++ ++/** ++ * @param resource $state ++ * @param resource $file ++ */ ++function smbclient_fstatvfs($state, $file): false|array {} ++ +diff --git a/smbclient_arginfo.h b/smbclient_arginfo.h +new file mode 100644 +index 0000000..c5f091a +--- /dev/null ++++ b/smbclient_arginfo.h +@@ -0,0 +1,249 @@ ++/* This is a generated file, edit the .stub.php file instead. ++ * Stub hash: 6abe27ac2cfb259cc835af1bafe32bb639c422b1 */ ++ ++ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_smbclient_version, 0, 0, IS_STRING, 0) ++ZEND_END_ARG_INFO() ++ ++#define arginfo_smbclient_library_version arginfo_smbclient_version ++ ++ZEND_BEGIN_ARG_INFO_EX(arginfo_smbclient_state_new, 0, 0, 0) ++ZEND_END_ARG_INFO() ++ ++ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_smbclient_state_init, 0, 1, _IS_BOOL, 0) ++ ZEND_ARG_INFO(0, state) ++ ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, workgroup, IS_STRING, 0, "null") ++ ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, user, IS_STRING, 0, "null") ++ ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, password, IS_STRING, 0, "null") ++ZEND_END_ARG_INFO() ++ ++ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_smbclient_state_errno, 0, 1, IS_LONG, 0) ++ ZEND_ARG_INFO(0, state) ++ZEND_END_ARG_INFO() ++ ++ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_smbclient_state_free, 0, 1, _IS_BOOL, 0) ++ ZEND_ARG_INFO(0, state) ++ZEND_END_ARG_INFO() ++ ++ZEND_BEGIN_ARG_INFO_EX(arginfo_smbclient_option_get, 0, 0, 2) ++ ZEND_ARG_INFO(0, state) ++ ZEND_ARG_TYPE_INFO(0, option, IS_LONG, 0) ++ZEND_END_ARG_INFO() ++ ++ZEND_BEGIN_ARG_INFO_EX(arginfo_smbclient_option_set, 0, 0, 3) ++ ZEND_ARG_INFO(0, state) ++ ZEND_ARG_TYPE_INFO(0, option, IS_LONG, 0) ++ ZEND_ARG_INFO(0, value) ++ZEND_END_ARG_INFO() ++ ++#if HAVE_SMBC_SETOPTIONPROTOCOLS ++ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_smbclient_client_protocols, 0, 1, _IS_BOOL, 0) ++ ZEND_ARG_INFO(0, state) ++ ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, minproto, IS_STRING, 0, "null") ++ ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, maxproto, IS_STRING, 0, "null") ++ZEND_END_ARG_INFO() ++#endif ++ ++ZEND_BEGIN_ARG_INFO_EX(arginfo_smbclient_opendir, 0, 0, 2) ++ ZEND_ARG_INFO(0, state) ++ ZEND_ARG_TYPE_INFO(0, path, IS_STRING, 0) ++ZEND_END_ARG_INFO() ++ ++ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_smbclient_readdir, 0, 2, MAY_BE_FALSE|MAY_BE_ARRAY) ++ ZEND_ARG_INFO(0, state) ++ ZEND_ARG_INFO(0, dir) ++ZEND_END_ARG_INFO() ++ ++ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_smbclient_closedir, 0, 2, _IS_BOOL, 0) ++ ZEND_ARG_INFO(0, state) ++ ZEND_ARG_INFO(0, dir) ++ZEND_END_ARG_INFO() ++ ++ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_smbclient_stat, 0, 2, MAY_BE_FALSE|MAY_BE_ARRAY) ++ ZEND_ARG_INFO(0, state) ++ ZEND_ARG_TYPE_INFO(0, path, IS_STRING, 0) ++ZEND_END_ARG_INFO() ++ ++ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_smbclient_fstat, 0, 2, MAY_BE_FALSE|MAY_BE_ARRAY) ++ ZEND_ARG_INFO(0, state) ++ ZEND_ARG_INFO(0, file) ++ZEND_END_ARG_INFO() ++ ++ZEND_BEGIN_ARG_INFO_EX(arginfo_smbclient_open, 0, 0, 3) ++ ZEND_ARG_INFO(0, state) ++ ZEND_ARG_TYPE_INFO(0, path, IS_STRING, 0) ++ ZEND_ARG_TYPE_INFO(0, flags, IS_STRING, 0) ++ ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, mode, IS_LONG, 0, "0666") ++ZEND_END_ARG_INFO() ++ ++ZEND_BEGIN_ARG_INFO_EX(arginfo_smbclient_creat, 0, 0, 2) ++ ZEND_ARG_INFO(0, state) ++ ZEND_ARG_TYPE_INFO(0, path, IS_STRING, 0) ++ ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, mode, IS_LONG, 0, "0666") ++ZEND_END_ARG_INFO() ++ ++ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_smbclient_read, 0, 3, MAY_BE_FALSE|MAY_BE_STRING) ++ ZEND_ARG_INFO(0, state) ++ ZEND_ARG_INFO(0, file) ++ ZEND_ARG_TYPE_INFO(0, count, IS_LONG, 0) ++ZEND_END_ARG_INFO() ++ ++ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_smbclient_close, 0, 2, _IS_BOOL, 0) ++ ZEND_ARG_INFO(0, state) ++ ZEND_ARG_INFO(0, file) ++ZEND_END_ARG_INFO() ++ ++ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_smbclient_mkdir, 0, 2, _IS_BOOL, 0) ++ ZEND_ARG_INFO(0, state) ++ ZEND_ARG_TYPE_INFO(0, path, IS_STRING, 0) ++ ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, mode, IS_LONG, 0, "0666") ++ZEND_END_ARG_INFO() ++ ++ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_smbclient_rmdir, 0, 2, _IS_BOOL, 0) ++ ZEND_ARG_INFO(0, state) ++ ZEND_ARG_TYPE_INFO(0, path, IS_STRING, 0) ++ZEND_END_ARG_INFO() ++ ++ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_smbclient_rename, 0, 4, _IS_BOOL, 0) ++ ZEND_ARG_INFO(0, oldstate) ++ ZEND_ARG_TYPE_INFO(0, oldpath, IS_STRING, 0) ++ ZEND_ARG_INFO(0, newstate) ++ ZEND_ARG_TYPE_INFO(0, newpath, IS_STRING, 0) ++ZEND_END_ARG_INFO() ++ ++ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_smbclient_write, 0, 3, MAY_BE_FALSE|MAY_BE_LONG) ++ ZEND_ARG_INFO(0, state) ++ ZEND_ARG_INFO(0, file) ++ ZEND_ARG_TYPE_INFO(0, buffer, IS_STRING, 0) ++ ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, count, IS_LONG, 0, "0") ++ZEND_END_ARG_INFO() ++ ++#define arginfo_smbclient_unlink arginfo_smbclient_rmdir ++ ++ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_smbclient_lseek, 0, 4, MAY_BE_FALSE|MAY_BE_LONG) ++ ZEND_ARG_INFO(0, state) ++ ZEND_ARG_INFO(0, file) ++ ZEND_ARG_TYPE_INFO(0, offset, IS_LONG, 0) ++ ZEND_ARG_TYPE_INFO(0, whence, IS_LONG, 0) ++ZEND_END_ARG_INFO() ++ ++ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_smbclient_ftruncate, 0, 3, _IS_BOOL, 0) ++ ZEND_ARG_INFO(0, state) ++ ZEND_ARG_INFO(0, file) ++ ZEND_ARG_TYPE_INFO(0, offset, IS_LONG, 0) ++ZEND_END_ARG_INFO() ++ ++ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_smbclient_chmod, 0, 3, _IS_BOOL, 0) ++ ZEND_ARG_INFO(0, state) ++ ZEND_ARG_TYPE_INFO(0, path, IS_STRING, 0) ++ ZEND_ARG_TYPE_INFO(0, mode, IS_LONG, 0) ++ZEND_END_ARG_INFO() ++ ++ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_smbclient_utimes, 0, 2, _IS_BOOL, 0) ++ ZEND_ARG_INFO(0, state) ++ ZEND_ARG_TYPE_INFO(0, path, IS_STRING, 0) ++ ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, mtime, IS_LONG, 0, "-1") ++ ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, atime, IS_LONG, 0, "-1") ++ZEND_END_ARG_INFO() ++ ++#define arginfo_smbclient_listxattr arginfo_smbclient_stat ++ ++ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_smbclient_getxattr, 0, 3, MAY_BE_FALSE|MAY_BE_STRING) ++ ZEND_ARG_INFO(0, state) ++ ZEND_ARG_TYPE_INFO(0, path, IS_STRING, 0) ++ ZEND_ARG_TYPE_INFO(0, name, IS_STRING, 0) ++ZEND_END_ARG_INFO() ++ ++ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_smbclient_setxattr, 0, 4, MAY_BE_FALSE|MAY_BE_STRING) ++ ZEND_ARG_INFO(0, state) ++ ZEND_ARG_TYPE_INFO(0, path, IS_STRING, 0) ++ ZEND_ARG_TYPE_INFO(0, name, IS_STRING, 0) ++ ZEND_ARG_TYPE_INFO(0, value, IS_STRING, 0) ++ ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, flags, IS_LONG, 0, "0") ++ZEND_END_ARG_INFO() ++ ++ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_smbclient_removexattr, 0, 3, _IS_BOOL, 0) ++ ZEND_ARG_INFO(0, state) ++ ZEND_ARG_TYPE_INFO(0, path, IS_STRING, 0) ++ ZEND_ARG_TYPE_INFO(0, name, IS_STRING, 0) ++ZEND_END_ARG_INFO() ++ ++#define arginfo_smbclient_statvfs arginfo_smbclient_stat ++ ++#define arginfo_smbclient_fstatvfs arginfo_smbclient_fstat ++ ++ ++ZEND_FUNCTION(smbclient_version); ++ZEND_FUNCTION(smbclient_library_version); ++ZEND_FUNCTION(smbclient_state_new); ++ZEND_FUNCTION(smbclient_state_init); ++ZEND_FUNCTION(smbclient_state_errno); ++ZEND_FUNCTION(smbclient_state_free); ++ZEND_FUNCTION(smbclient_option_get); ++ZEND_FUNCTION(smbclient_option_set); ++#if HAVE_SMBC_SETOPTIONPROTOCOLS ++ZEND_FUNCTION(smbclient_client_protocols); ++#endif ++ZEND_FUNCTION(smbclient_opendir); ++ZEND_FUNCTION(smbclient_readdir); ++ZEND_FUNCTION(smbclient_closedir); ++ZEND_FUNCTION(smbclient_stat); ++ZEND_FUNCTION(smbclient_fstat); ++ZEND_FUNCTION(smbclient_open); ++ZEND_FUNCTION(smbclient_creat); ++ZEND_FUNCTION(smbclient_read); ++ZEND_FUNCTION(smbclient_close); ++ZEND_FUNCTION(smbclient_mkdir); ++ZEND_FUNCTION(smbclient_rmdir); ++ZEND_FUNCTION(smbclient_rename); ++ZEND_FUNCTION(smbclient_write); ++ZEND_FUNCTION(smbclient_unlink); ++ZEND_FUNCTION(smbclient_lseek); ++ZEND_FUNCTION(smbclient_ftruncate); ++ZEND_FUNCTION(smbclient_chmod); ++ZEND_FUNCTION(smbclient_utimes); ++ZEND_FUNCTION(smbclient_listxattr); ++ZEND_FUNCTION(smbclient_getxattr); ++ZEND_FUNCTION(smbclient_setxattr); ++ZEND_FUNCTION(smbclient_removexattr); ++ZEND_FUNCTION(smbclient_statvfs); ++ZEND_FUNCTION(smbclient_fstatvfs); ++ ++ ++static const zend_function_entry ext_functions[] = { ++ ZEND_FE(smbclient_version, arginfo_smbclient_version) ++ ZEND_FE(smbclient_library_version, arginfo_smbclient_library_version) ++ ZEND_FE(smbclient_state_new, arginfo_smbclient_state_new) ++ ZEND_FE(smbclient_state_init, arginfo_smbclient_state_init) ++ ZEND_FE(smbclient_state_errno, arginfo_smbclient_state_errno) ++ ZEND_FE(smbclient_state_free, arginfo_smbclient_state_free) ++ ZEND_FE(smbclient_option_get, arginfo_smbclient_option_get) ++ ZEND_FE(smbclient_option_set, arginfo_smbclient_option_set) ++#if HAVE_SMBC_SETOPTIONPROTOCOLS ++ ZEND_FE(smbclient_client_protocols, arginfo_smbclient_client_protocols) ++#endif ++ ZEND_FE(smbclient_opendir, arginfo_smbclient_opendir) ++ ZEND_FE(smbclient_readdir, arginfo_smbclient_readdir) ++ ZEND_FE(smbclient_closedir, arginfo_smbclient_closedir) ++ ZEND_FE(smbclient_stat, arginfo_smbclient_stat) ++ ZEND_FE(smbclient_fstat, arginfo_smbclient_fstat) ++ ZEND_FE(smbclient_open, arginfo_smbclient_open) ++ ZEND_FE(smbclient_creat, arginfo_smbclient_creat) ++ ZEND_FE(smbclient_read, arginfo_smbclient_read) ++ ZEND_FE(smbclient_close, arginfo_smbclient_close) ++ ZEND_FE(smbclient_mkdir, arginfo_smbclient_mkdir) ++ ZEND_FE(smbclient_rmdir, arginfo_smbclient_rmdir) ++ ZEND_FE(smbclient_rename, arginfo_smbclient_rename) ++ ZEND_FE(smbclient_write, arginfo_smbclient_write) ++ ZEND_FE(smbclient_unlink, arginfo_smbclient_unlink) ++ ZEND_FE(smbclient_lseek, arginfo_smbclient_lseek) ++ ZEND_FE(smbclient_ftruncate, arginfo_smbclient_ftruncate) ++ ZEND_FE(smbclient_chmod, arginfo_smbclient_chmod) ++ ZEND_FE(smbclient_utimes, arginfo_smbclient_utimes) ++ ZEND_FE(smbclient_listxattr, arginfo_smbclient_listxattr) ++ ZEND_FE(smbclient_getxattr, arginfo_smbclient_getxattr) ++ ZEND_FE(smbclient_setxattr, arginfo_smbclient_setxattr) ++ ZEND_FE(smbclient_removexattr, arginfo_smbclient_removexattr) ++ ZEND_FE(smbclient_statvfs, arginfo_smbclient_statvfs) ++ ZEND_FE(smbclient_fstatvfs, arginfo_smbclient_fstatvfs) ++ ZEND_FE_END ++}; +diff --git a/smbclient_legacy_arginfo.h b/smbclient_legacy_arginfo.h +new file mode 100644 +index 0000000..dd58e7a +--- /dev/null ++++ b/smbclient_legacy_arginfo.h +@@ -0,0 +1,226 @@ ++/* This is a generated file, edit the .stub.php file instead. ++ * Stub hash: 6abe27ac2cfb259cc835af1bafe32bb639c422b1 */ ++ ++ZEND_BEGIN_ARG_INFO_EX(arginfo_smbclient_version, 0, 0, 0) ++ZEND_END_ARG_INFO() ++ ++#define arginfo_smbclient_library_version arginfo_smbclient_version ++ ++#define arginfo_smbclient_state_new arginfo_smbclient_version ++ ++ZEND_BEGIN_ARG_INFO_EX(arginfo_smbclient_state_init, 0, 0, 1) ++ ZEND_ARG_INFO(0, state) ++ ZEND_ARG_INFO(0, workgroup) ++ ZEND_ARG_INFO(0, user) ++ ZEND_ARG_INFO(0, password) ++ZEND_END_ARG_INFO() ++ ++ZEND_BEGIN_ARG_INFO_EX(arginfo_smbclient_state_errno, 0, 0, 1) ++ ZEND_ARG_INFO(0, state) ++ZEND_END_ARG_INFO() ++ ++#define arginfo_smbclient_state_free arginfo_smbclient_state_errno ++ ++ZEND_BEGIN_ARG_INFO_EX(arginfo_smbclient_option_get, 0, 0, 2) ++ ZEND_ARG_INFO(0, state) ++ ZEND_ARG_INFO(0, option) ++ZEND_END_ARG_INFO() ++ ++ZEND_BEGIN_ARG_INFO_EX(arginfo_smbclient_option_set, 0, 0, 3) ++ ZEND_ARG_INFO(0, state) ++ ZEND_ARG_INFO(0, option) ++ ZEND_ARG_INFO(0, value) ++ZEND_END_ARG_INFO() ++ ++#if HAVE_SMBC_SETOPTIONPROTOCOLS ++ZEND_BEGIN_ARG_INFO_EX(arginfo_smbclient_client_protocols, 0, 0, 1) ++ ZEND_ARG_INFO(0, state) ++ ZEND_ARG_INFO(0, minproto) ++ ZEND_ARG_INFO(0, maxproto) ++ZEND_END_ARG_INFO() ++#endif ++ ++ZEND_BEGIN_ARG_INFO_EX(arginfo_smbclient_opendir, 0, 0, 2) ++ ZEND_ARG_INFO(0, state) ++ ZEND_ARG_INFO(0, path) ++ZEND_END_ARG_INFO() ++ ++ZEND_BEGIN_ARG_INFO_EX(arginfo_smbclient_readdir, 0, 0, 2) ++ ZEND_ARG_INFO(0, state) ++ ZEND_ARG_INFO(0, dir) ++ZEND_END_ARG_INFO() ++ ++#define arginfo_smbclient_closedir arginfo_smbclient_readdir ++ ++#define arginfo_smbclient_stat arginfo_smbclient_opendir ++ ++ZEND_BEGIN_ARG_INFO_EX(arginfo_smbclient_fstat, 0, 0, 2) ++ ZEND_ARG_INFO(0, state) ++ ZEND_ARG_INFO(0, file) ++ZEND_END_ARG_INFO() ++ ++ZEND_BEGIN_ARG_INFO_EX(arginfo_smbclient_open, 0, 0, 3) ++ ZEND_ARG_INFO(0, state) ++ ZEND_ARG_INFO(0, path) ++ ZEND_ARG_INFO(0, flags) ++ ZEND_ARG_INFO(0, mode) ++ZEND_END_ARG_INFO() ++ ++ZEND_BEGIN_ARG_INFO_EX(arginfo_smbclient_creat, 0, 0, 2) ++ ZEND_ARG_INFO(0, state) ++ ZEND_ARG_INFO(0, path) ++ ZEND_ARG_INFO(0, mode) ++ZEND_END_ARG_INFO() ++ ++ZEND_BEGIN_ARG_INFO_EX(arginfo_smbclient_read, 0, 0, 3) ++ ZEND_ARG_INFO(0, state) ++ ZEND_ARG_INFO(0, file) ++ ZEND_ARG_INFO(0, count) ++ZEND_END_ARG_INFO() ++ ++#define arginfo_smbclient_close arginfo_smbclient_fstat ++ ++#define arginfo_smbclient_mkdir arginfo_smbclient_creat ++ ++#define arginfo_smbclient_rmdir arginfo_smbclient_opendir ++ ++ZEND_BEGIN_ARG_INFO_EX(arginfo_smbclient_rename, 0, 0, 4) ++ ZEND_ARG_INFO(0, oldstate) ++ ZEND_ARG_INFO(0, oldpath) ++ ZEND_ARG_INFO(0, newstate) ++ ZEND_ARG_INFO(0, newpath) ++ZEND_END_ARG_INFO() ++ ++ZEND_BEGIN_ARG_INFO_EX(arginfo_smbclient_write, 0, 0, 3) ++ ZEND_ARG_INFO(0, state) ++ ZEND_ARG_INFO(0, file) ++ ZEND_ARG_INFO(0, buffer) ++ ZEND_ARG_INFO(0, count) ++ZEND_END_ARG_INFO() ++ ++#define arginfo_smbclient_unlink arginfo_smbclient_opendir ++ ++ZEND_BEGIN_ARG_INFO_EX(arginfo_smbclient_lseek, 0, 0, 4) ++ ZEND_ARG_INFO(0, state) ++ ZEND_ARG_INFO(0, file) ++ ZEND_ARG_INFO(0, offset) ++ ZEND_ARG_INFO(0, whence) ++ZEND_END_ARG_INFO() ++ ++ZEND_BEGIN_ARG_INFO_EX(arginfo_smbclient_ftruncate, 0, 0, 3) ++ ZEND_ARG_INFO(0, state) ++ ZEND_ARG_INFO(0, file) ++ ZEND_ARG_INFO(0, offset) ++ZEND_END_ARG_INFO() ++ ++ZEND_BEGIN_ARG_INFO_EX(arginfo_smbclient_chmod, 0, 0, 3) ++ ZEND_ARG_INFO(0, state) ++ ZEND_ARG_INFO(0, path) ++ ZEND_ARG_INFO(0, mode) ++ZEND_END_ARG_INFO() ++ ++ZEND_BEGIN_ARG_INFO_EX(arginfo_smbclient_utimes, 0, 0, 2) ++ ZEND_ARG_INFO(0, state) ++ ZEND_ARG_INFO(0, path) ++ ZEND_ARG_INFO(0, mtime) ++ ZEND_ARG_INFO(0, atime) ++ZEND_END_ARG_INFO() ++ ++#define arginfo_smbclient_listxattr arginfo_smbclient_opendir ++ ++ZEND_BEGIN_ARG_INFO_EX(arginfo_smbclient_getxattr, 0, 0, 3) ++ ZEND_ARG_INFO(0, state) ++ ZEND_ARG_INFO(0, path) ++ ZEND_ARG_INFO(0, name) ++ZEND_END_ARG_INFO() ++ ++ZEND_BEGIN_ARG_INFO_EX(arginfo_smbclient_setxattr, 0, 0, 4) ++ ZEND_ARG_INFO(0, state) ++ ZEND_ARG_INFO(0, path) ++ ZEND_ARG_INFO(0, name) ++ ZEND_ARG_INFO(0, value) ++ ZEND_ARG_INFO(0, flags) ++ZEND_END_ARG_INFO() ++ ++#define arginfo_smbclient_removexattr arginfo_smbclient_getxattr ++ ++#define arginfo_smbclient_statvfs arginfo_smbclient_opendir ++ ++#define arginfo_smbclient_fstatvfs arginfo_smbclient_fstat ++ ++ ++ZEND_FUNCTION(smbclient_version); ++ZEND_FUNCTION(smbclient_library_version); ++ZEND_FUNCTION(smbclient_state_new); ++ZEND_FUNCTION(smbclient_state_init); ++ZEND_FUNCTION(smbclient_state_errno); ++ZEND_FUNCTION(smbclient_state_free); ++ZEND_FUNCTION(smbclient_option_get); ++ZEND_FUNCTION(smbclient_option_set); ++#if HAVE_SMBC_SETOPTIONPROTOCOLS ++ZEND_FUNCTION(smbclient_client_protocols); ++#endif ++ZEND_FUNCTION(smbclient_opendir); ++ZEND_FUNCTION(smbclient_readdir); ++ZEND_FUNCTION(smbclient_closedir); ++ZEND_FUNCTION(smbclient_stat); ++ZEND_FUNCTION(smbclient_fstat); ++ZEND_FUNCTION(smbclient_open); ++ZEND_FUNCTION(smbclient_creat); ++ZEND_FUNCTION(smbclient_read); ++ZEND_FUNCTION(smbclient_close); ++ZEND_FUNCTION(smbclient_mkdir); ++ZEND_FUNCTION(smbclient_rmdir); ++ZEND_FUNCTION(smbclient_rename); ++ZEND_FUNCTION(smbclient_write); ++ZEND_FUNCTION(smbclient_unlink); ++ZEND_FUNCTION(smbclient_lseek); ++ZEND_FUNCTION(smbclient_ftruncate); ++ZEND_FUNCTION(smbclient_chmod); ++ZEND_FUNCTION(smbclient_utimes); ++ZEND_FUNCTION(smbclient_listxattr); ++ZEND_FUNCTION(smbclient_getxattr); ++ZEND_FUNCTION(smbclient_setxattr); ++ZEND_FUNCTION(smbclient_removexattr); ++ZEND_FUNCTION(smbclient_statvfs); ++ZEND_FUNCTION(smbclient_fstatvfs); ++ ++ ++static const zend_function_entry ext_functions[] = { ++ ZEND_FE(smbclient_version, arginfo_smbclient_version) ++ ZEND_FE(smbclient_library_version, arginfo_smbclient_library_version) ++ ZEND_FE(smbclient_state_new, arginfo_smbclient_state_new) ++ ZEND_FE(smbclient_state_init, arginfo_smbclient_state_init) ++ ZEND_FE(smbclient_state_errno, arginfo_smbclient_state_errno) ++ ZEND_FE(smbclient_state_free, arginfo_smbclient_state_free) ++ ZEND_FE(smbclient_option_get, arginfo_smbclient_option_get) ++ ZEND_FE(smbclient_option_set, arginfo_smbclient_option_set) ++#if HAVE_SMBC_SETOPTIONPROTOCOLS ++ ZEND_FE(smbclient_client_protocols, arginfo_smbclient_client_protocols) ++#endif ++ ZEND_FE(smbclient_opendir, arginfo_smbclient_opendir) ++ ZEND_FE(smbclient_readdir, arginfo_smbclient_readdir) ++ ZEND_FE(smbclient_closedir, arginfo_smbclient_closedir) ++ ZEND_FE(smbclient_stat, arginfo_smbclient_stat) ++ ZEND_FE(smbclient_fstat, arginfo_smbclient_fstat) ++ ZEND_FE(smbclient_open, arginfo_smbclient_open) ++ ZEND_FE(smbclient_creat, arginfo_smbclient_creat) ++ ZEND_FE(smbclient_read, arginfo_smbclient_read) ++ ZEND_FE(smbclient_close, arginfo_smbclient_close) ++ ZEND_FE(smbclient_mkdir, arginfo_smbclient_mkdir) ++ ZEND_FE(smbclient_rmdir, arginfo_smbclient_rmdir) ++ ZEND_FE(smbclient_rename, arginfo_smbclient_rename) ++ ZEND_FE(smbclient_write, arginfo_smbclient_write) ++ ZEND_FE(smbclient_unlink, arginfo_smbclient_unlink) ++ ZEND_FE(smbclient_lseek, arginfo_smbclient_lseek) ++ ZEND_FE(smbclient_ftruncate, arginfo_smbclient_ftruncate) ++ ZEND_FE(smbclient_chmod, arginfo_smbclient_chmod) ++ ZEND_FE(smbclient_utimes, arginfo_smbclient_utimes) ++ ZEND_FE(smbclient_listxattr, arginfo_smbclient_listxattr) ++ ZEND_FE(smbclient_getxattr, arginfo_smbclient_getxattr) ++ ZEND_FE(smbclient_setxattr, arginfo_smbclient_setxattr) ++ ZEND_FE(smbclient_removexattr, arginfo_smbclient_removexattr) ++ ZEND_FE(smbclient_statvfs, arginfo_smbclient_statvfs) ++ ZEND_FE(smbclient_fstatvfs, arginfo_smbclient_fstatvfs) ++ ZEND_FE_END ++}; |