diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2013-10-14 10:04:29 +0200 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2013-10-31 13:18:47 +0100 |
commit | 7c3625139fad52931f070973926a81ca9e522cda (patch) | |
tree | 98423ca9eb07346a860d3e986151507d0146ed26 /freebsd/sys/kern/uipc_syscalls.c | |
parent | Use connect() from FreeBSD (diff) | |
download | rtems-libbsd-7c3625139fad52931f070973926a81ca9e522cda.tar.bz2 |
Use listen() from FreeBSD
Diffstat (limited to 'freebsd/sys/kern/uipc_syscalls.c')
-rw-r--r-- | freebsd/sys/kern/uipc_syscalls.c | 27 |
1 files changed, 26 insertions, 1 deletions
diff --git a/freebsd/sys/kern/uipc_syscalls.c b/freebsd/sys/kern/uipc_syscalls.c index e4ec4baa..a52de3aa 100644 --- a/freebsd/sys/kern/uipc_syscalls.c +++ b/freebsd/sys/kern/uipc_syscalls.c @@ -344,10 +344,14 @@ kern_bind(td, fd, sa) return (error); } -#ifndef __rtems__ /* ARGSUSED */ +#ifndef __rtems__ int listen(td, uap) +#else /* __rtems__ */ +static int +rtems_bsd_listen(td, uap) +#endif /* __rtems__ */ struct thread *td; struct listen_args /* { int s; @@ -376,7 +380,28 @@ listen(td, uap) } return(error); } +#ifdef __rtems__ +int +listen(int socket, int backlog) +{ + struct thread *td = rtems_bsd_get_curthread_or_null(); + struct listen_args ua = { + .s = socket, + .backlog = backlog + }; + int error; + + if (td != NULL) { + error = rtems_bsd_listen(td, &ua); + } else { + error = ENOMEM; + } + + return rtems_bsd_error_to_status_and_errno(error); +} +#endif /* __rtems__ */ +#ifndef __rtems__ /* * accept1() */ |