/*
- * 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,
* 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_*/