]> git.saurik.com Git - apple/xnu.git/blobdiff - bsd/netinet/ip_encap.h
xnu-6153.141.1.tar.gz
[apple/xnu.git] / bsd / netinet / ip_encap.h
index 66dfb258838005eea28eb68ac35c022241d42bfb..3db5269fb27f2086fabf231be1914488b31a38fa 100644 (file)
@@ -1,8 +1,8 @@
 /*
- * Copyright (c) 2000 Apple Computer, Inc. All rights reserved.
+ * Copyright (c) 2000-2012 Apple Inc. All rights reserved.
  *
  * @APPLE_OSREFERENCE_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
  * 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,
@@ -22,7 +22,7 @@
  * 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_OSREFERENCE_LICENSE_HEADER_END@
  */
 /*     $KAME: ip_encap.h,v 1.6 2000/03/06 04:34:21 itojun Exp $        */
 
 #ifndef _NETINET_IP_ENCAP_H_
 #define _NETINET_IP_ENCAP_H_
-#include <sys/appleapiopts.h>
-
-#ifdef KERNEL_PRIVATE
+#ifdef BSD_KERNEL_PRIVATE
 
 struct encaptab {
        LIST_ENTRY(encaptab) chain;
        int af;
-       int proto;                      /* -1: don't care, I'll check myself */
-       struct sockaddr_storage src;    /* my addr */
+       int proto;                      /* -1: don't care, I'll check myself */
+       struct sockaddr_storage src;    /* my addr */
        struct sockaddr_storage srcmask;
-       struct sockaddr_storage dst;    /* remote addr */
+       struct sockaddr_storage dst;    /* remote addr */
        struct sockaddr_storage dstmask;
        int (*func)(const struct mbuf *, int, int, void *);
-       const struct protosw *psw;      /* only pr_input will be used */
-       void *arg;                      /* passed via m->m_pkthdr.aux */
+       const struct protosw *psw;      /* only pr_input will be used */
+       void *arg;                      /* passed via m->m_pkthdr.aux */
 };
 
-void   encap_init(void) __attribute__((section("__TEXT, initcode")));
-void   encap4_input(struct mbuf *, int);
-int    encap6_input(struct mbuf **, int *);
+struct protosw;
+struct ip6protosw;
+struct domain;
+
+__BEGIN_DECLS
+void    encap4_init(struct protosw *, struct domain *);
+void    encap6_init(struct ip6protosw *, struct domain *);
+void    encap4_input(struct mbuf *, int);
+int     encap6_input(struct mbuf **, int *, int);
 const struct encaptab *encap_attach(int, int, const struct sockaddr *,
-       const struct sockaddr *, const struct sockaddr *,
-       const struct sockaddr *, const struct protosw *, void *);
+    const struct sockaddr *, const struct sockaddr *,
+    const struct sockaddr *, const struct protosw *, void *);
 const struct encaptab *encap_attach_func(int, int,
-       int (*)(const struct mbuf *, int, int, void *),
-       const struct protosw *, void *);
-int    encap_detach(const struct encaptab *);
-void   *encap_getarg(struct mbuf *);
-#endif /* KERNEL_PRIVATE */
+    int (*)(const struct mbuf *, int, int, void *),
+    const struct protosw *, void *);
+int     encap_detach(const struct encaptab *);
+void    *encap_getarg(struct mbuf *);
+__END_DECLS
 
+#endif /* BSD_KERNEL_PRIVATE */
 #endif /*_NETINET_IP_ENCAP_H_*/