1 1.31 ozaki /* $NetBSD: udp6_var.h,v 1.31 2022/10/28 05:18:39 ozaki-r Exp $ */ 2 1.9 itojun /* $KAME: udp6_var.h,v 1.11 2000/06/05 00:14:31 itojun Exp $ */ 3 1.3 thorpej 4 1.2 itojun /* 5 1.2 itojun * Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project. 6 1.2 itojun * All rights reserved. 7 1.9 itojun * 8 1.2 itojun * Redistribution and use in source and binary forms, with or without 9 1.2 itojun * modification, are permitted provided that the following conditions 10 1.2 itojun * are met: 11 1.2 itojun * 1. Redistributions of source code must retain the above copyright 12 1.2 itojun * notice, this list of conditions and the following disclaimer. 13 1.2 itojun * 2. Redistributions in binary form must reproduce the above copyright 14 1.2 itojun * notice, this list of conditions and the following disclaimer in the 15 1.2 itojun * documentation and/or other materials provided with the distribution. 16 1.2 itojun * 3. Neither the name of the project nor the names of its contributors 17 1.2 itojun * may be used to endorse or promote products derived from this software 18 1.2 itojun * without specific prior written permission. 19 1.9 itojun * 20 1.2 itojun * THIS SOFTWARE IS PROVIDED BY THE PROJECT AND CONTRIBUTORS ``AS IS'' AND 21 1.2 itojun * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 22 1.2 itojun * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 23 1.2 itojun * ARE DISCLAIMED. IN NO EVENT SHALL THE PROJECT OR CONTRIBUTORS BE LIABLE 24 1.2 itojun * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 25 1.2 itojun * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 26 1.2 itojun * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 27 1.2 itojun * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 28 1.2 itojun * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 29 1.2 itojun * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 30 1.2 itojun * SUCH DAMAGE. 31 1.2 itojun */ 32 1.2 itojun 33 1.2 itojun /* 34 1.2 itojun * Copyright (c) 1982, 1986, 1989, 1993 35 1.2 itojun * The Regents of the University of California. All rights reserved. 36 1.2 itojun * 37 1.2 itojun * Redistribution and use in source and binary forms, with or without 38 1.2 itojun * modification, are permitted provided that the following conditions 39 1.2 itojun * are met: 40 1.2 itojun * 1. Redistributions of source code must retain the above copyright 41 1.2 itojun * notice, this list of conditions and the following disclaimer. 42 1.2 itojun * 2. Redistributions in binary form must reproduce the above copyright 43 1.2 itojun * notice, this list of conditions and the following disclaimer in the 44 1.2 itojun * documentation and/or other materials provided with the distribution. 45 1.14 agc * 3. Neither the name of the University nor the names of its contributors 46 1.2 itojun * may be used to endorse or promote products derived from this software 47 1.2 itojun * without specific prior written permission. 48 1.2 itojun * 49 1.2 itojun * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 50 1.2 itojun * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 51 1.2 itojun * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 52 1.2 itojun * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 53 1.2 itojun * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 54 1.2 itojun * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 55 1.2 itojun * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 56 1.2 itojun * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 57 1.2 itojun * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 58 1.2 itojun * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 59 1.2 itojun * SUCH DAMAGE. 60 1.2 itojun * 61 1.2 itojun * @(#)udp_var.h 8.1 (Berkeley) 6/10/93 62 1.2 itojun */ 63 1.2 itojun 64 1.2 itojun #ifndef _NETINET6_UDP6_VAR_H_ 65 1.2 itojun #define _NETINET6_UDP6_VAR_H_ 66 1.2 itojun 67 1.2 itojun /* 68 1.2 itojun * UDP Kernel structures and variables. 69 1.2 itojun */ 70 1.22 thorpej 71 1.22 thorpej #define UDP6_STAT_IPACKETS 0 /* total input packets */ 72 1.22 thorpej #define UDP6_STAT_HDROPS 1 /* packet shorter than header */ 73 1.22 thorpej #define UDP6_STAT_BADSUM 2 /* checksum error */ 74 1.22 thorpej #define UDP6_STAT_NOSUM 3 /* no checksum */ 75 1.22 thorpej #define UDP6_STAT_BADLEN 4 /* data length larger than packet */ 76 1.22 thorpej #define UDP6_STAT_NOPORT 5 /* no socket on port */ 77 1.22 thorpej #define UDP6_STAT_NOPORTMCAST 6 /* of above, arrived as multicast */ 78 1.22 thorpej #define UDP6_STAT_FULLSOCK 7 /* not delivered, input socket full */ 79 1.22 thorpej #define UDP6_STAT_PCBCACHEMISS 8 /* input packets missing pcb cache */ 80 1.22 thorpej #define UDP6_STAT_OPACKETS 9 /* total output packets */ 81 1.22 thorpej 82 1.22 thorpej #define UDP6_NSTATS 10 83 1.2 itojun 84 1.2 itojun /* 85 1.17 rpaulo * Names for UDP6 sysctl objects 86 1.2 itojun */ 87 1.24 christos #define UDP6CTL_SENDSPACE 1 /* default send buffer */ 88 1.24 christos #define UDP6CTL_RECVSPACE 2 /* default recv buffer */ 89 1.16 thorpej #define UDP6CTL_LOOPBACKCKSUM 3 /* do UDP checksum on loopback? */ 90 1.24 christos #define UDP6CTL_STATS 4 /* udp6 statistics */ 91 1.2 itojun 92 1.2 itojun #ifdef _KERNEL 93 1.26 rmind 94 1.26 rmind extern const struct pr_usrreqs udp6_usrreqs; 95 1.26 rmind 96 1.23 ad void *udp6_ctlinput(int, const struct sockaddr *, void *); 97 1.24 christos int udp6_ctloutput(int, struct socket *, struct sockopt *); 98 1.21 dyoung void udp6_init(void); 99 1.21 dyoung int udp6_input(struct mbuf **, int *, int); 100 1.31 ozaki int udp6_output(struct inpcb *, struct mbuf *, struct sockaddr_in6 *, 101 1.24 christos struct mbuf *, struct lwp *); 102 1.21 dyoung int udp6_sysctl(int *, u_int, void *, size_t *, void *, size_t); 103 1.24 christos int udp6_usrreq(struct socket *, int, struct mbuf *, struct mbuf *, 104 1.24 christos struct mbuf *, struct lwp *); 105 1.27 rmind int udp6_realinput(int, struct sockaddr_in6 *, struct sockaddr_in6 *, 106 1.30 knakahar struct mbuf **, int); 107 1.27 rmind int udp6_input_checksum(struct mbuf *, const struct udphdr *, int, int); 108 1.22 thorpej 109 1.22 thorpej void udp6_statinc(u_int); 110 1.2 itojun #endif /* _KERNEL */ 111 1.2 itojun 112 1.18 elad #endif /* !_NETINET6_UDP6_VAR_H_ */ 113