]> granicus.if.org Git - php/commitdiff
Add ext/dba stubs
authorChristoph M. Becker <cmbecker69@gmx.de>
Wed, 18 Sep 2019 15:54:25 +0000 (17:54 +0200)
committerChristoph M. Becker <cmbecker69@gmx.de>
Sun, 22 Sep 2019 11:58:30 +0000 (13:58 +0200)
ext/dba/dba.c
ext/dba/dba.stub.php [new file with mode: 0644]
ext/dba/dba_arginfo.h [new file with mode: 0644]

index a211f190c974e30d53acd6dbab3ac51a57eae080..91e94399c3f98ad7b375d5ab6d2c17e0cee437b2 100644 (file)
 #include "php_qdbm.h"
 #include "php_tcadb.h"
 #include "php_lmdb.h"
-
-/* {{{ arginfo */
-ZEND_BEGIN_ARG_INFO_EX(arginfo_dba_popen, 0, 0, 2)
-       ZEND_ARG_INFO(0, path)
-       ZEND_ARG_INFO(0, mode)
-       ZEND_ARG_INFO(0, handlername)
-       ZEND_ARG_VARIADIC_INFO(0, handler_parameters)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_dba_open, 0, 0, 2)
-       ZEND_ARG_INFO(0, path)
-       ZEND_ARG_INFO(0, mode)
-       ZEND_ARG_INFO(0, handlername)
-       ZEND_ARG_VARIADIC_INFO(0, handler_parameters)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO(arginfo_dba_close, 0)
-       ZEND_ARG_INFO(0, handle)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO(arginfo_dba_exists, 0)
-       ZEND_ARG_INFO(0, key)
-       ZEND_ARG_INFO(0, handle)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_dba_fetch, 0, 0, 2)
-       ZEND_ARG_INFO(0, key)
-       ZEND_ARG_INFO(0, skip)
-       ZEND_ARG_INFO(0, handle)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO(arginfo_dba_key_split, 0)
-       ZEND_ARG_INFO(0, key)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO(arginfo_dba_firstkey, 0)
-       ZEND_ARG_INFO(0, handle)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO(arginfo_dba_nextkey, 0)
-       ZEND_ARG_INFO(0, handle)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO(arginfo_dba_delete, 0)
-       ZEND_ARG_INFO(0, key)
-       ZEND_ARG_INFO(0, handle)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO(arginfo_dba_insert, 0)
-       ZEND_ARG_INFO(0, key)
-       ZEND_ARG_INFO(0, value)
-       ZEND_ARG_INFO(0, handle)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO(arginfo_dba_replace, 0)
-       ZEND_ARG_INFO(0, key)
-       ZEND_ARG_INFO(0, value)
-       ZEND_ARG_INFO(0, handle)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO(arginfo_dba_optimize, 0)
-       ZEND_ARG_INFO(0, handle)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO(arginfo_dba_sync, 0)
-       ZEND_ARG_INFO(0, handle)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_dba_handlers, 0, 0, 0)
-       ZEND_ARG_INFO(0, full_info)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO(arginfo_dba_list, 0)
-ZEND_END_ARG_INFO()
-
-/* }}} */
+#include "dba_arginfo.h"
 
 /* {{{ dba_functions[]
  */
diff --git a/ext/dba/dba.stub.php b/ext/dba/dba.stub.php
new file mode 100644 (file)
index 0000000..80b8225
--- /dev/null
@@ -0,0 +1,67 @@
+<?php
+
+/** @return resource|false */
+function dba_popen($path, $mode, $handlername = UNKNOWN, ...$handler_parameters) {}
+
+/** @return resource|false */
+function dba_open($path, $mode, $handlername = UNKNOWN, ...$handler_parameters) {}
+
+/** @param resource $handle */
+function dba_close($handle): void {}
+
+/**
+ * @param string|array $key
+ * @param resource $handle
+ */
+function dba_exists($key, $handle): bool {}
+
+/**
+ * @param string|array $key
+ * @param int|resource $skip actually this parameter is optional, not $handle
+ * @param resource $handle
+ * @return string|false
+ */
+function dba_fetch($key, $skip, $handle = UNKOWN) {}
+
+/** @return array|false */
+function dba_key_split(string $key) {}
+
+/**
+ * @param resource $handle
+ * @return string|false
+ */
+function dba_firstkey($handle) {}
+
+/**
+ * @param resource $handle
+ * @return string|false
+ */
+function dba_nextkey($handle) {}
+
+/**
+ * @param string|array $key
+ * @param resource $handle
+ */
+function dba_delete($key, $handle): bool {}
+
+/**
+ * @param string|array $key
+ * @param resource $handle
+ */
+function dba_insert($key, string $value, $handle): bool {}
+
+/**
+ * @param string|array $key
+ * @param resource $handle
+ */
+function dba_replace($key, string $value, $handle): bool {}
+
+/** @param resource $handle */
+function dba_optimize($handle): bool {}
+
+/** @param resource $handle */
+function dba_sync($handle): bool {}
+
+function dba_handlers(bool $full_info = false): array {}
+
+function dba_list(): array {}
diff --git a/ext/dba/dba_arginfo.h b/ext/dba/dba_arginfo.h
new file mode 100644 (file)
index 0000000..d5ac068
--- /dev/null
@@ -0,0 +1,58 @@
+/* This is a generated file, edit the .stub.php file instead. */
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_dba_popen, 0, 0, 2)
+       ZEND_ARG_INFO(0, path)
+       ZEND_ARG_INFO(0, mode)
+       ZEND_ARG_INFO(0, handlername)
+       ZEND_ARG_VARIADIC_INFO(0, handler_parameters)
+ZEND_END_ARG_INFO()
+
+#define arginfo_dba_open arginfo_dba_popen
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_dba_close, 0, 1, IS_VOID, 0)
+       ZEND_ARG_INFO(0, handle)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_dba_exists, 0, 2, _IS_BOOL, 0)
+       ZEND_ARG_INFO(0, key)
+       ZEND_ARG_INFO(0, handle)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_dba_fetch, 0, 0, 2)
+       ZEND_ARG_INFO(0, key)
+       ZEND_ARG_INFO(0, skip)
+       ZEND_ARG_INFO(0, handle)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_dba_key_split, 0, 0, 1)
+       ZEND_ARG_TYPE_INFO(0, key, IS_STRING, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_dba_firstkey, 0, 0, 1)
+       ZEND_ARG_INFO(0, handle)
+ZEND_END_ARG_INFO()
+
+#define arginfo_dba_nextkey arginfo_dba_firstkey
+
+#define arginfo_dba_delete arginfo_dba_exists
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_dba_insert, 0, 3, _IS_BOOL, 0)
+       ZEND_ARG_INFO(0, key)
+       ZEND_ARG_TYPE_INFO(0, value, IS_STRING, 0)
+       ZEND_ARG_INFO(0, handle)
+ZEND_END_ARG_INFO()
+
+#define arginfo_dba_replace arginfo_dba_insert
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_dba_optimize, 0, 1, _IS_BOOL, 0)
+       ZEND_ARG_INFO(0, handle)
+ZEND_END_ARG_INFO()
+
+#define arginfo_dba_sync arginfo_dba_optimize
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_dba_handlers, 0, 0, IS_ARRAY, 0)
+       ZEND_ARG_TYPE_INFO(0, full_info, _IS_BOOL, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_dba_list, 0, 0, IS_ARRAY, 0)
+ZEND_END_ARG_INFO()