From 1fbd0bafe7671fce033f7672f35690c8324aaff9 Mon Sep 17 00:00:00 2001 From: Joel Sherrill Date: Wed, 2 Jul 2008 13:40:19 +0000 Subject: 2008-07-02 Joel Sherrill * libnetworking/Makefile.am, libnetworking/libc/gethostnamadr.c, libnetworking/libc/getservbyname.c, libnetworking/libc/getservbyport.c: Add initial versions of getservbyport_r(), gethostbyaddr_r(), and getservbyport_r(). At this point they are just simple weappers for the version without the _r in the name. --- cpukit/libnetworking/libc/gethostnamadr.c | 12 ++++++++++++ cpukit/libnetworking/libc/getservbyname.c | 19 +++++++++++++++++++ cpukit/libnetworking/libc/getservbyport.c | 18 ++++++++++++++++++ 3 files changed, 49 insertions(+) (limited to 'cpukit/libnetworking/libc') diff --git a/cpukit/libnetworking/libc/gethostnamadr.c b/cpukit/libnetworking/libc/gethostnamadr.c index 19c05b31ba..4dc18840e0 100644 --- a/cpukit/libnetworking/libc/gethostnamadr.c +++ b/cpukit/libnetworking/libc/gethostnamadr.c @@ -158,6 +158,18 @@ gethostbyname2(const char *name, int type) return hp; } +int gethostbyaddr_r(const void *addr, socklen_t len, int type, + struct hostent *ret, char *buf, size_t buflen, + struct hostent **result, int *h_errnop) +{ + #warning "implement a proper gethostbyaddr_r" + + *result = gethostbyaddr( addr, len, type ); + if ( *result ) + return 0; + return -1; +} + struct hostent * gethostbyaddr(const void *addr, socklen_t len, int type) { diff --git a/cpukit/libnetworking/libc/getservbyname.c b/cpukit/libnetworking/libc/getservbyname.c index 2481acdd1f..f77a56a203 100644 --- a/cpukit/libnetworking/libc/getservbyname.c +++ b/cpukit/libnetworking/libc/getservbyname.c @@ -42,6 +42,25 @@ extern int _serv_stayopen; +int getservbyname_r( + const char *name, + const char *proto, + struct servent *result_buf, + char *buf, + size_t buflen, + struct servent **result +) +{ + #warning "implement a proper getservbyport_r" + + *result = getservbyname(name, proto); + if ( *result ) + return 0; + + return -1; +} + + struct servent * getservbyname(name, proto) const char *name, *proto; diff --git a/cpukit/libnetworking/libc/getservbyport.c b/cpukit/libnetworking/libc/getservbyport.c index cdc9557b9c..884d600590 100644 --- a/cpukit/libnetworking/libc/getservbyport.c +++ b/cpukit/libnetworking/libc/getservbyport.c @@ -42,6 +42,24 @@ extern int _serv_stayopen; +int getservbyport_r( + int port, + const char *proto, + struct servent *result_buf, + char *buf, + size_t buflen, + struct servent **result +) +{ + #warning "implement a proper getservbyport_r" + + *result = getservbyport(port, proto); + if ( *result ) + return 0; + + return -1; +} + struct servent * getservbyport(port, proto) int port; -- cgit v1.2.3