summaryrefslogtreecommitdiffstats
path: root/cpukit/include/machine/_kernel_in.h
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--cpukit/include/machine/_kernel_in.h16
1 files changed, 13 insertions, 3 deletions
diff --git a/cpukit/include/machine/_kernel_in.h b/cpukit/include/machine/_kernel_in.h
index 29a6112e96..1c7ad25565 100644
--- a/cpukit/include/machine/_kernel_in.h
+++ b/cpukit/include/machine/_kernel_in.h
@@ -35,13 +35,13 @@
/**
* @file
*
+ * @ingroup RTEMSImplFreeBSDKernel
+ *
* @brief This header file provides IPv4 definitions for the kernel space
* (_KERNEL is defined before including <netinet/in.h>).
*/
-#if !defined(_NETINET_IN_H_) || !defined(_KERNEL)
-#error "must be included via <netinet/in.h> in kernel space"
-#endif
+#if defined(_NETINET_IN_H_) && defined(_KERNEL)
struct ifnet; struct mbuf; /* forward declarations for Standard C */
struct in_ifaddr;
@@ -50,8 +50,14 @@ int in_broadcast(struct in_addr, struct ifnet *);
int in_ifaddr_broadcast(struct in_addr, struct in_ifaddr *);
int in_canforward(struct in_addr);
int in_localaddr(struct in_addr);
+#if __FreeBSD_version >= 1400039
+bool in_localip(struct in_addr);
+#else
int in_localip(struct in_addr);
+#endif
+bool in_localip_fib(struct in_addr, uint16_t);
int in_ifhasaddr(struct ifnet *, struct in_addr);
+struct in_ifaddr *in_findlocal(uint32_t, bool);
int inet_aton(const char *, struct in_addr *); /* in libkern */
char *inet_ntoa_r(struct in_addr ina, char *buf); /* in libkern */
char *inet_ntop(int, const void *, char *, socklen_t); /* in libkern */
@@ -65,3 +71,7 @@ void in_ifdetach(struct ifnet *);
#define satosin(sa) ((struct sockaddr_in *)(sa))
#define sintosa(sin) ((struct sockaddr *)(sin))
#define ifatoia(ifa) ((struct in_ifaddr *)(ifa))
+
+#else /* !_NETINET_IN_H_ || !_KERNEL */
+#error "must be included via <netinet/in.h> in kernel space"
+#endif /* _NETINET_IN_H_ && _KERNEL */