#endif
#include "include/ipaddr.h"
+#include "msg/msg_types.h"
void netmask_ipv4(const struct in_addr *addr,
unsigned int prefix_len,
return false;
}
+
+bool parse_network(const char *s,
+ entity_addr_t *network,
+ unsigned int *prefix_len)
+{
+ sockaddr_storage ss;
+ bool ret = parse_network(s, &ss, prefix_len);
+ if (ret) {
+ network->set_type(entity_addr_t::TYPE_LEGACY);
+ network->set_sockaddr((sockaddr *)&ss);
+ }
+ return ret;
+}
#ifndef CEPH_IPADDR_H
#define CEPH_IPADDR_H
+class entity_addr_t;
+
/*
* Find an IP address that is in the wanted subnet.
*
*
* if the network string is invalid, return false.
*/
-bool parse_network(const char *s, struct sockaddr_storage *network, unsigned int *prefix_len);
+bool parse_network(const char *s,
+ struct sockaddr_storage *network,
+ unsigned int *prefix_len);
+bool parse_network(const char *s,
+ entity_addr_t *network,
+ unsigned int *prefix_len);
void netmask_ipv6(const struct in6_addr *addr,
unsigned int prefix_len,