summaryrefslogtreecommitdiffstats
path: root/cpukit
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>1998-08-20 22:04:22 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>1998-08-20 22:04:22 +0000
commit28e7d7faed355e451cc8b0c037035dfcf873a965 (patch)
tree45cde8cd69057225747646a9ad80abba592ae710 /cpukit
parentAdded CVS Ids (diff)
downloadrtems-28e7d7faed355e451cc8b0c037035dfcf873a965.tar.bz2
Patches from Eric Norum
Diffstat (limited to 'cpukit')
-rw-r--r--cpukit/libnetworking/arpa/inet.h2
-rw-r--r--cpukit/libnetworking/rtems/rtems_syscall.c20
2 files changed, 19 insertions, 3 deletions
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 *