summaryrefslogtreecommitdiff
path: root/pjlib
diff options
context:
space:
mode:
Diffstat (limited to 'pjlib')
-rw-r--r--pjlib/include/pj/sock.h13
-rw-r--r--pjlib/src/pj/sock_common.c8
2 files changed, 21 insertions, 0 deletions
diff --git a/pjlib/include/pj/sock.h b/pjlib/include/pj/sock.h
index 4f54dbf0..3097e29c 100644
--- a/pjlib/include/pj/sock.h
+++ b/pjlib/include/pj/sock.h
@@ -776,10 +776,23 @@ PJ_DECL(unsigned) pj_sockaddr_get_len(const pj_sockaddr_t *addr);
*
* @param dst Destination socket address.
* @param src Source socket address.
+ *
+ * @see @pj_sockaddr_cp()
*/
PJ_DECL(void) pj_sockaddr_copy_addr(pj_sockaddr *dst,
const pj_sockaddr *src);
/**
+ * Copy socket address. This will copy the whole structure depending
+ * on the address family of the source socket address.
+ *
+ * @param dst Destination socket address.
+ * @param src Source socket address.
+ *
+ * @see @pj_sockaddr_copy_addr()
+ */
+PJ_DECL(void) pj_sockaddr_cp(pj_sockaddr_t *dst, const pj_sockaddr_t *src);
+
+/**
* Get the IP address of an IPv4 socket address.
* The address is returned as 32bit value in host byte order.
*
diff --git a/pjlib/src/pj/sock_common.c b/pjlib/src/pj/sock_common.c
index a91b3c61..fc68c2a0 100644
--- a/pjlib/src/pj/sock_common.c
+++ b/pjlib/src/pj/sock_common.c
@@ -390,6 +390,14 @@ PJ_DEF(void) pj_sockaddr_copy_addr( pj_sockaddr *dst,
}
/*
+ * Copy socket address.
+ */
+PJ_DEF(void) pj_sockaddr_cp(pj_sockaddr_t *dst, const pj_sockaddr_t *src)
+{
+ pj_memcpy(dst, src, pj_sockaddr_get_len(src));
+}
+
+/*
* Set port number of pj_sockaddr_in
*/
PJ_DEF(void) pj_sockaddr_in_set_port(pj_sockaddr_in *addr,