Stałe demona:
//prefiksy portów wej/wyj const char *PORT_RELBRD_PREFIX = "relbrd:"; // to jest do usunięcia - brak wsparcia const char *PORT_RPI_GPIO_PREFIX = "rpi:gpio:"; const char *PORT_RPI_1W_PREFIX = "rpi:1w:"; const char *PORT_RPI_I2C_MINIPH_PREFIX = "rpi:i2c:miniph:"; const char *PORT_RPI_I2C_PCA9685_PREFIX = "rpi:i2c:pca9685:"; const char *PORT_RPI_I2C_ADS1115_PREFIX = "rpi:i2c:ads1115:"; const char *PORT_DUMMY_PREFIX = "dummy:"; const char *PORT_TEXT_FILE_PREFIX = "rpi:system:txtfile:"; //prefiksy portów wejściowych const char *INPUT_RPI_1W_PREFIX = "rpi:1w:"; const char *INPUT_DUMMY_PREFIX = "dummy:"; const char *INPUT_RPI_I2C_MINIPH_PREFIX = "rpi:i2c:miniph"; const char *INPUT_RPI_I2C_ADS1115_PREFIX = "rpi:i2c:ads1115:"; const int E_DEV = -1; const int E_INFO = 0; const int E_WARN = 1; const int E_CRIT = 2; const int E_SQL = 3; // typ urządzenia const int DEV_INPUT = 1; const int DEV_OUTPUT = 2; const int DEV_OUTPUT_PWM = 3;
Definicje struktur:
struct _interfaces { int id; char address[128]; char name[30]; int type; int state; int new_state; int draw; double measured_value; double raw_measured_value; int override_value; int override_expire; int was_error_last_time; int service_val; int dashboard; double conf; } interfaces[100]; struct _timers { int id; int timeif; int action; int interfaceidthen; char days[7]; } timers[100]; typedef struct { char* db_host; char* db_user; char* db_password; char* db_database; int dontfork; int stat_freq; int inputs_freq; int devel_freq; int reload_freq; int bind_port; char* bind_address; } configuration;