ctdb-protocol: Add ctdb_sock_addr_port() and sock_addr_set_port()
authorMartin Schwenke <martin@meltin.net>
Fri, 2 Jun 2017 06:17:22 +0000 (16:17 +1000)
committerMartin Schwenke <martins@samba.org>
Tue, 19 Sep 2017 11:30:26 +0000 (13:30 +0200)
Signed-off-by: Martin Schwenke <martin@meltin.net>
Reviewed-by: Amitay Isaacs <amitay@gmail.com>
ctdb/protocol/protocol_util.c
ctdb/protocol/protocol_util.h

index 3b039446af3623ba758c9d913a5dc9df0796f7e1..91e8cfc7349f74e7e3efa01076e620c49398dd18 100644 (file)
@@ -139,6 +139,34 @@ const char *ctdb_sock_addr_to_string(TALLOC_CTX *mem_ctx, ctdb_sock_addr *addr)
        return cip;
 }
 
+unsigned int ctdb_sock_addr_port(ctdb_sock_addr *addr)
+{
+       switch (addr->sa.sa_family) {
+       case AF_INET:
+               return ntohs(addr->ip.sin_port);
+               break;
+       case AF_INET6:
+               return ntohs(addr->ip6.sin6_port);
+               break;
+       default:
+               return 0;
+       }
+}
+
+void ctdb_sock_addr_set_port(ctdb_sock_addr *addr, unsigned int port)
+{
+       switch (addr->sa.sa_family) {
+       case AF_INET:
+               addr->ip.sin_port = htons(port);
+               break;
+       case AF_INET6:
+               addr->ip6.sin6_port = htons(port);
+               break;
+       default:
+               break;
+       }
+}
+
 int ctdb_sock_addr_cmp_ip(const ctdb_sock_addr *addr1,
                          const ctdb_sock_addr *addr2)
 {
index 94778817efdbdc7d843d0d647eba4e4f6d4916ac..c139891e50e1945dd19214d91998eef50abfbbd1 100644 (file)
@@ -31,6 +31,8 @@ const char *ctdb_event_to_string(enum ctdb_event event);
 enum ctdb_event ctdb_event_from_string(const char *event_str);
 
 const char *ctdb_sock_addr_to_string(TALLOC_CTX *mem_ctx, ctdb_sock_addr *addr);
+unsigned int ctdb_sock_addr_port(ctdb_sock_addr *addr);
+void ctdb_sock_addr_set_port(ctdb_sock_addr *addr, unsigned int port);
 int ctdb_sock_addr_cmp_ip(const ctdb_sock_addr *addr1,
                          const ctdb_sock_addr *addr2);
 int ctdb_sock_addr_cmp(const ctdb_sock_addr *addr1,