tcp_private.h revision 1.3.4.2 1 1.3.4.2 mjf /* $NetBSD: tcp_private.h,v 1.3.4.2 2008/06/02 13:24:25 mjf Exp $ */
2 1.3.4.2 mjf
3 1.3.4.2 mjf /*-
4 1.3.4.2 mjf * Copyright (c) 2008 The NetBSD Foundation, Inc.
5 1.3.4.2 mjf * All rights reserved.
6 1.3.4.2 mjf *
7 1.3.4.2 mjf * This code is derived from software contributed to The NetBSD Foundation
8 1.3.4.2 mjf * by Jason R. Thorpe.
9 1.3.4.2 mjf *
10 1.3.4.2 mjf * Redistribution and use in source and binary forms, with or without
11 1.3.4.2 mjf * modification, are permitted provided that the following conditions
12 1.3.4.2 mjf * are met:
13 1.3.4.2 mjf * 1. Redistributions of source code must retain the above copyright
14 1.3.4.2 mjf * notice, this list of conditions and the following disclaimer.
15 1.3.4.2 mjf * 2. Redistributions in binary form must reproduce the above copyright
16 1.3.4.2 mjf * notice, this list of conditions and the following disclaimer in the
17 1.3.4.2 mjf * documentation and/or other materials provided with the distribution.
18 1.3.4.2 mjf *
19 1.3.4.2 mjf * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
20 1.3.4.2 mjf * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
21 1.3.4.2 mjf * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
22 1.3.4.2 mjf * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
23 1.3.4.2 mjf * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
24 1.3.4.2 mjf * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
25 1.3.4.2 mjf * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
26 1.3.4.2 mjf * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
27 1.3.4.2 mjf * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
28 1.3.4.2 mjf * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
29 1.3.4.2 mjf * POSSIBILITY OF SUCH DAMAGE.
30 1.3.4.2 mjf */
31 1.3.4.2 mjf
32 1.3.4.2 mjf #ifndef _NETINET_TCP_PRIVATE_H_
33 1.3.4.2 mjf #define _NETINET_TCP_PRIVATE_H_
34 1.3.4.2 mjf
35 1.3.4.2 mjf #ifdef _KERNEL
36 1.3.4.2 mjf #include <net/net_stats.h>
37 1.3.4.2 mjf
38 1.3.4.2 mjf extern percpu_t *tcpstat_percpu;
39 1.3.4.2 mjf
40 1.3.4.2 mjf #define TCP_STAT_GETREF() _NET_STAT_GETREF(tcpstat_percpu)
41 1.3.4.2 mjf #define TCP_STAT_PUTREF() _NET_STAT_PUTREF(tcpstat_percpu)
42 1.3.4.2 mjf
43 1.3.4.2 mjf #define TCP_STATINC(x) _NET_STATINC(tcpstat_percpu, x)
44 1.3.4.2 mjf #define TCP_STATADD(x, v) _NET_STATADD(tcpstat_percpu, x, v)
45 1.3.4.2 mjf
46 1.3.4.2 mjf #ifdef __NO_STRICT_ALIGNMENT
47 1.3.4.2 mjf #define TCP_HDR_ALIGNED_P(th) 1
48 1.3.4.2 mjf #else
49 1.3.4.2 mjf #define TCP_HDR_ALIGNED_P(th) ((((vaddr_t)(th)) & 3) == 0)
50 1.3.4.2 mjf #endif /* __NO_STRICT_ALIGNMENT */
51 1.3.4.2 mjf #endif /* _KERNEL */
52 1.3.4.2 mjf
53 1.3.4.2 mjf #endif /* !_NETINET_TCP_PRIVATE_H_ */
54