From 28e7d7faed355e451cc8b0c037035dfcf873a965 Mon Sep 17 00:00:00 2001 From: Joel Sherrill Date: Thu, 20 Aug 1998 22:04:22 +0000 Subject: Patches from Eric Norum --- cpukit/libnetworking/arpa/inet.h | 2 ++ cpukit/libnetworking/rtems/rtems_syscall.c | 20 +++++++++++++++++--- 2 files changed, 19 insertions(+), 3 deletions(-) (limited to 'cpukit') diff --git a/cpukit/libnetworking/arpa/inet.h b/cpukit/libnetworking/arpa/inet.h index fb95ee288a..ad5332e7ab 100644 --- a/cpukit/libnetworking/arpa/inet.h +++ b/cpukit/libnetworking/arpa/inet.h @@ -65,6 +65,7 @@ struct in_addr; +#if 0 /* RTEMS -- Why rename these? */ /* XXX all new diversions!! argh!! */ #define inet_addr __inet_addr #define inet_aton __inet_aton @@ -80,6 +81,7 @@ struct in_addr; #define inet_ntop __inet_ntop #define inet_nsap_addr __inet_nsap_addr #define inet_nsap_ntoa __inet_nsap_ntoa +#endif __BEGIN_DECLS int ascii2addr __P((int, const char *, void *)); diff --git a/cpukit/libnetworking/rtems/rtems_syscall.c b/cpukit/libnetworking/rtems/rtems_syscall.c index 794b8d3d8e..a526eb2254 100644 --- a/cpukit/libnetworking/rtems/rtems_syscall.c +++ b/cpukit/libnetworking/rtems/rtems_syscall.c @@ -617,8 +617,8 @@ getsockopt (int s, int level, int name, void *aval, int *avalsize) return 0; } -int -getpeername (int s, struct sockaddr *name, int *namelen) +static int +getpeersockname (int s, struct sockaddr *name, int *namelen, int pflag) { struct socket *so; struct mbuf *m; @@ -636,7 +636,10 @@ getpeername (int s, struct sockaddr *name, int *namelen) rtems_bsdnet_semaphore_release (); return -1; } - error = (*so->so_proto->pr_usrreqs->pru_peeraddr)(so, m); + if (pflag) + error = (*so->so_proto->pr_usrreqs->pru_peeraddr)(so, m); + else + error = (*so->so_proto->pr_usrreqs->pru_sockaddr)(so, m); if (error) { errno = error; rtems_bsdnet_semaphore_release (); @@ -652,6 +655,17 @@ getpeername (int s, struct sockaddr *name, int *namelen) return 0; } +int +getpeername (int s, struct sockaddr *name, int *namelen) +{ + return getpeersockname (s, name, namelen, 1); +} +int +getsockname (int s, struct sockaddr *name, int *namelen) +{ + return getpeersockname (s, name, namelen, 0); +} + /* ************************************************************************ * RTEMS EXTERNAL I/O HANDLER ROUTINES * -- cgit v1.2.3