![]() |
|
|||
File indexing completed on 2025-05-11 08:24:12
0001 /*- 0002 * SPDX-License-Identifier: BSD-3-Clause 0003 * 0004 * Copyright (c) 1982, 1986, 1990, 1993 0005 * The Regents of the University of California. All rights reserved. 0006 * 0007 * Redistribution and use in source and binary forms, with or without 0008 * modification, are permitted provided that the following conditions 0009 * are met: 0010 * 1. Redistributions of source code must retain the above copyright 0011 * notice, this list of conditions and the following disclaimer. 0012 * 2. Redistributions in binary form must reproduce the above copyright 0013 * notice, this list of conditions and the following disclaimer in the 0014 * documentation and/or other materials provided with the distribution. 0015 * 3. Neither the name of the University nor the names of its contributors 0016 * may be used to endorse or promote products derived from this software 0017 * without specific prior written permission. 0018 * 0019 * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 0020 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 0021 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 0022 * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 0023 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 0024 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 0025 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 0026 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 0027 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 0028 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 0029 * SUCH DAMAGE. 0030 * 0031 * @(#)in.h 8.3 (Berkeley) 1/3/94 0032 * $FreeBSD: head/sys/netinet/in.h 326023 2017-11-20 19:43:44Z pfg $ 0033 */ 0034 0035 /** 0036 * @file 0037 * 0038 * @ingroup RTEMSImplFreeBSDKernel 0039 * 0040 * @brief This header file provides IPv4 definitions for the kernel space 0041 * (_KERNEL is defined before including <netinet/in.h>). 0042 */ 0043 0044 #if defined(_NETINET_IN_H_) && defined(_KERNEL) 0045 0046 struct ifnet; struct mbuf; /* forward declarations for Standard C */ 0047 struct in_ifaddr; 0048 0049 int in_broadcast(struct in_addr, struct ifnet *); 0050 int in_ifaddr_broadcast(struct in_addr, struct in_ifaddr *); 0051 int in_canforward(struct in_addr); 0052 int in_localaddr(struct in_addr); 0053 #if __FreeBSD_version >= 1400039 0054 bool in_localip(struct in_addr); 0055 #else 0056 int in_localip(struct in_addr); 0057 #endif 0058 bool in_localip_fib(struct in_addr, uint16_t); 0059 int in_ifhasaddr(struct ifnet *, struct in_addr); 0060 struct in_ifaddr *in_findlocal(uint32_t, bool); 0061 int inet_aton(const char *, struct in_addr *); /* in libkern */ 0062 char *inet_ntoa_r(struct in_addr ina, char *buf); /* in libkern */ 0063 char *inet_ntop(int, const void *, char *, socklen_t); /* in libkern */ 0064 int inet_pton(int af, const char *, void *); /* in libkern */ 0065 void in_ifdetach(struct ifnet *); 0066 0067 #define in_hosteq(s, t) ((s).s_addr == (t).s_addr) 0068 #define in_nullhost(x) ((x).s_addr == INADDR_ANY) 0069 #define in_allhosts(x) ((x).s_addr == htonl(INADDR_ALLHOSTS_GROUP)) 0070 0071 #define satosin(sa) ((struct sockaddr_in *)(sa)) 0072 #define sintosa(sin) ((struct sockaddr *)(sin)) 0073 #define ifatoia(ifa) ((struct in_ifaddr *)(ifa)) 0074 0075 #else /* !_NETINET_IN_H_ || !_KERNEL */ 0076 #error "must be included via <netinet/in.h> in kernel space" 0077 #endif /* _NETINET_IN_H_ && _KERNEL */
[ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |
![]() ![]() |