xref: /PHP-5.5/ext/shmop/php_shmop.h (revision 73c1be26)
1 /*
2    +----------------------------------------------------------------------+
3    | PHP Version 5                                                        |
4    +----------------------------------------------------------------------+
5    | Copyright (c) 1997-2015 The PHP Group                                |
6    +----------------------------------------------------------------------+
7    | This source file is subject to version 3.01 of the PHP license,      |
8    | that is bundled with this package in the file LICENSE, and is        |
9    | available through the world-wide-web at the following url:           |
10    | http://www.php.net/license/3_01.txt                                  |
11    | If you did not receive a copy of the PHP license and are unable to   |
12    | obtain it through the world-wide-web, please send a note to          |
13    | license@php.net so we can mail you a copy immediately.               |
14    +----------------------------------------------------------------------+
15    | Authors: Slava Poliakov <hackie@prohost.org>                         |
16    |          Ilia Alshanetsky <ilia@prohost.org>                         |
17    +----------------------------------------------------------------------+
18  */
19 #ifndef PHP_SHMOP_H
20 #define PHP_SHMOP_H
21 
22 #if HAVE_SHMOP
23 
24 extern zend_module_entry shmop_module_entry;
25 #define phpext_shmop_ptr &shmop_module_entry
26 
27 PHP_MINIT_FUNCTION(shmop);
28 PHP_MINFO_FUNCTION(shmop);
29 
30 PHP_FUNCTION(shmop_open);
31 PHP_FUNCTION(shmop_read);
32 PHP_FUNCTION(shmop_close);
33 PHP_FUNCTION(shmop_size);
34 PHP_FUNCTION(shmop_write);
35 PHP_FUNCTION(shmop_delete);
36 
37 #ifdef PHP_WIN32
38 typedef int key_t;
39 #endif
40 
41 struct php_shmop
42 {
43 	int shmid;
44 	key_t key;
45 	int shmflg;
46 	int shmatflg;
47 	char *addr;
48 	int size;
49 };
50 
51 typedef struct {
52 	int le_shmop;
53 } php_shmop_globals;
54 
55 #ifdef ZTS
56 #define SHMOPG(v) TSRMG(shmop_globals_id, php_shmop_globals *, v)
57 #else
58 #define SHMOPG(v) (shmop_globals.v)
59 #endif
60 
61 #else
62 
63 #define phpext_shmop_ptr NULL
64 
65 #endif
66 
67 #endif	/* PHP_SHMOP_H */
68 
69 
70 /*
71  * Local variables:
72  * tab-width: 4
73  * c-basic-offset: 4
74  * End:
75  */
76