39 #include <sys/types.h>
57 static void rl_signal_handler(
int signal_number);
66 if (errno == ENOENT) {
70 "failed getting status to check sampling state; %d message: %s",
71 errno, strerror(errno));
103 "cannot run measurement, RocketLogger is already running.");
108 struct sigaction sigterm_action_backup;
109 struct sigaction sigint_action_backup;
110 struct sigaction signal_action;
111 signal_action.sa_handler = rl_signal_handler;
112 sigemptyset(&signal_action.sa_mask);
113 signal_action.sa_flags = 0;
116 ret = sigaction(SIGTERM, &signal_action, &sigterm_action_backup);
119 "can't register signal handler for SIGTERM; %d message: %s",
120 errno, strerror(errno));
123 ret = sigaction(SIGINT, &signal_action, &sigint_action_backup);
126 "can't register signal handler for SIGINT; %d message: %s",
127 errno, strerror(errno));
169 ret = sigaction(SIGTERM, &sigterm_action_backup, NULL);
172 "can't restore signal handler for SIGTERM; %d message: %s",
173 errno, strerror(errno));
175 ret = sigaction(SIGINT, &sigint_action_backup, NULL);
178 "can't restore signal handler for SIGINT; %d message: %s", errno,
195 errno, strerror(errno));
203 static void rl_signal_handler(
int signal_number) {
205 if (signal_number == SIGTERM) {
211 if (signal_number == SIGINT) {
212 signal(signal_number, SIG_IGN);
int rl_log(rl_log_level_t log_level, char const *const format,...)
@ RL_LOG_INFO
Information.
void rl_status_reset(rl_status_t *const status)
int rl_status_pub_init(void)
int rl_status_write(rl_status_t *const status)
int rl_status_read(rl_status_t *const status)
int rl_status_pub_deinit(void)
#define RL_CONFIG_FILE_DIR_DEFAULT
Configuration data file directory default.
#define ERROR
Function return value for errors (use errno to indicate the error)
#define SUCCESS
Function return value for successful completion.
void hw_deinit(rl_config_t const *const config)
void hw_init(rl_config_t const *const config)
int hw_sample(rl_config_t const *const config)
bool rl_is_sampling(void)
int rl_run(rl_config_t *const config)
int rl_get_status(rl_status_t *const status)
int rl_socket_metadata(rl_config_t const *const config)
int rl_socket_deinit(void)
bool ambient_enable
Enable logging of ambient sensor.
bool web_enable
Enable web interface connection.
uint64_t disk_free
Time stamp of last calibration run.
rl_config_t const * config
(local) reference to current config
uint16_t disk_free_permille
Time stamp of last calibration run.
bool sampling
Sampling state, true: sampling, false: idle.
uint16_t sensor_count
Number of sensors found connected to the system.
int64_t fs_space_free(char const *const path)
int64_t fs_space_total(char const *const path)