diff options
Diffstat (limited to 'cpukit/libnetworking/libc/getnameinfo.c')
-rw-r--r-- | cpukit/libnetworking/libc/getnameinfo.c | 61 |
1 files changed, 0 insertions, 61 deletions
diff --git a/cpukit/libnetworking/libc/getnameinfo.c b/cpukit/libnetworking/libc/getnameinfo.c deleted file mode 100644 index 2955bf4aa1..0000000000 --- a/cpukit/libnetworking/libc/getnameinfo.c +++ /dev/null @@ -1,61 +0,0 @@ -#include <machine/rtems-bsd-user-space.h> - -/* - * Copyright (c) 2016 embedded brains GmbH. All rights reserved. - * - * embedded brains GmbH - * Dornierstr. 4 - * 82178 Puchheim - * Germany - * <rtems@embedded-brains.de> - * - * The license and distribution terms for this file may be - * found in the file LICENSE in this distribution or at - * http://www.rtems.org/license/LICENSE. - */ - -#include <netdb.h> -#include <sys/socket.h> -#include <netinet/in.h> -#include <arpa/inet.h> -#include <stdio.h> - -int -getnameinfo(const struct sockaddr *sa, socklen_t salen, char *node, - size_t nodelen, char *service, size_t servicelen, int flags) -{ - int af; - const struct sockaddr_in *sa_in = (const struct sockaddr_in *)sa; - - (void) salen; - - af = sa->sa_family; - if (af != AF_INET) { - return EAI_FAMILY; - } - - if ((flags & NI_NAMEREQD) != 0) { - return EAI_NONAME; - } - - /* FIXME: This return just the address value. Try resolving instead. */ - if (node != NULL && nodelen > 0) { - if (inet_ntop(af, &sa_in->sin_addr, node, nodelen) == NULL) { - return EAI_FAIL; - } - } - - if (service != NULL && servicelen > 0) { - in_port_t port = ntohs(sa_in->sin_port); - int rv; - - rv = snprintf(service, servicelen, "%u", port); - if (rv <= 0) { - return EAI_FAIL; - } else if ((unsigned)rv >= servicelen) { - return EAI_OVERFLOW; - } - } - - return 0; -} |