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