From: Sage Weil Date: Fri, 6 May 2016 13:46:06 +0000 (-0400) Subject: msg/msg_types: update sockaddr, sockaddr_storage accessors X-Git-Tag: v11.0.0~549^2~24 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=0038d362d38181bd348881bc0fbe717211eb8d15;p=ceph.git msg/msg_types: update sockaddr, sockaddr_storage accessors Return sockaddr_storage by value. New sockaddr-based accessors. Signed-off-by: Sage Weil --- diff --git a/src/msg/msg_types.h b/src/msg/msg_types.h index 3acad775ff7..0e176b9ec0c 100644 --- a/src/msg/msg_types.h +++ b/src/msg/msg_types.h @@ -251,7 +251,21 @@ struct entity_addr_t { return addr6; } - bool set_sockaddr(struct sockaddr *sa) + const sockaddr *get_sockaddr() const { + return (const sockaddr *)&addr4; + } + size_t get_sockaddr_len() const { + switch (addr.ss_family) { + case AF_INET: + return sizeof(addr4); + break; + case AF_INET6: + return sizeof(addr6); + break; + } + return sizeof(addr); + } + bool set_sockaddr(const struct sockaddr *sa) { switch (sa->sa_family) { case AF_INET: @@ -266,6 +280,10 @@ struct entity_addr_t { return true; } + sockaddr_storage get_sockaddr_storage() const { + return addr; + } + void set_in4_quad(int pos, int val) { addr4.sin_family = AF_INET; unsigned char *ipq = (unsigned char*)&addr4.sin_addr.s_addr;