16#ifndef __PTPMGMT_CFG_H
17#define __PTPMGMT_CFG_H
23__PTPMGMT_NAMESPACE_BEGIN
43 transportSpecific_val = val_base_val,
48 network_transport_val,
53 uds_address_val = str_base_val,
56 ptp_dst_mac_val = bin_base_val,
69 static const range_t ranges[];
71 std::string m_str_vals[bin_base_val - str_base_val];
73 Binary m_bin_vals[last_val - bin_base_val];
75 uint32_t m_vals[str_base_val - val_base_val];
78 bool m_set[last_val] = {
false };
81 bool set_val(
char *line);
83 std::map<std::string, ConfigSection> cfgSec;
84 ConfigSection *cfgGlobal;
85 void clear_sections();
87 uint32_t get_num(
int idx,
const std::string §ion)
const;
88 const std::string &get_str(
int idx,
const std::string §ion)
const;
89 const Binary &get_bin(
int idx,
const std::string §ion)
const;
90 bool is_global(
int idx,
const std::string §ion)
const;
128 uint8_t
udp_ttl(
const std::string §ion =
"")
const;
156 uint8_t
spp(
const std::string §ion =
"")
const;
170 bool haveSpp(
const std::string §ion =
"")
const;
177 const std::string &
uds_address(
const std::string §ion =
"")
const;
184 const std::string &
sa_file(
const std::string §ion =
"")
const;
232 void operator()(
HMAC_t _t,
const Binary &_k,
size_t _m) {
238 std::map<uint32_t, key_t> m_keys;
242 bool set_val(
char *line);
243 void set(
long id) { m_own_id = (uint8_t)
id; m_keys.clear(); }
258 bool replace =
true);
310 std::map<uint8_t, Spp> m_spps;
349__PTPMGMT_NAMESPACE_END
C interface to configuration class.
HMAC_t
Authentication key type.
Definition cfg.h:206
@ HMAC_AES256
Definition cfg.h:215
@ HMAC_SHA256
Definition cfg.h:207
@ HMAC_AES128
Definition cfg.h:211
Hold configuration parameters.
Definition cfg.h:34
const std::string & sa_file(const std::string §ion="") const
const Binary & p2p_dst_mac(const std::string §ion="") const
uint8_t socket_priority(const std::string §ion="") const
bool read_cfg(const std::string &file)
uint8_t udp_ttl(const std::string §ion="") const
const std::string & uds_address(const std::string §ion="") const
uint8_t transportSpecific(const std::string §ion="") const
uint8_t udp6_scope(const std::string §ion="") const
uint32_t active_key_id(const std::string §ion="") const
const Binary & ptp_dst_mac(const std::string §ion="") const
uint8_t network_transport(const std::string §ion="") const
bool haveSpp(const std::string §ion="") const
uint8_t allow_unauth(const std::string §ion="") const
uint8_t spp(const std::string §ion="") const
uint8_t domainNumber(const std::string §ion="") const
authentication security association file
Definition cfg.h:308
bool have(uint8_t spp, uint32_t key) const
bool have(uint8_t spp) const
const Spp & spp(uint8_t spp) const
bool read_sa(const std::string &file)
bool read_sa(const ConfigFile &cfg, const std::string §ion="")
authentication security parameters
Definition cfg.h:225
bool addKey(uint32_t id, HMAC_t type, const Binary &value, size_t digest, bool replace=true)
const Binary & key(uint32_t key) const
bool have(uint32_t key) const
HMAC_t htype(uint32_t key) const
size_t mac_size(uint32_t key) const