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