summaryrefslogtreecommitdiff
path: root/ext/shmop/php_shmop.h
diff options
context:
space:
mode:
authorDerick Rethans <derick@php.net>2000-10-01 15:06:04 (GMT)
committerDerick Rethans <derick@php.net>2000-10-01 15:06:04 (GMT)
commit58294f67d2ca0842d9d60fe1c26891da85201870 (patch)
treec9c28e41cef3f4f4dd853c4586de4de509a25a9b /ext/shmop/php_shmop.h
parent9ccc11ce50f5bd01fb348c56a81d5dac5a895356 (diff)
downloadphp-58294f67d2ca0842d9d60fe1c26891da85201870.tar.gz
@- Added the shmop extension. It allows more general ways of shared memory
@ access. (thanks to Ilia Alshanestky <iliaa@home.com> and Slava Poliakov @ <slavapl@mailandnews.com> (Derick)
Diffstat (limited to 'ext/shmop/php_shmop.h')
-rw-r--r--ext/shmop/php_shmop.h83
1 files changed, 83 insertions, 0 deletions
diff --git a/ext/shmop/php_shmop.h b/ext/shmop/php_shmop.h
new file mode 100644
index 0000000..f3fee5c
--- /dev/null
+++ b/ext/shmop/php_shmop.h
@@ -0,0 +1,83 @@
+/*
+ +----------------------------------------------------------------------+
+ | PHP version 4.0 |
+ +----------------------------------------------------------------------+
+ | Copyright (c) 1997, 1998, 1999, 2000 The PHP Group |
+ +----------------------------------------------------------------------+
+ | This source file is subject to version 2.02 of the PHP license, |
+ | that is bundled with this package in the file LICENSE, and is |
+ | available at through the world-wide-web at |
+ | http://www.php.net/license/2_02.txt. |
+ | If you did not receive a copy of the PHP license and are unable to |
+ | obtain it through the world-wide-web, please send a note to |
+ | license@php.net so we can mail you a copy immediately. |
+ +----------------------------------------------------------------------+
+ | Authors: Slava Poliakov (slavapl@mailandnews.com) |
+ | Ilia Alshanetsky (iliaa@home.com) |
+ +----------------------------------------------------------------------+
+ */
+#ifndef PHP_SHMOP_H
+#define PHP_SHMOP_H
+
+#if HAVE_SHMOP
+
+extern zend_module_entry shmop_module_entry;
+#define phpext_shmop_ptr &shmop_module_entry
+
+#ifdef PHP_WIN32
+#define PHP_SHMOP_API __declspec(dllexport)
+#else
+#define PHP_SHMOP_API
+#endif
+
+PHP_MINIT_FUNCTION(shmop);
+PHP_MSHUTDOWN_FUNCTION(shmop);
+PHP_RINIT_FUNCTION(shmop);
+PHP_RSHUTDOWN_FUNCTION(shmop);
+PHP_MINFO_FUNCTION(shmop);
+
+PHP_FUNCTION(shm_open);
+PHP_FUNCTION(shm_read);
+PHP_FUNCTION(shm_close);
+PHP_FUNCTION(shm_size);
+PHP_FUNCTION(shm_write);
+PHP_FUNCTION(shm_delete);
+
+struct php_shmop
+{
+ int shmid;
+ key_t key;
+ int shmflg;
+ char *addr;
+ int size;
+};
+
+static void rsclean(struct php_shmop *shmop);
+
+typedef struct {
+ int le_shmop;
+} php_shmop_globals;
+
+#ifdef ZTS
+#define SHMOPG(v) (shmop_globals->v)
+#define SHMOPLS_FETCH() php_shmop_globals *shmop_globals = ts_resource(gd_shmop_id)
+#else
+#define SHMOPG(v) (shmop_globals.v)
+#define SHMOPLS_FETCH()
+#endif
+
+#else
+
+#define phpext_shmop_ptr NULL
+
+#endif
+
+#endif /* PHP_SHMOP_H */
+
+
+/*
+ * Local variables:
+ * tab-width: 4
+ * c-basic-offset: 4
+ * End:
+ */