1*fb9475d6Sderaadt /* $OpenBSD: ike_auth.h,v 1.5 2004/04/15 18:39:25 deraadt Exp $ */ 201f1f88eSniklas /* $EOM: ike_auth.h,v 1.5 1998/08/16 19:55:24 provos Exp $ */ 32040585eSniklas 42040585eSniklas /* 52040585eSniklas * Copyright (c) 1998 Niklas Hallqvist. All rights reserved. 62040585eSniklas * 72040585eSniklas * Redistribution and use in source and binary forms, with or without 82040585eSniklas * modification, are permitted provided that the following conditions 92040585eSniklas * are met: 102040585eSniklas * 1. Redistributions of source code must retain the above copyright 112040585eSniklas * notice, this list of conditions and the following disclaimer. 122040585eSniklas * 2. Redistributions in binary form must reproduce the above copyright 132040585eSniklas * notice, this list of conditions and the following disclaimer in the 142040585eSniklas * documentation and/or other materials provided with the distribution. 152040585eSniklas * 162040585eSniklas * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 172040585eSniklas * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 182040585eSniklas * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 192040585eSniklas * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, 202040585eSniklas * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 212040585eSniklas * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 222040585eSniklas * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 232040585eSniklas * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 242040585eSniklas * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 252040585eSniklas * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 262040585eSniklas */ 272040585eSniklas 282040585eSniklas /* 292040585eSniklas * This code was written under funding by Ericsson Radio Systems. 302040585eSniklas */ 312040585eSniklas 322040585eSniklas #ifndef _IKE_AUTH_H_ 332040585eSniklas #define _IKE_AUTH_H_ 342040585eSniklas 352040585eSniklas #include <sys/types.h> 362040585eSniklas 372040585eSniklas struct exchange; 382040585eSniklas 392040585eSniklas struct ike_auth { 402040585eSniklas u_int16_t id; 412040585eSniklas u_int8_t *(*gen_skeyid) (struct exchange *, size_t *); 422040585eSniklas int (*decode_hash) (struct message *); 432040585eSniklas int (*encode_hash) (struct message *); 442040585eSniklas }; 452040585eSniklas 462040585eSniklas extern struct ike_auth *ike_auth_get(u_int16_t); 472040585eSniklas 482040585eSniklas #endif /* _IKE_AUTH_H_ */ 49