Annotation of embedaddon/php/ext/shmop/README, revision 1.1
1.1 ! misho 1: last update Jan 2, 2002 (hackie@prohost.org/ilia@prohost.org)
! 2:
! 3: Shared Memory Operations Extension to PHP
! 4:
! 5: While developing a search deamon we needed a php based front end
! 6: to communicate the deamon via SHM. PHP already had a shared memory
! 7: extention (sysvshm) written by Christian Cartus <cartus@atrior.de>,
! 8: unfortunatly this extention was designed with PHP only in mind and
! 9: offers high level features which are extremly bothersome for basic SHM
! 10: we had in mind. After spending a day trying to reverse engineer and figure
! 11: out the format of sysvshm we decided that it would be much easier to
! 12: add our own extention to php for simple SHM operations, we were right :)).
! 13:
! 14: the functions are:
! 15:
! 16: int shmop_open(int key, string flags, int mode, int size)
! 17:
! 18: key - the key of/for the shared memory block
! 19: flags - 4 flags are avalible
! 20: a for read only access (sets SHM_RDONLY)
! 21: w for read & write access
! 22: c create or open an existing segment (sets IPC_CREATE)
! 23: n create a new segment and fail if one already exists under same name (sets IPC_CREATE|IPC_EXCL)
! 24: (the n flag is mostly useful for security perpouses, so that you don't end up opening a faked segment
! 25: if someone guesses your key)
! 26: mode - acsess mode same as for a file (0644) for example
! 27: size - size of the block in bytes
! 28:
! 29: returns an indentifier
! 30:
! 31:
! 32: char shmop_read(int shmid, int start, int count)
! 33:
! 34: shmid - shmid from which to read
! 35: start - offset from which to start reading
! 36: count - how many bytes to read
! 37:
! 38: returns the data read
! 39:
! 40: int shmop_write(int shmid, string data, int offset)
! 41:
! 42: shmid - shmid from which to read
! 43: data - string to put into shared memory
! 44: offset - offset in shm to write from
! 45:
! 46: returns bytes written
! 47:
! 48: int shmop_size(int shmid)
! 49:
! 50: shmid - shmid for which to return the size
! 51:
! 52: returns the size in bytes of the shm segment
! 53:
! 54:
! 55: int shmop_delete(int shmid)
! 56:
! 57: marks the segment for deletion, the segment will be deleted when all processes mapping it will detach
! 58:
! 59: shmid - shmid which to mark for deletion
! 60:
! 61: returns 1 if all ok, zero on failure
! 62:
! 63: int shmop_close(int shmid)
! 64:
! 65: shmid - shmid which to close
! 66:
! 67: returns zero
! 68:
! 69:
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>