You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
Sebastian Bergmann 9ba1e81665 sed -i "s#1997-2009#1997-2010#g" **/*.c **/*.h **/*.php 16 years ago
..
tests Fix tests 19 years ago
CREDITS 2nd step towards auto-credits 25 years ago
README - Renamed all *php4* files to *php5*, changed all php4/PHP4 to php5/PHP5 22 years ago
config.m4 extension converted automatically to PHP_NEW_EXTENSION. Manually confirmed 24 years ago
config.w32 Adding shmop config file for the new build system 22 years ago
package.xml Typo 19 years ago
package2.xml v2 package file 19 years ago
php_shmop.h sed -i "s#1997-2009#1997-2010#g" **/*.c **/*.h **/*.php 16 years ago
shmop.c sed -i "s#1997-2009#1997-2010#g" **/*.c **/*.h **/*.php 16 years ago
shmop.dsp - Renamed all *php4* files to *php5*, changed all php4/PHP4 to php5/PHP5 22 years ago

README

last update Jan 2, 2002 (hackie@prohost.org/ilia@prohost.org)

Shared Memory Operations Extension to PHP

While developing a search deamon we needed a php based front end
to communicate the deamon via SHM. 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 engineer and 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 shmop_open(int key, string flags, int mode, int size)

key - the key of/for the shared memory block
flags - 4 flags are avalible
a for read only access (sets SHM_RDONLY)
w for read & write access
c create or open an existing segment (sets IPC_CREATE)
n create a new segment and fail if one already exists under same name (sets IPC_CREATE|IPC_EXCL)
(the n flag is mostly useful for security perpouses, so that you don't end up opening a faked segment
if someone guesses your key)
mode - acsess mode same as for a file (0644) for example
size - size of the block in bytes

returns an indentifier


char shmop_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 shmop_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 shmop_size(int shmid)

shmid - shmid for which to return the size

returns the size in bytes of the shm segment


int shmop_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 shmop_close(int shmid)

shmid - shmid which to close

returns zero