Revision 3c6a0580 slirp/socket.c

b/slirp/socket.c
586 586
}
587 587

  
588 588
/*
589
 * XXX This should really be tcp_listen
589
 * Listen for incoming TCP connections
590 590
 */
591 591
struct socket *
592
solisten(u_int port, u_int32_t laddr, u_int lport, int flags)
592
tcp_listen(u_int32_t haddr, u_int hport, u_int32_t laddr, u_int lport, int flags)
593 593
{
594 594
	struct sockaddr_in addr;
595 595
	struct socket *so;
596 596
	int s, opt = 1;
597 597
	socklen_t addrlen = sizeof(addr);
598 598

  
599
	DEBUG_CALL("solisten");
599
	DEBUG_CALL("tcp_listen");
600 600
	DEBUG_ARG("port = %d", port);
601 601
	DEBUG_ARG("laddr = %x", laddr);
602 602
	DEBUG_ARG("lport = %d", lport);
......
625 625
	so->so_laddr.s_addr = laddr; /* Ditto */
626 626

  
627 627
	addr.sin_family = AF_INET;
628
	addr.sin_addr.s_addr = INADDR_ANY;
629
	addr.sin_port = port;
628
	addr.sin_addr.s_addr = haddr;
629
	addr.sin_port = hport;
630 630

  
631 631
	if (((s = socket(AF_INET,SOCK_STREAM,0)) < 0) ||
632 632
	    (setsockopt(s,SOL_SOCKET,SO_REUSEADDR,(char *)&opt,sizeof(int)) < 0) ||

Also available in: Unified diff