[PATCH 20/29] libnetworking: Add _getXbyYname/addr and _set/endXYent functions.

Christian Mauderer christian.mauderer at embedded-brains.de
Mon Apr 25 15:06:54 UTC 2016


From: Christian Mauderer <Christian.Mauderer at embedded-brains.de>

---
 cpukit/libnetworking/Makefile.am          |  1 +
 cpukit/libnetworking/libc/gethostbydns.c  |  1 +
 cpukit/libnetworking/libc/gethostbyht.c   |  1 +
 cpukit/libnetworking/libc/gethostbynis.c  |  1 +
 cpukit/libnetworking/libc/gethostnamadr.c |  1 +
 cpukit/libnetworking/libc/getnetbydns.c   |  1 +
 cpukit/libnetworking/libc/getnetbyht.c    |  1 +
 cpukit/libnetworking/libc/getnetbynis.c   |  1 +
 cpukit/libnetworking/libc/getnetnamadr.c  |  1 +
 cpukit/libnetworking/preinstall.am        |  4 +++
 cpukit/libnetworking/rtems/rtems_netdb.h  | 53 +++++++++++++++++++++++++++++++
 11 files changed, 66 insertions(+)
 create mode 100644 cpukit/libnetworking/rtems/rtems_netdb.h

diff --git a/cpukit/libnetworking/Makefile.am b/cpukit/libnetworking/Makefile.am
index 97784b8..ada77fd 100644
--- a/cpukit/libnetworking/Makefile.am
+++ b/cpukit/libnetworking/Makefile.am
@@ -147,6 +147,7 @@ include_rtems_HEADERS += rtems/rtems_socket.h
 include_rtems_HEADERS += rtems/rtems_net_if.h
 include_rtems_HEADERS += rtems/rtems_netinet_in.h
 include_rtems_HEADERS += rtems/rtems_netinet_tcp.h
+include_rtems_HEADERS += rtems/rtems_netdb.h
 
 libnetworking_a_SOURCES += rtems/sghostname.c \
     rtems/rtems_glue.c rtems/rtems_malloc_mbuf.c rtems/rtems_syscall.c \
diff --git a/cpukit/libnetworking/libc/gethostbydns.c b/cpukit/libnetworking/libc/gethostbydns.c
index 68af27d..ba7291f 100644
--- a/cpukit/libnetworking/libc/gethostbydns.c
+++ b/cpukit/libnetworking/libc/gethostbydns.c
@@ -73,6 +73,7 @@
 #include <strings.h>
 #endif
 #include <netdb.h>
+#include <rtems/rtems_netdb.h>
 #include <resolv.h>
 #include <ctype.h>
 #include <errno.h>
diff --git a/cpukit/libnetworking/libc/gethostbyht.c b/cpukit/libnetworking/libc/gethostbyht.c
index 17723d7..2278e70 100644
--- a/cpukit/libnetworking/libc/gethostbyht.c
+++ b/cpukit/libnetworking/libc/gethostbyht.c
@@ -60,6 +60,7 @@
 #include <netinet/in.h>
 #include <arpa/inet.h>
 #include <netdb.h>
+#include <rtems/rtems_netdb.h>
 #include <stdio.h>
 #include <stdlib.h> /* realloc, malloc, free */
 #include <ctype.h>
diff --git a/cpukit/libnetworking/libc/gethostbynis.c b/cpukit/libnetworking/libc/gethostbynis.c
index 1ae2e49..3a4195c 100644
--- a/cpukit/libnetworking/libc/gethostbynis.c
+++ b/cpukit/libnetworking/libc/gethostbynis.c
@@ -32,6 +32,7 @@
 #include <netinet/in.h>
 #include <arpa/inet.h>
 #include <netdb.h>
+#include <rtems/rtems_netdb.h>
 #include <stdio.h>
 #include <stdlib.h>
 #include <ctype.h>
diff --git a/cpukit/libnetworking/libc/gethostnamadr.c b/cpukit/libnetworking/libc/gethostnamadr.c
index d627cfb..ccf2f96 100644
--- a/cpukit/libnetworking/libc/gethostnamadr.c
+++ b/cpukit/libnetworking/libc/gethostnamadr.c
@@ -32,6 +32,7 @@
 #include <netinet/in.h>
 #include <arpa/inet.h>
 #include <netdb.h>
+#include <rtems/rtems_netdb.h>
 #include <stdio.h>
 #include <ctype.h>
 #include <errno.h>
diff --git a/cpukit/libnetworking/libc/getnetbydns.c b/cpukit/libnetworking/libc/getnetbydns.c
index 33ff993..a92fba6 100644
--- a/cpukit/libnetworking/libc/getnetbydns.c
+++ b/cpukit/libnetworking/libc/getnetbydns.c
@@ -70,6 +70,7 @@
 
 #include <stdio.h>
 #include <netdb.h>
+#include <rtems/rtems_netdb.h>
 #include <resolv.h>
 #include <ctype.h>
 #include <errno.h>
diff --git a/cpukit/libnetworking/libc/getnetbyht.c b/cpukit/libnetworking/libc/getnetbyht.c
index dbe2d68..4a388c7 100644
--- a/cpukit/libnetworking/libc/getnetbyht.c
+++ b/cpukit/libnetworking/libc/getnetbyht.c
@@ -51,6 +51,7 @@
 #include <arpa/inet.h>
 #include <arpa/nameser.h>
 #include <netdb.h>
+#include <rtems/rtems_netdb.h>
 #include <stdio.h>
 #include <string.h>
 #ifdef HAVE_STRINGS_H
diff --git a/cpukit/libnetworking/libc/getnetbynis.c b/cpukit/libnetworking/libc/getnetbynis.c
index 3849a67..14f09bc 100644
--- a/cpukit/libnetworking/libc/getnetbynis.c
+++ b/cpukit/libnetworking/libc/getnetbynis.c
@@ -32,6 +32,7 @@
 #include <netinet/in.h>
 #include <arpa/inet.h>
 #include <netdb.h>
+#include <rtems/rtems_netdb.h>
 #include <stdio.h>
 #include <stdlib.h>
 #include <ctype.h>
diff --git a/cpukit/libnetworking/libc/getnetnamadr.c b/cpukit/libnetworking/libc/getnetnamadr.c
index eb98477..7cb1b1b 100644
--- a/cpukit/libnetworking/libc/getnetnamadr.c
+++ b/cpukit/libnetworking/libc/getnetnamadr.c
@@ -32,6 +32,7 @@
 #include <netinet/in.h>
 #include <arpa/inet.h>
 #include <netdb.h>
+#include <rtems/rtems_netdb.h>
 #include <stdio.h>
 #include <ctype.h>
 #include <errno.h>
diff --git a/cpukit/libnetworking/preinstall.am b/cpukit/libnetworking/preinstall.am
index 83ef2f8..3f03062 100644
--- a/cpukit/libnetworking/preinstall.am
+++ b/cpukit/libnetworking/preinstall.am
@@ -302,6 +302,10 @@ $(PROJECT_INCLUDE)/rtems/rtems_netinet_tcp.h: rtems/rtems_netinet_tcp.h $(PROJEC
 	$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/rtems/rtems_netinet_tcp.h
 PREINSTALL_FILES += $(PROJECT_INCLUDE)/rtems/rtems_netinet_tcp.h
 
+$(PROJECT_INCLUDE)/rtems/rtems_netdb.h: rtems/rtems_netdb.h $(PROJECT_INCLUDE)/rtems/$(dirstamp)
+	$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/rtems/rtems_netdb.h
+PREINSTALL_FILES += $(PROJECT_INCLUDE)/rtems/rtems_netdb.h
+
 $(PROJECT_INCLUDE)/sys/$(dirstamp):
 	@$(MKDIR_P) $(PROJECT_INCLUDE)/sys
 	@: > $(PROJECT_INCLUDE)/sys/$(dirstamp)
diff --git a/cpukit/libnetworking/rtems/rtems_netdb.h b/cpukit/libnetworking/rtems/rtems_netdb.h
new file mode 100644
index 0000000..30887ef
--- /dev/null
+++ b/cpukit/libnetworking/rtems/rtems_netdb.h
@@ -0,0 +1,53 @@
+/*
+ * Copyright (c) 2016 embedded brains GmbH.  All rights reserved.
+ *
+ *  embedded brains GmbH
+ *  Dornierstr. 4
+ *  82178 Puchheim
+ *  Germany
+ *  <rtems at 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.
+ */
+
+#ifndef RTEMS_NETDB_H
+#define RTEMS_NETDB_H
+
+#include <rtems.h>
+#include <netdb.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif /* __cplusplus */
+
+/* DO NOT USE THESE, THEY ARE SUBJECT TO CHANGE AND ARE NOT PORTABLE!!! */
+void	_sethosthtent(int);
+void	_endhosthtent(void);
+void	_sethostdnsent(int);
+void	_endhostdnsent(void);
+void	_setnethtent(int);
+void	_endnethtent(void);
+void	_setnetdnsent(int);
+void	_endnetdnsent(void);
+struct hostent * _gethostbyhtname(const char *, int);
+struct hostent * _gethostbydnsname(const char *, int);
+struct hostent * _gethostbynisname(const char *, int);
+struct hostent * _gethostbyhtaddr (const char *, int, int);
+struct hostent * _gethostbydnsaddr(const char *, int, int);
+struct hostent * _gethostbynisaddr(const char *, int, int);
+struct netent *  _getnetbyhtname (const char *);
+struct netent *  _getnetbydnsname(const char *);
+struct netent *  _getnetbynisname(const char *);
+struct netent *  _getnetbyhtaddr (unsigned long, int);
+struct netent *  _getnetbydnsaddr(unsigned long, int);
+struct netent *  _getnetbynisaddr(unsigned long, int);
+void _map_v4v6_address(const char *, char *);
+void _map_v4v6_hostent(struct hostent *, char **, int *len);
+
+#ifdef __cplusplus
+}
+#endif /* __cplusplus */
+
+#endif /* RTEMS_NETDB_H */
-- 
1.8.4.5



More information about the devel mailing list