summaryrefslogtreecommitdiff
path: root/ext/sysvsem/php_sysvsem.h
diff options
context:
space:
mode:
Diffstat (limited to 'ext/sysvsem/php_sysvsem.h')
-rw-r--r--ext/sysvsem/php_sysvsem.h76
1 files changed, 76 insertions, 0 deletions
diff --git a/ext/sysvsem/php_sysvsem.h b/ext/sysvsem/php_sysvsem.h
new file mode 100644
index 0000000000..1d3342ab70
--- /dev/null
+++ b/ext/sysvsem/php_sysvsem.h
@@ -0,0 +1,76 @@
+/*
+ +----------------------------------------------------------------------+
+ | PHP HTML Embedded Scripting Language Version 3.0 |
+ +----------------------------------------------------------------------+
+ | Copyright (c) 1997,1998 PHP Development Team (See Credits file) |
+ +----------------------------------------------------------------------+
+ | This program is free software; you can redistribute it and/or modify |
+ | it under the terms of one of the following licenses: |
+ | |
+ | A) the GNU General Public License as published by the Free Software |
+ | Foundation; either version 2 of the License, or (at your option) |
+ | any later version. |
+ | |
+ | B) the PHP License as published by the PHP Development Team and |
+ | included in the distribution in the file: LICENSE |
+ | |
+ | This program is distributed in the hope that it will be useful, |
+ | but WITHOUT ANY WARRANTY; without even the implied warranty of |
+ | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
+ | GNU General Public License for more details. |
+ | |
+ | You should have received a copy of both licenses referred to here. |
+ | If you did not, or have any questions about PHP licensing, please |
+ | contact core@php.net. |
+ +----------------------------------------------------------------------+
+ | Authors: Tom May <tom@go2net.com> |
+ +----------------------------------------------------------------------+
+ */
+
+
+/* $Id$ */
+
+#ifndef _PHP_SYSVSEM_H
+#define _PHP_SYSVSEM_H
+
+#if COMPILE_DL
+#undef HAVE_SYSVSEM
+#define HAVE_SYSVSEM 1
+#endif
+
+#if HAVE_SYSVSEM
+
+extern php3_module_entry sysvsem_module_entry;
+#define sysvsem_module_ptr &sysvsem_module_entry
+
+extern int php3_minit_sysvsem(INIT_FUNC_ARGS);
+extern int php3_rinit_sysvsem(INIT_FUNC_ARGS);
+extern int php3_mshutdown_sysvsem(SHUTDOWN_FUNC_ARGS);
+extern int php3_rshutdown_sysvsem(SHUTDOWN_FUNC_ARGS);
+void php3_info_sysvsem(void);
+PHP_FUNCTION(sysvsem_get);
+PHP_FUNCTION(sysvsem_acquire);
+PHP_FUNCTION(sysvsem_release);
+
+typedef struct {
+ int le_sem;
+} sysvsem_module;
+
+typedef struct {
+ int id; /* For error reporting. */
+ int key; /* For error reporting. */
+ int semid; /* Returned by semget(). */
+ int count; /* Acquire count for auto-release. */
+} sysvsem_sem;
+
+extern sysvsem_module php3_sysvsem_module;
+
+#else
+
+#define sysvsem_module_ptr NULL
+
+#endif
+
+#define phpext_sysvsem_ptr sysvsem_module_ptr
+
+#endif /* _PHP_SYSVSEM_H */