1*ce7279d8Sjsg /* $OpenBSD: ike_phase_1.h,v 1.5 2024/05/21 05:00:47 jsg Exp $ */ 2511b8570Sniklas 3511b8570Sniklas /* 4511b8570Sniklas * Copyright (c) 1999 Niklas Hallqvist. All rights reserved. 5511b8570Sniklas * 6511b8570Sniklas * Redistribution and use in source and binary forms, with or without 7511b8570Sniklas * modification, are permitted provided that the following conditions 8511b8570Sniklas * are met: 9511b8570Sniklas * 1. Redistributions of source code must retain the above copyright 10511b8570Sniklas * notice, this list of conditions and the following disclaimer. 11511b8570Sniklas * 2. Redistributions in binary form must reproduce the above copyright 12511b8570Sniklas * notice, this list of conditions and the following disclaimer in the 13511b8570Sniklas * documentation and/or other materials provided with the distribution. 14511b8570Sniklas * 15511b8570Sniklas * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 16511b8570Sniklas * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 17511b8570Sniklas * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 18511b8570Sniklas * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, 19511b8570Sniklas * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 20511b8570Sniklas * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 21511b8570Sniklas * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 22511b8570Sniklas * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 23511b8570Sniklas * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 24511b8570Sniklas * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 25511b8570Sniklas */ 26511b8570Sniklas 27511b8570Sniklas /* 28511b8570Sniklas * This code was written under funding by Ericsson Radio Systems. 29511b8570Sniklas */ 30511b8570Sniklas 31511b8570Sniklas #ifndef _IKE_PHASE_1_H_ 32511b8570Sniklas #define _IKE_PHASE_1_H_ 33511b8570Sniklas 34511b8570Sniklas struct message; 35511b8570Sniklas 36511b8570Sniklas extern int ike_phase_1_initiator_recv_KE_NONCE(struct message *); 37511b8570Sniklas extern int ike_phase_1_initiator_recv_SA(struct message *); 38511b8570Sniklas extern int ike_phase_1_initiator_send_KE_NONCE(struct message *); 39511b8570Sniklas extern int ike_phase_1_initiator_send_SA(struct message *); 40511b8570Sniklas extern int ike_phase_1_post_exchange_KE_NONCE(struct message *); 41511b8570Sniklas extern int ike_phase_1_recv_AUTH(struct message *); 42511b8570Sniklas extern int ike_phase_1_recv_ID(struct message *); 43511b8570Sniklas extern int ike_phase_1_recv_ID_AUTH(struct message *); 44511b8570Sniklas extern int ike_phase_1_recv_KE_NONCE(struct message *); 45511b8570Sniklas extern int ike_phase_1_responder_recv_SA(struct message *); 46511b8570Sniklas extern int ike_phase_1_responder_send_SA(struct message *); 47511b8570Sniklas extern int ike_phase_1_responder_send_ID_AUTH(struct message *); 48511b8570Sniklas extern int ike_phase_1_send_AUTH(struct message *); 49511b8570Sniklas extern int ike_phase_1_send_ID(struct message *); 50511b8570Sniklas extern int ike_phase_1_send_KE_NONCE(struct message *, size_t); 51511b8570Sniklas 52511b8570Sniklas #endif /* _IKE_PHASE_1_H_ */ 53