xref: /php-src/ext/sysvsem/php_sysvsem.h (revision 01b3fc03)
1 /*
2    +----------------------------------------------------------------------+
3    | Copyright (c) The PHP Group                                          |
4    +----------------------------------------------------------------------+
5    | This source file is subject to version 3.01 of the PHP license,      |
6    | that is bundled with this package in the file LICENSE, and is        |
7    | available through the world-wide-web at the following url:           |
8    | https://www.php.net/license/3_01.txt                                 |
9    | If you did not receive a copy of the PHP license and are unable to   |
10    | obtain it through the world-wide-web, please send a note to          |
11    | license@php.net so we can mail you a copy immediately.               |
12    +----------------------------------------------------------------------+
13    | Author: Tom May <tom@go2net.com>                                     |
14    +----------------------------------------------------------------------+
15 */
16 
17 #ifndef PHP_SYSVSEM_H
18 #define PHP_SYSVSEM_H
19 
20 #ifdef HAVE_SYSVSEM
21 
22 extern zend_module_entry sysvsem_module_entry;
23 #define sysvsem_module_ptr &sysvsem_module_entry
24 
25 #include "php_version.h"
26 #define PHP_SYSVSEM_VERSION PHP_VERSION
27 
28 PHP_MINIT_FUNCTION(sysvsem);
29 PHP_MINFO_FUNCTION(sysvsem);
30 
31 typedef struct {
32 	int key;					/* For error reporting. */
33 	int semid;					/* Returned by semget(). */
34 	int count;					/* Acquire count for auto-release. */
35 	int auto_release;			/* flag that says to auto-release. */
36 	zend_object std;
37 } sysvsem_sem;
38 
39 #else
40 
41 #define sysvsem_module_ptr NULL
42 
43 #endif
44 
45 #define phpext_sysvsem_ptr sysvsem_module_ptr
46 
47 #endif /* PHP_SYSVSEM_H */
48