]> granicus.if.org Git - php/commitdiff
Added arginfo stubs for sysvmsg
authorStephen Reay <stephen.reay@me.com>
Sun, 11 Aug 2019 17:42:26 +0000 (00:42 +0700)
committerNikita Popov <nikita.ppv@gmail.com>
Mon, 12 Aug 2019 08:28:52 +0000 (10:28 +0200)
Closes GH-4522.

ext/sysvmsg/sysvmsg.c
ext/sysvmsg/sysvmsg.stub.php [new file with mode: 0644]
ext/sysvmsg/sysvmsg_arginfo.h [new file with mode: 0644]

index d113ef56d53f19e7b618d0356f02d42e2ab05059..7abe042e6142c4f9aa4382e21af4633fd4e8aac9 100644 (file)
@@ -24,6 +24,7 @@
 #include "php_globals.h"
 #include "ext/standard/info.h"
 #include "php_sysvmsg.h"
+#include "sysvmsg_arginfo.h"
 #include "ext/standard/php_var.h"
 #include "zend_smart_str.h"
 
@@ -62,50 +63,6 @@ struct php_msgbuf {
 /* True global resources - no need for thread safety here */
 static int le_sysvmsg;
 
-/* {{{ arginfo */
-ZEND_BEGIN_ARG_INFO_EX(arginfo_msg_get_queue, 0, 0, 1)
-       ZEND_ARG_INFO(0, key)
-       ZEND_ARG_INFO(0, perms)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_msg_send, 0, 0, 3)
-       ZEND_ARG_INFO(0, queue)
-       ZEND_ARG_INFO(0, msgtype)
-       ZEND_ARG_INFO(0, message)
-       ZEND_ARG_INFO(0, serialize)
-       ZEND_ARG_INFO(0, blocking)
-       ZEND_ARG_INFO(1, errorcode)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_msg_receive, 0, 0, 5)
-       ZEND_ARG_INFO(0, queue)
-       ZEND_ARG_INFO(0, desiredmsgtype)
-       ZEND_ARG_INFO(1, msgtype)
-       ZEND_ARG_INFO(0, maxsize)
-       ZEND_ARG_INFO(1, message)
-       ZEND_ARG_INFO(0, unserialize)
-       ZEND_ARG_INFO(0, flags)
-       ZEND_ARG_INFO(1, errorcode)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_msg_remove_queue, 0, 0, 1)
-       ZEND_ARG_INFO(0, queue)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_msg_stat_queue, 0, 0, 1)
-       ZEND_ARG_INFO(0, queue)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_msg_set_queue, 0, 0, 2)
-       ZEND_ARG_INFO(0, queue)
-       ZEND_ARG_INFO(0, data)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO_EX(arginfo_msg_queue_exists, 0, 0, 1)
-       ZEND_ARG_INFO(0, key)
-ZEND_END_ARG_INFO()
-/* }}} */
-
 /* {{{ sysvmsg_functions[]
  *
  * Every user visible function must have an entry in sysvmsg_functions[].
diff --git a/ext/sysvmsg/sysvmsg.stub.php b/ext/sysvmsg/sysvmsg.stub.php
new file mode 100644 (file)
index 0000000..a85090d
--- /dev/null
@@ -0,0 +1,32 @@
+<?php
+
+/** @return resource|false */
+function msg_get_queue(int $key, int $perms = 0666) {}
+
+/**
+ * @param resource $queue
+ */
+function msg_send($queue, int $msgtype, $message, bool $serialize = true, bool $blocking = true, &$errorcode = null): bool {}
+
+/**
+ * @param resource $queue
+ */
+function msg_receive($queue, int $desiredmsgtype, &$msgtype, int $maxsize, &$message, bool $unserialize = true, int $flags = 0, &$errorcode = null): bool {}
+
+/**
+ * @param resource $queue
+ */
+function msg_remove_queue($queue): bool {}
+
+/**
+ * @param resource $queue
+ * @return array|false
+ */
+function msg_stat_queue($queue) {}
+
+/**
+ * @param resource $queue
+ */
+function msg_set_queue($queue, array $data): bool {}
+
+function msg_queue_exists(int $key): bool {}
diff --git a/ext/sysvmsg/sysvmsg_arginfo.h b/ext/sysvmsg/sysvmsg_arginfo.h
new file mode 100644 (file)
index 0000000..05616cf
--- /dev/null
@@ -0,0 +1,43 @@
+/* This is a generated file, edit the .stub.php file instead. */
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_msg_get_queue, 0, 0, 1)
+       ZEND_ARG_TYPE_INFO(0, key, IS_LONG, 0)
+       ZEND_ARG_TYPE_INFO(0, perms, IS_LONG, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_msg_send, 0, 3, _IS_BOOL, 0)
+       ZEND_ARG_INFO(0, queue)
+       ZEND_ARG_TYPE_INFO(0, msgtype, IS_LONG, 0)
+       ZEND_ARG_INFO(0, message)
+       ZEND_ARG_TYPE_INFO(0, serialize, _IS_BOOL, 0)
+       ZEND_ARG_TYPE_INFO(0, blocking, _IS_BOOL, 0)
+       ZEND_ARG_INFO(1, errorcode)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_msg_receive, 0, 5, _IS_BOOL, 0)
+       ZEND_ARG_INFO(0, queue)
+       ZEND_ARG_TYPE_INFO(0, desiredmsgtype, IS_LONG, 0)
+       ZEND_ARG_INFO(1, msgtype)
+       ZEND_ARG_TYPE_INFO(0, maxsize, IS_LONG, 0)
+       ZEND_ARG_INFO(1, message)
+       ZEND_ARG_TYPE_INFO(0, unserialize, _IS_BOOL, 0)
+       ZEND_ARG_TYPE_INFO(0, flags, IS_LONG, 0)
+       ZEND_ARG_INFO(1, errorcode)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_msg_remove_queue, 0, 1, _IS_BOOL, 0)
+       ZEND_ARG_INFO(0, queue)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_msg_stat_queue, 0, 0, 1)
+       ZEND_ARG_INFO(0, queue)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_msg_set_queue, 0, 2, _IS_BOOL, 0)
+       ZEND_ARG_INFO(0, queue)
+       ZEND_ARG_TYPE_INFO(0, data, IS_ARRAY, 0)
+ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_msg_queue_exists, 0, 1, _IS_BOOL, 0)
+       ZEND_ARG_TYPE_INFO(0, key, IS_LONG, 0)
+ZEND_END_ARG_INFO()