gets and attaches a shared memory segment */
PHP_FUNCTION(shmop_open)
{
- long key, mode, size;
+ php_int_t key, mode, size;
struct php_shmop *shmop;
struct shmid_ds shm;
char *flags;
int flags_len;
- if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "lsll", &key, &flags, &flags_len, &mode, &size) == FAILURE) {
+ if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "isii", &key, &flags, &flags_len, &mode, &size) == FAILURE) {
return;
}
reads from a shm segment */
PHP_FUNCTION(shmop_read)
{
- long shmid, start, count;
+ php_int_t shmid, start, count;
struct php_shmop *shmop;
char *startaddr;
int bytes;
zend_string *return_string;
- if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "lll", &shmid, &start, &count) == FAILURE) {
+ if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "iii", &shmid, &start, &count) == FAILURE) {
return;
}
closes a shared memory segment */
PHP_FUNCTION(shmop_close)
{
- long shmid;
+ php_int_t shmid;
zval *res;
- if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "l", &shmid) == FAILURE) {
+ if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "i", &shmid) == FAILURE) {
return;
}
returns the shm size */
PHP_FUNCTION(shmop_size)
{
- long shmid;
+ php_int_t shmid;
struct php_shmop *shmop;
- if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "l", &shmid) == FAILURE) {
+ if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "i", &shmid) == FAILURE) {
return;
}
{
struct php_shmop *shmop;
int writesize;
- long shmid, offset;
- char *data;
- int data_len;
+ php_int_t shmid, offset;
+ zend_string *data;
- if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "lsl", &shmid, &data, &data_len, &offset) == FAILURE) {
+ if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "iSi", &shmid, &data, &offset) == FAILURE) {
return;
}
RETURN_FALSE;
}
- writesize = (data_len < shmop->size - offset) ? data_len : shmop->size - offset;
- memcpy(shmop->addr + offset, data, writesize);
+ writesize = (data->len < shmop->size - offset) ? data->len : shmop->size - offset;
+ memcpy(shmop->addr + offset, data->val, writesize);
RETURN_INT(writesize);
}
mark segment for deletion */
PHP_FUNCTION(shmop_delete)
{
- long shmid;
+ php_int_t shmid;
struct php_shmop *shmop;
- if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "l", &shmid) == FAILURE) {
+ if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "i", &shmid) == FAILURE) {
return;
}