summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--PHPINFO4
-rw-r--r--REFLECTION2
-rw-r--r--php-smbclient.spec51
-rw-r--r--smbclient-stub.patch881
4 files changed, 22 insertions, 916 deletions
diff --git a/PHPINFO b/PHPINFO
index d4bae84..737438a 100644
--- a/PHPINFO
+++ b/PHPINFO
@@ -2,5 +2,5 @@
smbclient
smbclient Support => enabled
-smbclient extension Version => 1.0.6
-libsmbclient library Version => 4.15.5
+smbclient extension Version => 1.1.0
+libsmbclient library Version => 4.17.6
diff --git a/REFLECTION b/REFLECTION
index 5742b34..610c54d 100644
--- a/REFLECTION
+++ b/REFLECTION
@@ -1,4 +1,4 @@
-Extension [ <persistent> extension #120 smbclient version 1.0.6 ] {
+Extension [ <persistent> extension #122 smbclient version 1.1.0 ] {
- Constants [30] {
Constant [ int SMBCLIENT_XATTR_CREATE ] { 1 }
diff --git a/php-smbclient.spec b/php-smbclient.spec
index 6a7fcde..8c55e6b 100644
--- a/php-smbclient.spec
+++ b/php-smbclient.spec
@@ -1,7 +1,7 @@
# remirepo spec file for php-smbclient
#
-# Copyright (c) 2015-2022 Remi Collet
-# License: CC-BY-SA
+# Copyright (c) 2015-2023 Remi Collet
+# License: CC-BY-SA-4.0
# http://creativecommons.org/licenses/by-sa/4.0/
#
# Please, preserve the changelog entries
@@ -11,7 +11,6 @@
%if 0%{?scl:1}
-%global sub_prefix %{scl_prefix}
%scl_package php-smbclient
%else
%global pkg_name %{name}
@@ -32,36 +31,35 @@
%global ini_name 40-%{pecl_name}.ini
%endif
# Test suite requires a Samba server and configuration file
-%global with_tests 0%{?_with_tests:1}
+%bcond_with tests
-Name: %{?sub_prefix}php-smbclient
-Version: 1.0.6
+
+Name: %{?scl_prefix}php-smbclient
+Version: 1.1.0
%if 0%{?gh_date}
Release: 0.9.%{gh_date}git%{gh_short}%{?dist}%{!?scl:%{!?nophptag:%(%{__php} -r 'echo ".".PHP_MAJOR_VERSION.".".PHP_MINOR_VERSION;')}}
%else
-Release: 6%{?dist}%{!?scl:%{!?nophptag:%(%{__php} -r 'echo ".".PHP_MAJOR_VERSION.".".PHP_MINOR_VERSION;')}}
+Release: 1%{?dist}%{!?scl:%{!?nophptag:%(%{__php} -r 'echo ".".PHP_MAJOR_VERSION.".".PHP_MINOR_VERSION;')}}
%endif
Summary: PHP wrapper for libsmbclient
-License: BSD
+License: BSD-2-Clause
URL: https://github.com/eduardok/libsmbclient-php
%if 0%{?gh_date}
Source0: https://github.com/%{gh_owner}/%{gh_project}/archive/%{gh_commit}/%{pecl_name}-%{version}-%{gh_short}.tar.gz
%else
Source0: https://pecl.php.net/get/%{pecl_name}-%{version}%{?prever}.tgz
%endif
-%if %{with_tests}
+%if %{with tests}
Source2: %{pecl_name}-phpunit.xml
%endif
-Patch0: %{pecl_name}-stub.patch
-
BuildRequires: %{?dtsprefix}gcc
BuildRequires: %{?scl_prefix}php-devel
BuildRequires: %{?scl_prefix}php-pear
BuildRequires: libsmbclient-devel > 3.6
-%if %{with_tests}
+%if %{with tests}
BuildRequires: php-composer(phpunit/phpunit)
BuildRequires: samba
%endif
@@ -70,20 +68,16 @@ Requires: %{?scl_prefix}php(zend-abi) = %{php_zend_api}
Requires: %{?scl_prefix}php(api) = %{php_core_api}
%{?_sclreq:Requires: %{?scl_prefix}runtime%{?_sclreq}%{?_isa}}
# Rename
-Obsoletes: %{?sub_prefix}php-libsmbclient < 0.8.0-0.2
-Provides: %{?sub_prefix}php-libsmbclient = %{version}-%{release}
-Provides: %{?sub_prefix}php-libsmbclient%{?_isa} = %{version}-%{release}
-%if "%{?scl_prefix}" != "%{?sub_prefix}"
-Provides: %{?scl_prefix}php-%{pecl_name} = %{version}-%{release}
-Provides: %{?scl_prefix}php-%{pecl_name}%{?_isa} = %{version}-%{release}
-%endif
+Obsoletes: %{?scl_prefix}php-libsmbclient < 0.8.0-0.2
+Provides: %{?scl_prefix}php-libsmbclient = %{version}-%{release}
+Provides: %{?scl_prefix}php-libsmbclient%{?_isa} = %{version}-%{release}
# PECL
Provides: %{?scl_prefix}php-pecl-%{pecl_name} = %{version}-%{release}
Provides: %{?scl_prefix}php-pecl-%{pecl_name}%{?_isa} = %{version}-%{release}
Provides: %{?scl_prefix}php-pecl(%{pecl_name}) = %{version}
Provides: %{?scl_prefix}php-pecl(%{pecl_name})%{?_isa} = %{version}
-%if "%{?packager}" == "Remi Collet" && 0%{!?scl:1} && 0%{?rhel}
+%if "%{?packager}" == "Remi Collet" && 0%{!?scl:1} && 0%{?rhel} == 7
# Other third party repo stuff
%if "%{php_version}" > "7.0"
Obsoletes: php70u-pecl-%{pecl_name} <= %{version}
@@ -97,15 +91,6 @@ Obsoletes: php72u-pecl-%{pecl_name} <= %{version}
%if "%{php_version}" > "7.3"
Obsoletes: php73-pecl-%{pecl_name} <= %{version}
%endif
-%if "%{php_version}" > "7.4"
-Obsoletes: php74-pecl-%{pecl_name} <= %{version}
-%endif
-%if "%{php_version}" > "8.0"
-Obsoletes: php80-pecl-%{pecl_name} <= %{version}
-%endif
-%if "%{php_version}" > "8.1"
-Obsoletes: php81-pecl-%{pecl_name} <= %{version}
-%endif
%endif
@@ -132,8 +117,6 @@ sed -e 's/role="test"/role="src"/' \
-i package.xml
cd NTS
-%patch0 -p1
-
# Check extension version
ver=$(sed -n '/define PHP_SMBCLIENT_VERSION/{s/.* "//;s/".*$//;p}' php_smbclient.h)
if test "$ver" != "%{version}%{?prever}%{?gh_date:-dev}"; then
@@ -205,7 +188,7 @@ done
--modules | grep '^%{pecl_name}$'
%endif
-%if %{with_tests}
+%if %{with tests}
: Upstream test suite for NTS extension
cd NTS
cp %{SOURCE2} phpunit.xml
@@ -251,6 +234,10 @@ fi
%changelog
+* Mon Apr 3 2023 Remi Collet <remi@remirepo.net> - 1.1.0-1
+- update to 1.1.0
+- drop patch merged upstream
+
* Mon Feb 7 2022 Remi Collet <remi@remirepo.net> - 1.0.6-6
- add fix from https://github.com/eduardok/libsmbclient-php/pull/94
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
-+};