X-Git-Url: https://git.saurik.com/apple/xnu.git/blobdiff_plain/89b3af67bb32e691275bf6fa803d1834b2284115..7e41aa883dd258f888d0470250eead40a53ef1f5:/bsd/netinet6/esp.h diff --git a/bsd/netinet6/esp.h b/bsd/netinet6/esp.h index 6802e81a3..b2deaa2f3 100644 --- a/bsd/netinet6/esp.h +++ b/bsd/netinet6/esp.h @@ -1,3 +1,31 @@ +/* + * Copyright (c) 2008-2013 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 + * 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, + * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, + * 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@ + */ + /* $FreeBSD: src/sys/netinet6/esp.h,v 1.2.2.2 2001/07/03 11:01:49 ume Exp $ */ /* $KAME: esp.h,v 1.16 2000/10/18 21:28:00 itojun Exp $ */ @@ -67,7 +95,7 @@ struct esptail { /*variable size, 32bit bound*/ /* Authentication data (new IPsec)*/ }; -#ifdef KERNEL_PRIVATE +#ifdef BSD_KERNEL_PRIVATE struct secasvar; struct esp_algorithm { @@ -89,19 +117,23 @@ struct esp_algorithm { struct secasvar *, u_int8_t *, u_int8_t *); int (*blockencrypt)(const struct esp_algorithm *, struct secasvar *, u_int8_t *, u_int8_t *); + /* For Authenticated Encryption Methods */ + size_t icvlen; + int (*finalizedecrypt)(struct secasvar *, u_int8_t *, uint); + int (*finalizeencrypt)(struct secasvar *, u_int8_t *, uint); }; extern const struct esp_algorithm *esp_algorithm_lookup(int); extern int esp_max_ivlen(void); /* crypt routines */ -extern int esp4_output(struct mbuf *, struct ipsecrequest *); +extern int esp4_output(struct mbuf *, struct secasvar *); extern void esp4_input(struct mbuf *, int off); extern size_t esp_hdrsiz(struct ipsecrequest *); extern int esp_schedule(const struct esp_algorithm *, struct secasvar *); extern int esp_auth(struct mbuf *, size_t, size_t, struct secasvar *, u_char *); -#endif /* KERNEL_PRIVATE */ +#endif /* BSD_KERNEL_PRIVATE */ #endif /* _NETINET6_ESP_H_ */