ddp_var.h revision 256281
1241675Suqs/*-
2241675Suqs * Copyright (c) 1990, 1994 Regents of The University of Michigan.
3241675Suqs * All Rights Reserved.
4241675Suqs *
5241675Suqs * Permission to use, copy, modify, and distribute this software and
6241675Suqs * its documentation for any purpose and without fee is hereby granted,
7241675Suqs * provided that the above copyright notice appears in all copies and
8241675Suqs * that both that copyright notice and this permission notice appear
9241675Suqs * in supporting documentation, and that the name of The University
10241675Suqs * of Michigan not be used in advertising or publicity pertaining to
11241675Suqs * distribution of the software without specific, written prior
12241675Suqs * permission. This software is supplied as is without expressed or
13241675Suqs * implied warranties of any kind.
14241675Suqs *
15241675Suqs * This product includes software developed by the University of
16241675Suqs * California, Berkeley and its contributors.
17241675Suqs *
18241675Suqs *	Research Systems Unix Group
19241675Suqs *	The University of Michigan
20241675Suqs *	c/o Wesley Craig
21241675Suqs *	535 W. William Street
22241675Suqs *	Ann Arbor, Michigan
23241675Suqs *	+1-313-764-2278
24241675Suqs *	netatalk@umich.edu
25241675Suqs *
26241675Suqs * $FreeBSD: stable/10/sys/netatalk/ddp_var.h 165974 2007-01-12 15:07:51Z rwatson $
27241675Suqs */
28241675Suqs
29241675Suqs#ifndef _NETATALK_DDP_VAR_H_
30241675Suqs#define	_NETATALK_DDP_VAR_H_
31241675Suqs
32241675Suqsstruct ddpcb {
33241675Suqs	struct sockaddr_at	 ddp_fsat, ddp_lsat;
34241675Suqs	struct route		 ddp_route;
35241675Suqs	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