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$
27 */
28
29#ifndef _NETATALK_DDP_VAR_H_
30#define	_NETATALK_DDP_VAR_H_
31
32struct 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
43struct 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
57extern int			 ddp_cksum;
58extern struct ddpcb		*ddpcb_list;
59extern struct pr_usrreqs	 ddp_usrreqs;
60extern struct mtx		 ddp_list_mtx;
61#endif
62
63#endif /* _NETATALK_DDP_VAR_H_ */
64