summaryrefslogtreecommitdiff
path: root/ext/shmop/README
diff options
context:
space:
mode:
authorLorry Tar Creator <lorry-tar-importer@baserock.org>2013-03-14 05:42:27 +0000
committer <>2013-04-03 16:25:08 +0000
commitc4dd7a1a684490673e25aaf4fabec5df138854c4 (patch)
tree4d57c44caae4480efff02b90b9be86f44bf25409 /ext/shmop/README
downloadphp2-master.tar.gz
Imported from /home/lorry/working-area/delta_php2/php-5.4.13.tar.bz2.HEADphp-5.4.13master
Diffstat (limited to 'ext/shmop/README')
-rw-r--r--ext/shmop/README69
1 files changed, 69 insertions, 0 deletions
diff --git a/ext/shmop/README b/ext/shmop/README
new file mode 100644
index 0000000..5ec1586
--- /dev/null
+++ b/ext/shmop/README
@@ -0,0 +1,69 @@
+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
+
+