Module Name: src
Committed By: dyoung
Date: Tue Apr 28 20:54:50 UTC 2009
Modified Files:
src/sys/kern: uipc_domain.c
src/sys/sys: socket.h
Log Message:
Extract sockaddr_any_by_family() from sockaddr_any() for looking up a
wildcard ("any") address by protocol family instead of by sockaddr.
To generate a diff of this commit:
cvs rdiff -u -r1.79 -r1.80 src/sys/kern/uipc_domain.c
cvs rdiff -u -r1.94 -r1.95 src/sys/sys/socket.h
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/kern/uipc_domain.c
diff -u src/sys/kern/uipc_domain.c:1.79 src/sys/kern/uipc_domain.c:1.80
--- src/sys/kern/uipc_domain.c:1.79 Sun Mar 15 17:14:40 2009
+++ src/sys/kern/uipc_domain.c Tue Apr 28 20:54:50 2009
@@ -1,4 +1,4 @@
-/* $NetBSD: uipc_domain.c,v 1.79 2009/03/15 17:14:40 cegger Exp $ */
+/* $NetBSD: uipc_domain.c,v 1.80 2009/04/28 20:54:50 dyoung Exp $ */
/*
* Copyright (c) 1982, 1986, 1993
@@ -32,7 +32,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: uipc_domain.c,v 1.79 2009/03/15 17:14:40 cegger Exp $");
+__KERNEL_RCSID(0, "$NetBSD: uipc_domain.c,v 1.80 2009/04/28 20:54:50 dyoung Exp $");
#include <sys/param.h>
#include <sys/socket.h>
@@ -216,16 +216,22 @@
}
const struct sockaddr *
-sockaddr_any(const struct sockaddr *sa)
+sockaddr_any_by_family(int family)
{
const struct domain *dom;
- if ((dom = pffinddomain(sa->sa_family)) == NULL)
+ if ((dom = pffinddomain(family)) == NULL)
return NULL;
return dom->dom_sa_any;
}
+const struct sockaddr *
+sockaddr_any(const struct sockaddr *sa)
+{
+ return sockaddr_any_by_family(sa->sa_family);
+}
+
const void *
sockaddr_anyaddr(const struct sockaddr *sa, socklen_t *slenp)
{
Index: src/sys/sys/socket.h
diff -u src/sys/sys/socket.h:1.94 src/sys/sys/socket.h:1.95
--- src/sys/sys/socket.h:1.94 Mon Jan 19 02:27:57 2009
+++ src/sys/sys/socket.h Tue Apr 28 20:54:50 2009
@@ -1,4 +1,4 @@
-/* $NetBSD: socket.h,v 1.94 2009/01/19 02:27:57 christos Exp $ */
+/* $NetBSD: socket.h,v 1.95 2009/04/28 20:54:50 dyoung Exp $ */
/*
* Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project.
@@ -577,6 +577,7 @@
const void *sockaddr_const_addr(const struct sockaddr *, socklen_t *);
void *sockaddr_addr(struct sockaddr *, socklen_t *);
const struct sockaddr *sockaddr_any(const struct sockaddr *);
+const struct sockaddr *sockaddr_any_by_family(int);
const void *sockaddr_anyaddr(const struct sockaddr *, socklen_t *);
int sockaddr_cmp(const struct sockaddr *, const struct sockaddr *);
struct sockaddr *sockaddr_dup(const struct sockaddr *, int);