diff options
Diffstat (limited to '')
-rw-r--r-- | cpukit/include/machine/_kernel_in.h | 16 |
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 */ |