From: Christian Mauderer <christian.maude...@embedded-brains.de>

Copy the prototype and necessary defines for getnameinfo() from
current FreeBSD.
---
 cpukit/libnetworking/netdb.h | 47 ++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 47 insertions(+)

diff --git a/cpukit/libnetworking/netdb.h b/cpukit/libnetworking/netdb.h
index 92e283b..4272902 100644
--- a/cpukit/libnetworking/netdb.h
+++ b/cpukit/libnetworking/netdb.h
@@ -114,6 +114,8 @@ struct      protoent {
        int     p_proto;        /* protocol # */
 };
 
+struct sockaddr;
+
 /*
  * Error return codes from gethostbyname() and gethostbyaddr()
  * (left in h_errno).
@@ -127,6 +129,49 @@ struct     protoent {
 #define        NO_DATA         4 /* Valid name, no data record of requested 
type */
 #define        NO_ADDRESS      NO_DATA         /* no address, look for MX 
record */
 
+/*
+ * Error return codes from getaddrinfo()
+ */
+#if 0
+/* obsoleted */
+#define        EAI_ADDRFAMILY   1      /* address family for hostname not 
supported */
+#endif
+#define        EAI_AGAIN        2      /* temporary failure in name resolution 
*/
+#define        EAI_BADFLAGS     3      /* invalid value for ai_flags */
+#define        EAI_FAIL         4      /* non-recoverable failure in name 
resolution */
+#define        EAI_FAMILY       5      /* ai_family not supported */
+#define        EAI_MEMORY       6      /* memory allocation failure */
+#if 0
+/* obsoleted */
+#define        EAI_NODATA       7      /* no address associated with hostname 
*/
+#endif
+#define        EAI_NONAME       8      /* hostname nor servname provided, or 
not known */
+#define        EAI_SERVICE      9      /* servname not supported for 
ai_socktype */
+#define        EAI_SOCKTYPE    10      /* ai_socktype not supported */
+#define        EAI_SYSTEM      11      /* system error returned in errno */
+#define        EAI_BADHINTS    12      /* invalid value for hints */
+#define        EAI_PROTOCOL    13      /* resolved protocol is unknown */
+#define        EAI_OVERFLOW    14      /* argument buffer overflow */
+#define        EAI_MAX         15
+
+/*
+ * Constants for getnameinfo()
+ */
+#define        NI_MAXHOST      1025
+#define        NI_MAXSERV      32
+
+/*
+ * Flag values for getnameinfo()
+ */
+#define        NI_NOFQDN       0x00000001
+#define        NI_NUMERICHOST  0x00000002
+#define        NI_NAMEREQD     0x00000004
+#define        NI_NUMERICSERV  0x00000008
+#define        NI_DGRAM        0x00000010
+#if 0 /* obsolete */
+#define NI_WITHSCOPEID 0x00000020
+#endif
+
 __BEGIN_DECLS
 void           endhostent(void);
 void           endnetent(void);
@@ -152,6 +197,8 @@ void                sethostent(int);
 void           setnetent(int);
 void           setprotoent(int);
 void           setservent(int);
+int            getnameinfo(const struct sockaddr *, socklen_t, char *,
+                           size_t, char *, size_t, int);
 
 #ifdef _THREAD_SAFE
 struct hostent* gethostent_r(char* buf, int len);
-- 
1.8.4.5

_______________________________________________
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel

Reply via email to