Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
loc_network_new;
loc_network_new_from_string;
loc_network_overlaps;
+ loc_network_prefix;
loc_network_ref;
loc_network_set_asn;
loc_network_set_country_code;
struct loc_network* loc_network_unref(struct loc_network* network);
char* loc_network_str(struct loc_network* network);
int loc_network_address_family(struct loc_network* network);
+unsigned int loc_network_prefix(struct loc_network* network);
const struct in6_addr* loc_network_get_first_address(struct loc_network* network);
char* loc_network_format_first_address(struct loc_network* network);
return network->family;
}
+LOC_EXPORT unsigned int loc_network_prefix(struct loc_network* network) {
+ switch (network->family) {
+ case AF_INET6:
+ return network->prefix;
+
+ case AF_INET:
+ return network->prefix - 96;
+ }
+
+ return 0;
+}
+
static char* loc_network_format_address(struct loc_network* network, const struct in6_addr* address) {
const size_t length = INET6_ADDRSTRLEN;