diff options
Diffstat (limited to 'cpukit/include/machine/_kernel_in.h')
-rw-r--r-- | cpukit/include/machine/_kernel_in.h | 23 |
1 files changed, 20 insertions, 3 deletions
diff --git a/cpukit/include/machine/_kernel_in.h b/cpukit/include/machine/_kernel_in.h index 0dad7f534e..1c7ad25565 100644 --- a/cpukit/include/machine/_kernel_in.h +++ b/cpukit/include/machine/_kernel_in.h @@ -32,9 +32,16 @@ * $FreeBSD: head/sys/netinet/in.h 326023 2017-11-20 19:43:44Z pfg $ */ -#if !defined(_NETINET_IN_H_) || !defined(_KERNEL) -#error "must be included via <netinet/in.h> in kernel space" -#endif +/** + * @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) struct ifnet; struct mbuf; /* forward declarations for Standard C */ struct in_ifaddr; @@ -43,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 */ @@ -58,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 */ |