libpfkey.h revision 78064
162583Sitojun/* $FreeBSD: head/lib/libipsec/libpfkey.h 78064 2001-06-11 12:39:29Z ume $ */ 278064Sume/* $KAME: libpfkey.h,v 1.6 2001/03/05 18:22:17 thorpej Exp $ */ 362583Sitojun 462583Sitojun/* 562583Sitojun * Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project. 662583Sitojun * All rights reserved. 762583Sitojun * 862583Sitojun * Redistribution and use in source and binary forms, with or without 962583Sitojun * modification, are permitted provided that the following conditions 1062583Sitojun * are met: 1162583Sitojun * 1. Redistributions of source code must retain the above copyright 1262583Sitojun * notice, this list of conditions and the following disclaimer. 1362583Sitojun * 2. Redistributions in binary form must reproduce the above copyright 1462583Sitojun * notice, this list of conditions and the following disclaimer in the 1562583Sitojun * documentation and/or other materials provided with the distribution. 1662583Sitojun * 3. Neither the name of the project nor the names of its contributors 1762583Sitojun * may be used to endorse or promote products derived from this software 1862583Sitojun * without specific prior written permission. 1962583Sitojun * 2062583Sitojun * THIS SOFTWARE IS PROVIDED BY THE PROJECT AND CONTRIBUTORS ``AS IS'' AND 2162583Sitojun * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 2262583Sitojun * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 2362583Sitojun * ARE DISCLAIMED. IN NO EVENT SHALL THE PROJECT OR CONTRIBUTORS BE LIABLE 2462583Sitojun * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 2562583Sitojun * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 2662583Sitojun * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 2762583Sitojun * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 2862583Sitojun * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 2962583Sitojun * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 3062583Sitojun * SUCH DAMAGE. 3162583Sitojun */ 3262583Sitojun 3378064Sumestruct sadb_msg; 3462583Sitojunextern void pfkey_sadump __P((struct sadb_msg *)); 3562583Sitojunextern void pfkey_spdump __P((struct sadb_msg *)); 3662583Sitojun 3762583Sitojunstruct sockaddr; 3878064Sumestruct sadb_alg; 3962583Sitojunint ipsec_check_keylen __P((u_int, u_int, u_int)); 4078064Sumeint ipsec_check_keylen2 __P((u_int, u_int, u_int)); 4178064Sumeint ipsec_get_keylen __P((u_int, u_int, struct sadb_alg *)); 4262583Sitojunu_int pfkey_set_softrate __P((u_int, u_int)); 4362583Sitojunu_int pfkey_get_softrate __P((u_int)); 4462583Sitojunint pfkey_send_getspi __P((int, u_int, u_int, struct sockaddr *, 4562583Sitojun struct sockaddr *, u_int32_t, u_int32_t, u_int32_t, u_int32_t)); 4662583Sitojunint pfkey_send_update __P((int, u_int, u_int, struct sockaddr *, 4762583Sitojun struct sockaddr *, u_int32_t, u_int32_t, u_int, 4862583Sitojun caddr_t, u_int, u_int, u_int, u_int, u_int, u_int32_t, u_int64_t, 4962583Sitojun u_int64_t, u_int64_t, u_int32_t)); 5062583Sitojunint pfkey_send_add __P((int, u_int, u_int, struct sockaddr *, 5162583Sitojun struct sockaddr *, u_int32_t, u_int32_t, u_int, 5262583Sitojun caddr_t, u_int, u_int, u_int, u_int, u_int, u_int32_t, u_int64_t, 5362583Sitojun u_int64_t, u_int64_t, u_int32_t)); 5462583Sitojunint pfkey_send_delete __P((int, u_int, u_int, 5562583Sitojun struct sockaddr *, struct sockaddr *, u_int32_t)); 5678064Sumeint pfkey_send_delete_all __P((int, u_int, u_int, 5778064Sume struct sockaddr *, struct sockaddr *)); 5862583Sitojunint pfkey_send_get __P((int, u_int, u_int, 5962583Sitojun struct sockaddr *, struct sockaddr *, u_int32_t)); 6062583Sitojunint pfkey_send_register __P((int, u_int)); 6162583Sitojunint pfkey_recv_register __P((int)); 6278064Sumeint pfkey_set_supported __P((struct sadb_msg *, int)); 6362583Sitojunint pfkey_send_flush __P((int, u_int)); 6462583Sitojunint pfkey_send_dump __P((int, u_int)); 6562583Sitojunint pfkey_send_promisc_toggle __P((int, int)); 6662583Sitojunint pfkey_send_spdadd __P((int, struct sockaddr *, u_int, 6762583Sitojun struct sockaddr *, u_int, u_int, caddr_t, int, u_int32_t)); 6878064Sumeint pfkey_send_spdadd2 __P((int, struct sockaddr *, u_int, 6978064Sume struct sockaddr *, u_int, u_int, u_int64_t, u_int64_t, 7078064Sume caddr_t, int, u_int32_t)); 7162583Sitojunint pfkey_send_spdupdate __P((int, struct sockaddr *, u_int, 7262583Sitojun struct sockaddr *, u_int, u_int, caddr_t, int, u_int32_t)); 7378064Sumeint pfkey_send_spdupdate2 __P((int, struct sockaddr *, u_int, 7478064Sume struct sockaddr *, u_int, u_int, u_int64_t, u_int64_t, 7578064Sume caddr_t, int, u_int32_t)); 7662583Sitojunint pfkey_send_spddelete __P((int, struct sockaddr *, u_int, 7762583Sitojun struct sockaddr *, u_int, u_int, caddr_t, int, u_int32_t)); 7862583Sitojunint pfkey_send_spddelete2 __P((int, u_int32_t)); 7962583Sitojunint pfkey_send_spdget __P((int, u_int32_t)); 8062583Sitojunint pfkey_send_spdsetidx __P((int, struct sockaddr *, u_int, 8162583Sitojun struct sockaddr *, u_int, u_int, caddr_t, int, u_int32_t)); 8262583Sitojunint pfkey_send_spdflush __P((int)); 8362583Sitojunint pfkey_send_spddump __P((int)); 8462583Sitojun 8562583Sitojunint pfkey_open __P((void)); 8662583Sitojunvoid pfkey_close __P((int)); 8762583Sitojunstruct sadb_msg *pfkey_recv __P((int)); 8862583Sitojunint pfkey_send __P((int, struct sadb_msg *, int)); 8962583Sitojunint pfkey_align __P((struct sadb_msg *, caddr_t *)); 9062583Sitojunint pfkey_check __P((caddr_t *)); 91