diff options
Diffstat (limited to 'sys/netatm')
-rw-r--r-- | sys/netatm/atm_aal5.c | 8 | ||||
-rw-r--r-- | sys/netatm/atm_cm.c | 5 | ||||
-rw-r--r-- | sys/netatm/atm_socket.c | 6 | ||||
-rw-r--r-- | sys/netatm/atm_var.h | 4 | ||||
-rw-r--r-- | sys/netatm/ipatm/ipatm_load.c | 2 |
5 files changed, 15 insertions, 10 deletions
diff --git a/sys/netatm/atm_aal5.c b/sys/netatm/atm_aal5.c index 6d625e0..2367eb9 100644 --- a/sys/netatm/atm_aal5.c +++ b/sys/netatm/atm_aal5.c @@ -69,7 +69,8 @@ static int atm_aal5_attach(struct socket *, int, struct thread *td); static int atm_aal5_detach(struct socket *); static int atm_aal5_bind(struct socket *, struct sockaddr *, struct thread *td); -static int atm_aal5_listen(struct socket *, struct thread *td); +static int atm_aal5_listen(struct socket *, int backlog, + struct thread *td); static int atm_aal5_connect(struct socket *, struct sockaddr *, struct thread *td); static int atm_aal5_accept(struct socket *, struct sockaddr **); @@ -328,13 +329,14 @@ atm_aal5_bind(so, addr, td) * */ static int -atm_aal5_listen(so, td) +atm_aal5_listen(so, backlog, td) struct socket *so; + int backlog; struct thread *td; { ATM_INTRO("listen"); - err = atm_sock_listen(so, &atm_aal5_endpt); + err = atm_sock_listen(so, &atm_aal5_endpt, backlog); ATM_OUTRO(); } diff --git a/sys/netatm/atm_cm.c b/sys/netatm/atm_cm.c index 60bf482..12b9f53 100644 --- a/sys/netatm/atm_cm.c +++ b/sys/netatm/atm_cm.c @@ -536,12 +536,13 @@ done: * */ int -atm_cm_listen(so, epp, token, ap, copp) +atm_cm_listen(so, epp, token, ap, copp, backlog) struct socket *so; Atm_endpoint *epp; void *token; Atm_attributes *ap; Atm_connection **copp; + int backlog; { Atm_connection *cop; int s, err = 0; @@ -737,7 +738,7 @@ atm_cm_listen(so, epp, token, ap, copp) cop->co_state = COS_LISTEN; LINK2TAIL(cop, Atm_connection, atm_listen_queue, co_next); if (so != NULL) - solisten_proto(so); + solisten_proto(so, backlog); donex: (void) splx(s); diff --git a/sys/netatm/atm_socket.c b/sys/netatm/atm_socket.c index 7da8f3e..2cdab95 100644 --- a/sys/netatm/atm_socket.c +++ b/sys/netatm/atm_socket.c @@ -335,9 +335,10 @@ atm_sock_bind(so, addr) * */ int -atm_sock_listen(so, epp) +atm_sock_listen(so, epp, backlog) struct socket *so; Atm_endpoint *epp; + int backlog; { Atm_pcb *atp = sotoatmpcb(so); @@ -350,7 +351,8 @@ atm_sock_listen(so, epp) /* * Start listening for incoming calls */ - return (atm_cm_listen(so, epp, atp, &atp->atp_attr, &atp->atp_conn)); + return (atm_cm_listen(so, epp, atp, &atp->atp_attr, &atp->atp_conn, + backlog)); } diff --git a/sys/netatm/atm_var.h b/sys/netatm/atm_var.h index 3332c92..4bc6d97 100644 --- a/sys/netatm/atm_var.h +++ b/sys/netatm/atm_var.h @@ -82,7 +82,7 @@ void atm_aal5_init(void); int atm_cm_connect(Atm_endpoint *, void *, Atm_attributes *, Atm_connection **); int atm_cm_listen(struct socket *, Atm_endpoint *, void *, - Atm_attributes *, Atm_connection **); + Atm_attributes *, Atm_connection **, int); int atm_cm_addllc(Atm_endpoint *, void *, struct attr_llc *, Atm_connection *, Atm_connection **); int atm_cm_addparty(Atm_connection *, int, struct t_atm_sap *); @@ -152,7 +152,7 @@ void atm_sock_init(void); int atm_sock_attach(struct socket *, u_long, u_long); int atm_sock_detach(struct socket *); int atm_sock_bind(struct socket *, struct sockaddr *); -int atm_sock_listen(struct socket *, Atm_endpoint *); +int atm_sock_listen(struct socket *, Atm_endpoint *, int); int atm_sock_connect(struct socket *, struct sockaddr *, Atm_endpoint *); int atm_sock_disconnect(struct socket *); diff --git a/sys/netatm/ipatm/ipatm_load.c b/sys/netatm/ipatm/ipatm_load.c index 2e931cd..4376b66 100644 --- a/sys/netatm/ipatm/ipatm_load.c +++ b/sys/netatm/ipatm/ipatm_load.c @@ -524,7 +524,7 @@ ipatm_start() */ if ((err = atm_cm_listen(NULL, &ipatm_endpt, (void *)(intptr_t)i, &ipatm_listeners[i].attr, - &ipatm_listeners[i].conn)) != 0) + &ipatm_listeners[i].conn, -1)) != 0) goto done; } |