diff options
author | Joel Sherrill <joel.sherrill@OARcorp.com> | 1999-03-30 15:40:29 +0000 |
---|---|---|
committer | Joel Sherrill <joel.sherrill@OARcorp.com> | 1999-03-30 15:40:29 +0000 |
commit | 6a4096b2249439e3947d452e453427be0260e055 (patch) | |
tree | 746050e79014e657a7ef1c2c0d62917471e86f76 /c/src/lib/libnetworking | |
parent | Cleaned up and regenerated. (diff) | |
download | rtems-6a4096b2249439e3947d452e453427be0260e055.tar.bz2 |
Patch to add shutdown() routine from Tony R. Ambardar <tonya@ece.ubc.ca>.
Diffstat (limited to 'c/src/lib/libnetworking')
-rw-r--r-- | c/src/lib/libnetworking/rtems/rtems_syscall.c | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/c/src/lib/libnetworking/rtems/rtems_syscall.c b/c/src/lib/libnetworking/rtems/rtems_syscall.c index 7797e46a2a..2032df1e52 100644 --- a/c/src/lib/libnetworking/rtems/rtems_syscall.c +++ b/c/src/lib/libnetworking/rtems/rtems_syscall.c @@ -247,6 +247,31 @@ accept (int s, struct sockaddr *name, int *namelen) } /* + * Shutdown routine + */ + +int +shutdown (int s, int how) +{ + struct socket *so; + int error; + + rtems_bsdnet_semaphore_obtain (); + if ((so = rtems_bsdnet_fdToSocket (s)) == NULL) { + rtems_bsdnet_semaphore_release (); + return -1; + } + error = soshutdown(so, how); + if (error) { + errno = error; + rtems_bsdnet_semaphore_release (); + return -1; + } + rtems_bsdnet_semaphore_release (); + return 0; +} + +/* * All `transmit' operations end up calling this routine. */ ssize_t |