summaryrefslogtreecommitdiffstats
path: root/smbclient-stub.patch
diff options
context:
space:
mode:
Diffstat (limited to 'smbclient-stub.patch')
-rw-r--r--smbclient-stub.patch881
1 files changed, 0 insertions, 881 deletions
diff --git a/smbclient-stub.patch b/smbclient-stub.patch
deleted file mode 100644
index 571ad1f..0000000
--- a/smbclient-stub.patch
+++ /dev/null
@@ -1,881 +0,0 @@
-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
-+};