]> granicus.if.org Git - php/commitdiff
Added arginfo stubs for svsvshm
authorStephen Reay <stephen.reay@me.com>
Sun, 11 Aug 2019 18:09:38 +0000 (01:09 +0700)
committerNikita Popov <nikita.ppv@gmail.com>
Mon, 12 Aug 2019 08:05:36 +0000 (10:05 +0200)
Closes GH-4524.

ext/sysvshm/sysvshm.c
ext/sysvshm/sysvshm.stub.php [new file with mode: 0644]
ext/sysvshm/sysvshm_arginfo.h [new file with mode: 0644]

index 6526efa250eee09e05a6dd58fbacd34c4c33d93b..040c9791090d7e209c2ac7c68057d4741ae74edb 100644 (file)
 #include <errno.h>
 
 #include "php_sysvshm.h"
+#include "sysvshm_arginfo.h"
 #include "ext/standard/info.h"
 #include "ext/standard/php_var.h"
 #include "zend_smart_str.h"
 #include "php_ini.h"
 
-/* {{{ arginfo */
-ZEND_BEGIN_ARG_INFO_EX(arginfo_shm_attach, 0, 0, 1)
-       ZEND_ARG_INFO(0, key)
-       ZEND_ARG_INFO(0, memsize)
-       ZEND_ARG_INFO(0, perm)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_shm_detach, 0, 0, 1)
-       ZEND_ARG_INFO(0, shm_identifier)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_shm_has_var, 0, 0, 2)
-       ZEND_ARG_INFO(0, id)
-       ZEND_ARG_INFO(0, variable_key)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_shm_remove, 0, 0, 1)
-       ZEND_ARG_INFO(0, shm_identifier)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_shm_put_var, 0, 0, 3)
-       ZEND_ARG_INFO(0, shm_identifier)
-       ZEND_ARG_INFO(0, variable_key)
-       ZEND_ARG_INFO(0, variable)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_shm_get_var, 0, 0, 2)
-       ZEND_ARG_INFO(0, id)
-       ZEND_ARG_INFO(0, variable_key)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_shm_remove_var, 0, 0, 2)
-       ZEND_ARG_INFO(0, id)
-       ZEND_ARG_INFO(0, variable_key)
-ZEND_END_ARG_INFO()
-/* }}} */
-
 /* {{{ sysvshm_functions[]
  */
 static const zend_function_entry sysvshm_functions[] = {
diff --git a/ext/sysvshm/sysvshm.stub.php b/ext/sysvshm/sysvshm.stub.php
new file mode 100644 (file)
index 0000000..673f9c6
--- /dev/null
@@ -0,0 +1,35 @@
+<?php
+
+/** @return resource|false */
+function shm_attach(int $key, int $memsize = UNKNOWN, int $perm = 0666) {}
+
+/**
+ * @param resource $shm_identifier
+ */
+function shm_detach($shm_identifier): bool {}
+
+/**
+ * @param resource $id
+ */
+function shm_has_var($id, int $variable_key): bool {}
+
+/**
+ * @param resource $shm_identifier
+ */
+function shm_remove($shm_identifier): bool {}
+
+/**
+ * @param resource $shm_identifier
+ */
+function shm_put_var($shm_identifier, int $variable_key, $variable): bool {}
+
+/**
+ * @param resource $id
+ * @return mixed
+ */
+function shm_get_var($id, int $variable_key) {}
+
+/**
+ * @param resource $id
+ */
+function shm_remove_var($id, int $variable_key): bool {}
diff --git a/ext/sysvshm/sysvshm_arginfo.h b/ext/sysvshm/sysvshm_arginfo.h
new file mode 100644 (file)
index 0000000..dd00aa6
--- /dev/null
@@ -0,0 +1,31 @@
+/* This is a generated file, edit the .stub.php file instead. */
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_shm_attach, 0, 0, 1)
+       ZEND_ARG_TYPE_INFO(0, key, IS_LONG, 0)
+       ZEND_ARG_TYPE_INFO(0, memsize, IS_LONG, 0)
+       ZEND_ARG_TYPE_INFO(0, perm, IS_LONG, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_shm_detach, 0, 1, _IS_BOOL, 0)
+       ZEND_ARG_INFO(0, shm_identifier)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_shm_has_var, 0, 2, _IS_BOOL, 0)
+       ZEND_ARG_INFO(0, id)
+       ZEND_ARG_TYPE_INFO(0, variable_key, IS_LONG, 0)
+ZEND_END_ARG_INFO()
+
+#define arginfo_shm_remove arginfo_shm_detach
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_shm_put_var, 0, 3, _IS_BOOL, 0)
+       ZEND_ARG_INFO(0, shm_identifier)
+       ZEND_ARG_TYPE_INFO(0, variable_key, IS_LONG, 0)
+       ZEND_ARG_INFO(0, variable)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_shm_get_var, 0, 0, 2)
+       ZEND_ARG_INFO(0, id)
+       ZEND_ARG_TYPE_INFO(0, variable_key, IS_LONG, 0)
+ZEND_END_ARG_INFO()
+
+#define arginfo_shm_remove_var arginfo_shm_has_var