RocketLogger 2.1.2
util.h
Go to the documentation of this file.
1
32#ifndef UTIL_H_
33#define UTIL_H_
34
35#include <stdbool.h>
36#include <stdint.h>
37
38#include "rl.h"
39
41#define MAC_ADDRESS_LENGTH 6
42
44#define MAC_ADDRESS_FILE "/sys/class/net/eth0/address"
45
51 int64_t sec;
53 int64_t nsec;
54};
55
60
67bool is_current(int index);
68
75bool is_low_current(int index);
76
83bool is_voltage(int index);
84
93bool is_empty_string(char const *str);
94
103bool is_printable_string(char const *str);
104
111int count_channels(bool const channels[RL_CHANNEL_COUNT]);
112
120int div_ceil(int n, int d);
121
130void create_time_stamp(rl_timestamp_t *const time_realtime,
131 rl_timestamp_t *const time_monotonic);
132
138void get_mac_addr(uint8_t mac_address[MAC_ADDRESS_LENGTH]);
139
146int64_t fs_space_total(char const *const path);
147
154int64_t fs_space_free(char const *const path);
155
162void print_json_bool(bool const *const data, const int length);
163
170void print_json_int64(int64_t const *const data, const int length);
171
180int snprintfcat(char *const buffer, size_t length, char const *format, ...);
181
182#endif /* UTIL_H_ */
rl_calibration_t data
The actual calibration data.
Definition: calibration.h:9
#define RL_CHANNEL_COUNT
Number of RocketLogger analog channels.
Definition: rl.h:56
int64_t nsec
Nanoseconds.
Definition: util.h:53
int64_t sec
Seconds in UNIX time (UTC)
Definition: util.h:51
bool is_current(int index)
Definition: util.c:49
int64_t fs_space_free(char const *const path)
Definition: util.c:125
int count_channels(bool const channels[RL_CHANNEL_COUNT])
Definition: util.c:72
bool is_printable_string(char const *str)
Definition: util.c:158
int div_ceil(int n, int d)
Definition: util.c:82
int64_t fs_space_total(char const *const path)
Definition: util.c:137
#define MAC_ADDRESS_LENGTH
MAC address length in bytes.
Definition: util.h:41
void get_mac_addr(uint8_t mac_address[MAC_ADDRESS_LENGTH])
Definition: util.c:112
bool is_low_current(int index)
Definition: util.c:57
void print_json_bool(bool const *const data, const int length)
Definition: util.c:169
void create_time_stamp(rl_timestamp_t *const time_realtime, rl_timestamp_t *const time_monotonic)
Definition: util.c:90
bool is_empty_string(char const *str)
Definition: util.c:149
bool is_voltage(int index)
Definition: util.c:64
int snprintfcat(char *const buffer, size_t length, char const *format,...)
Definition: util.c:191
void print_json_int64(int64_t const *const data, const int length)
Definition: util.c:180