Revision: 14862
Author: adrian.chadd
Date: Fri Jul 8 21:53:17 2011
Log: Add sqinet_set_sockaddr(), which sets the sqaddr to the relevant
family
and address/port.
http://code.google.com/p/lusca-cache/source/detail?r=14862
Modified:
/playpen/LUSCA_HEAD_ipv6/libsqinet/sqinet.c
/playpen/LUSCA_HEAD_ipv6/libsqinet/sqinet.h
=======================================
--- /playpen/LUSCA_HEAD_ipv6/libsqinet/sqinet.c Tue Sep 7 22:02:44 2010
+++ /playpen/LUSCA_HEAD_ipv6/libsqinet/sqinet.c Fri Jul 8 21:53:17 2011
@@ -289,6 +289,22 @@
v4 = (struct sockaddr_in *) &s->st;
return v4->sin_addr;
}
+
+int
+sqinet_set_sockaddr(sqaddr_t *s, const struct sockaddr_storage *sa)
+{
+ switch (sa->ss_family) {
+ case AF_INET:
+ sqinet_set_v4_sockaddr(s, (struct sockaddr_in *) sa);
+ break;
+ case AF_INET6:
+ sqinet_set_v6_sockaddr(s, (struct sockaddr_in6 *) sa);
+ break;
+ default:
+ return 0;
+ }
+ return 1;
+}
struct in6_addr
sqinet_get_v6_inaddr(const sqaddr_t *s, sqaddr_flags flags)
=======================================
--- /playpen/LUSCA_HEAD_ipv6/libsqinet/sqinet.h Tue Jul 13 07:06:28 2010
+++ /playpen/LUSCA_HEAD_ipv6/libsqinet/sqinet.h Fri Jul 8 21:53:17 2011
@@ -36,6 +36,7 @@
extern int sqinet_set_v6_sockaddr(sqaddr_t *s, const struct sockaddr_in6
*v6addr);
extern int sqinet_get_port(const sqaddr_t *s);
extern void sqinet_set_port(const sqaddr_t *s, short port, sqaddr_flags
flags);
+extern int sqinet_set_sockaddr(sqaddr_t *s, const struct sockaddr_storage
*sa);
extern struct in_addr sqinet_get_v4_inaddr(const sqaddr_t *s, sqaddr_flags
flags);
extern struct in6_addr sqinet_get_v6_inaddr(const sqaddr_t *s,
sqaddr_flags flags);
extern int sqinet_get_v4_sockaddr_ptr(const sqaddr_t *s, struct
sockaddr_in *v4, sqaddr_flags flags);
--
You received this message because you are subscribed to the Google Groups
"lusca-commit" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/lusca-commit?hl=en.