summaryrefslogtreecommitdiff
path: root/ext/sysvmsg/sysvmsg.c
diff options
context:
space:
mode:
Diffstat (limited to 'ext/sysvmsg/sysvmsg.c')
-rw-r--r--ext/sysvmsg/sysvmsg.c30
1 files changed, 30 insertions, 0 deletions
diff --git a/ext/sysvmsg/sysvmsg.c b/ext/sysvmsg/sysvmsg.c
index 6384ace349..416d5c4594 100644
--- a/ext/sysvmsg/sysvmsg.c
+++ b/ext/sysvmsg/sysvmsg.c
@@ -27,6 +27,36 @@
#include "ext/standard/php_var.h"
#include "zend_smart_str.h"
+#ifndef __USE_GNU
+/* we want to use mtype instead of __mtype */
+#define __USE_GNU
+#endif
+
+#include <sys/types.h>
+#include <sys/ipc.h>
+#include <sys/msg.h>
+
+PHP_MINIT_FUNCTION(sysvmsg);
+PHP_MINFO_FUNCTION(sysvmsg);
+
+PHP_FUNCTION(msg_get_queue);
+PHP_FUNCTION(msg_remove_queue);
+PHP_FUNCTION(msg_stat_queue);
+PHP_FUNCTION(msg_set_queue);
+PHP_FUNCTION(msg_send);
+PHP_FUNCTION(msg_receive);
+PHP_FUNCTION(msg_queue_exists);
+
+typedef struct {
+ key_t key;
+ zend_long id;
+} sysvmsg_queue_t;
+
+struct php_msgbuf {
+ zend_long mtype;
+ char mtext[1];
+};
+
/* In order to detect MSG_EXCEPT use at run time; we have no way
* of knowing what the bit definitions are, so we can't just define
* out own MSG_EXCEPT value. */