1 /*-
2  * Copyright (c) 1990, 1994 Regents of The University of Michigan.
3  * All Rights Reserved.
4  *
5  * Permission to use, copy, modify, and distribute this software and
6  * its documentation for any purpose and without fee is hereby granted,
7  * provided that the above copyright notice appears in all copies and
8  * that both that copyright notice and this permission notice appear
9  * in supporting documentation, and that the name of The University
10  * of Michigan not be used in advertising or publicity pertaining to
11  * distribution of the software without specific, written prior
12  * permission. This software is supplied as is without expressed or
13  * implied warranties of any kind.
14  *
15  * This product includes software developed by the University of
16  * California, Berkeley and its contributors.
17  *
18  *	Research Systems Unix Group
19  *	The University of Michigan
20  *	c/o Wesley Craig
21  *	535 W. William Street
22  *	Ann Arbor, Michigan
23  *	+1-313-764-2278
24  *	netatalk@umich.edu
25  *
26  * $FreeBSD: stable/10/sys/netatalk/ddp_var.h 165974 2007-01-12 15:07:51Z rwatson $
27  */
28 
29 #ifndef _NETATALK_DDP_VAR_H_
30 #define	_NETATALK_DDP_VAR_H_
31 
32 struct ddpcb {
33 	struct sockaddr_at	 ddp_fsat, ddp_lsat;
34 	struct route		 ddp_route;
35 	struct socket		*ddp_socket;
36 	struct ddpcb		*ddp_prev, *ddp_next;
37 	struct ddpcb		*ddp_pprev, *ddp_pnext;
38 	struct mtx		 ddp_mtx;
39 };
40 
41 #define	sotoddpcb(so)	((struct ddpcb *)(so)->so_pcb)
42 
43 struct ddpstat {
44 	long	ddps_short;		/* short header packets received */
45 	long	ddps_long;		/* long header packets received */
46 	long	ddps_nosum;		/* no checksum */
47 	long	ddps_badsum;		/* bad checksum */
48 	long	ddps_tooshort;		/* packet too short */
49 	long	ddps_toosmall;		/* not enough data */
50 	long	ddps_forward;		/* packets forwarded */
51 	long	ddps_encap;		/* packets encapsulated */
52 	long	ddps_cantforward;	/* packets rcvd for unreachable dest */
53 	long	ddps_nosockspace;	/* no space in sockbuf for packet */
54 };
55 
56 #ifdef _KERNEL
57 extern int			 ddp_cksum;
58 extern struct ddpcb		*ddpcb_list;
59 extern struct pr_usrreqs	 ddp_usrreqs;
60 extern struct mtx		 ddp_list_mtx;
61 #endif
62 
63 #endif /* _NETATALK_DDP_VAR_H_ */
64