1
0
mirror of https://github.com/php/php-src.git synced 2026-04-16 20:41:18 +02:00
Files
archived-php-src/ext/sysvshm/php_sysvshm.h
Peter Kokot 03a3faa151 Sync sysvsem and sysvshm versions in phpinfo
This patch removes the versions of the sysvsem and sysvshm extensions in
the phpinfo output to sync them with PHP core and bundled extensions
versions displayed. Instead it displays the extension enabled status.
2018-06-03 04:05:46 +02:00

94 lines
2.5 KiB
C

/*
+----------------------------------------------------------------------+
| PHP Version 7 |
+----------------------------------------------------------------------+
| Copyright (c) 1997-2018 The PHP Group |
+----------------------------------------------------------------------+
| This source file is subject to version 3.01 of the PHP license, |
| that is bundled with this package in the file LICENSE, and is |
| available through the world-wide-web at the following url: |
| http://www.php.net/license/3_01.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. |
+----------------------------------------------------------------------+
| Author: Christian Cartus <cartus@atrior.de> |
+----------------------------------------------------------------------+
*/
/* $Id$ */
#ifndef PHP_SYSVSHM_H
#define PHP_SYSVSHM_H
#if HAVE_SYSVSHM
extern zend_module_entry sysvshm_module_entry;
#define sysvshm_module_ptr &sysvshm_module_entry
#include "php_version.h"
#define PHP_SYSVSHM_VERSION PHP_VERSION
#include <sys/types.h>
#ifdef PHP_WIN32
# include <TSRM/tsrm_win32.h>
# include "win32/ipc.h"
# ifndef THREAD_LS
# define THREAD_LS
# endif
#else
# include <sys/ipc.h>
# include <sys/shm.h>
#endif
#define PHP_SHM_RSRC_NAME "sysvshm"
typedef struct {
int le_shm;
zend_long init_mem;
} sysvshm_module;
typedef struct {
zend_long key;
zend_long length;
zend_long next;
char mem;
} sysvshm_chunk;
typedef struct {
char magic[8];
zend_long start;
zend_long end;
zend_long free;
zend_long total;
} sysvshm_chunk_head;
typedef struct {
key_t key; /* key set by user */
zend_long id; /* returned by shmget */
sysvshm_chunk_head *ptr; /* memory address of shared memory */
} sysvshm_shm;
PHP_MINIT_FUNCTION(sysvshm);
PHP_MINFO_FUNCTION(sysvshm);
PHP_FUNCTION(shm_attach);
PHP_FUNCTION(shm_detach);
PHP_FUNCTION(shm_remove);
PHP_FUNCTION(shm_put_var);
PHP_FUNCTION(shm_get_var);
PHP_FUNCTION(shm_has_var);
PHP_FUNCTION(shm_remove_var);
extern sysvshm_module php_sysvshm;
#else
#define sysvshm_module_ptr NULL
#endif
#define phpext_sysvshm_ptr sysvshm_module_ptr
#endif /* PHP_SYSVSHM_H */