}
/*-----------------------------------------------------------------*/
static int
-CreatePrivateAcceptSocketEx(int portNum, int nonBlocking, int loopbackOnly)
+CreatePrivateAcceptSocketEx(int portNum, int nonBlocking, struct in_addr *addr)
{
int doReuse = 1;
struct linger doLinger;
/* set up info for binding listen */
memset(&sa, 0, sizeof(sa));
sa.sin_family = AF_INET;
- sa.sin_addr.s_addr = (loopbackOnly) ? htonl(INADDR_LOOPBACK)
- : htonl(INADDR_ANY);
+ sa.sin_addr = *addr;
sa.sin_port = htons(portNum);
/* bind the sock */
}
/*-----------------------------------------------------------------*/
int
-CreatePrivateAcceptSocket(int portNum, int nonBlocking)
+CreatePrivateAcceptSocket(int portNum, int nonBlocking, struct in_addr *addr)
{
- return CreatePrivateAcceptSocketEx(portNum, nonBlocking, FALSE);
+ return CreatePrivateAcceptSocketEx(portNum, nonBlocking, addr);
}
/*-----------------------------------------------------------------*/
char *