Commit b8c2aa5c authored by Poul-Henning Kamp's avatar Poul-Henning Kamp

Add a function to extract a sockaddr and a socklen_t from a suckaddr.

parent 8a769e6e
......@@ -38,6 +38,8 @@ socklen_t VSA_Len(const void *);
unsigned VSA_Port(const void *);
int VSA_Compare(const struct suckaddr *, const struct suckaddr *);
const struct sockaddr *VSA_Get_Sockaddr(const struct suckaddr *, socklen_t *sl);
/*
* 's' is a sockaddr of some kind, 'sal' is its length
*/
......
......@@ -257,6 +257,24 @@ VSA_Build(void *d, const void *s, unsigned sal)
return (sua);
}
const struct sockaddr *
VSA_Get_Sockaddr(const struct suckaddr *sua, socklen_t *sl)
{
AN(sua);
AN(sl);
switch(sua->sa.sa_family) {
case PF_INET:
*sl = sizeof sua->sa4;
break;
case PF_INET6:
*sl = sizeof sua->sa6;
break;
default:
return (NULL);
}
return (&sua->sa);
}
int
VSA_Sane(const void *s)
{
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment