]> git.saurik.com Git - apple/xnu.git/blobdiff - bsd/net/net_osdep.h
xnu-6153.61.1.tar.gz
[apple/xnu.git] / bsd / net / net_osdep.h
index 050ee790db63abda8dba3f85db063e2f08369421..429713f5ab195f393a330620ab9b7608e1cccd89 100644 (file)
@@ -1,15 +1,20 @@
 /*
- * Copyright (c) 2000 Apple Computer, Inc. All rights reserved.
+ * Copyright (c) 2000-2010 Apple Inc. All rights reserved.
+ *
+ * @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  *
- * @APPLE_LICENSE_HEADER_START@
- * 
  * This file contains Original Code and/or Modifications of Original Code
  * as defined in and that are subject to the Apple Public Source License
  * Version 2.0 (the 'License'). You may not use this file except in
- * compliance with the License. Please obtain a copy of the License at
- * http://www.opensource.apple.com/apsl/ and read it before using this
- * file.
- * 
+ * compliance with the License. The rights granted to you under the License
+ * may not be used to create, or enable the creation or redistribution of,
+ * unlawful or unlicensed copies of an Apple operating system, or to
+ * circumvent, violate, or enable the circumvention or violation of, any
+ * terms of an Apple operating system software license agreement.
+ *
+ * Please obtain a copy of the License at
+ * http://www.opensource.apple.com/apsl/ and read it before using this file.
+ *
  * The Original Code and all software distributed under the License are
  * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
@@ -17,8 +22,8 @@
  * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
  * Please see the License for the specific language governing rights and
  * limitations under the License.
- * 
- * @APPLE_LICENSE_HEADER_END@
+ *
+ * @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  */
 /*
  * Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project.
@@ -68,7 +73,7 @@
  * - ifa_ifwithaf()
  *   bsdi[34], netbsd, and openbsd define it in sys/net/if.c
  *   freebsd (all versions) does not have it.
- *  
+ *
  * - struct rt_addrinfo
  *   bsdi4, netbsd 1.5R and beyond: rti_addrs, rti_info[], rti_flags, rti_ifa,
  *     rti_ifp, and rti_rtm.
  *     NetBSD 1.5: always use IFAREF whenever reference gets added.
  *             always use IFAFREE whenever reference gets freed.
  *             IFAFREE frees ifaddr when ifa_refcnt reaches 0.
- *     Darwin: always use ifaref whenever reference gets added.
- *             always use ifafree whenever reference gets freed.
- *             ifaref and ifafree are responsible for determining when to free.
+ *     Darwin: always use IFA_ADDREF whenever reference gets added.
+ *             always use IFA_REMREF whenever reference gets freed.
+ *             IFA_ADDREF and IFA_REMREF are responsible for determining
+ *             when to free.
  *     others: do not increase refcnt for ifp->if_addrlist and in_ifaddr.
  *             use IFAFREE once when ifaddr is disconnected from
  *             ifp->if_addrlist and in_ifaddr.  IFAFREE frees ifaddr when
 #ifdef KERNEL_PRIVATE
 
 struct ifnet;
-extern const char *if_name(struct ifnet *);
 
 #define HAVE_OLD_BPF
 
-#define ifa_list       ifa_link
-#define if_addrlist    if_addrhead
-#define if_list                if_link
-
-/* sys/net/if.h */
-#ifndef __APPLE__
-#define IFAREF(ifa)    do { ++(ifa)->ifa_refcnt; } while (0)
-#endif
+#define ifa_list        ifa_link
+#define if_addrlist     if_addrhead
+#define if_list         if_link
 
 #define WITH_CONVERT_AND_STRIP_IP_LEN
 
-#if 1                          /* at this moment, all OSes do this */
+#if 1                           /* at this moment, all OSes do this */
 #define WITH_CONVERT_IP_OFF
 #endif