<?php
// C = msg key
// L = locking key
-$MESSAGE_KEY = ftok(realpath(dirname(__FILE__)), "c");
+$MESSAGE_KEY = ftok(realpath(dirname(__FILE__)), "c"); // to daemon
$LOCKING_KEY = ftok(realpath(dirname(__FILE__)), "l");
$STORE_KEY = ftok(realpath(dirname(__FILE__)), "s");
+$CONF_STORE_SIZE = 16777216; // 16M by default
-global $MESSAGE_KEY, $LOCKING_KEY, $STORE_KEY;
+global $MESSAGE_KEY, $LOCKING_KEY, $STORE_KEY, $CONF_STORE_SIZE;
class Comms {
function __construct()
function getConfig($type=0)
{
- global $MESSAGE_KEY, $LOCKING_KEY, $STORE_KEY;
+ global $MESSAGE_KEY, $LOCKING_KEY, $STORE_KEY, $CONF_STORE_SIZE;
sem_acquire($this->semres);
- $shm_space = shm_attach($STORE_KEY, 16*1024*1024);
+ $shm_space = shm_attach($STORE_KEY, $CONF_STORE_SIZE);
$config = shm_get_var($shm_space, $type);
sem_release($this->semres);
sem_release($this->semres);
}
+ function deleteConfig($type)
+ {
+ global $MESSAGE_KEY, $LOCKING_KEY, $STORE_KEY, $CONF_STORE_SIZE;
+ $shm_space = shm_attach($STORE_KEY, $CONF_STORE_SIZE);
+
+ shm_remove_var($shm_space, $type);
+ }
// type = 0 for the fs config
// type = 1 for the boot hardware config
// type = 3 for web config
function putConfig($config, $type=0)
{
- global $MESSAGE_KEY, $LOCKING_KEY, $STORE_KEY;
+ global $MESSAGE_KEY, $LOCKING_KEY, $STORE_KEY, $CONF_STORE_SIZE;
sem_acquire($this->semres);
- $shm_space = shm_attach($STORE_KEY, 16*1024*1024);
+ $shm_space = shm_attach($STORE_KEY, $CONF_STORE_SIZE);
shm_put_var($shm_space, $type, $config);
sem_release($this->semres);
}