mirror of
https://github.com/php/php-src.git
synced 2024-11-30 13:25:43 +08:00
.. | ||
config.m4 | ||
CREDITS | ||
Makefile.in | ||
php_shmop.h | ||
README | ||
setup.stub | ||
shmop.c | ||
shmop.dsp |
last update sept 3, 2000 (slavapl@mailandnews.com/iliaa@home.com) Shared Memory Operations Extension to PHP4 While developing a search deamon we needed the php based front end to communicate the deamon via SHM. Now, PHP already had a shared memory extention (sysvshm) written by Christian Cartus <cartus@atrior.de>, unfortunatly this extention was designed with PHP only in mind, and offers high level features which are extremly bothersome for basic SHM we had in mind. After spending a day trying to reverse engeener figure out the format of sysvshm we decided that it would be much easier to add our own extention to php for simple SHM operations, we were right :)). the functions are: int shm_open(int key, string flags, int mode, int size) key - the key of/for the shared memory block flags - 2 flags are avalible a for access (sets IPC_EXCL) c for create (sets IPC_CREATE) mode - acsess mode same as for a file (0644) for example size - size of the block in bytes returns an indentifier char shm_read(int shmid, int start, int count) shmid - shmid from which to read start - offset from which to start reading count - how many bytes to read returns the data read int shm_write(int shmid, string data, int offset) shmid - shmid from which to read data - string to put into shared memory offset - offset in shm to write from returns bytes written int shm_size(int shmid) shmid - shmid for which to return the size returns the size in bytes of the shm segment int shm_delete(int shmid) marks the segment for deletion, the segment will be deleted when all processes mapping it will detach shmid - shmid which to mark for deletion returns 1 if all ok, zero on failure int shm_close(int shmid) shmid - shmid which to close returns zero