File: /usr/src/linux/drivers/net/skfp/h/mbuf.h

1     /******************************************************************************
2      *
3      *	(C)Copyright 1998,1999 SysKonnect,
4      *	a business unit of Schneider & Koch & Co. Datensysteme GmbH.
5      *
6      *	This program is free software; you can redistribute it and/or modify
7      *	it under the terms of the GNU General Public License as published by
8      *	the Free Software Foundation; either version 2 of the License, or
9      *	(at your option) any later version.
10      *
11      *	The information in this file is provided "AS IS" without warranty.
12      *
13      ******************************************************************************/
14     
15     #ifndef	_MBUF_
16     #define _MBUF_
17     
18     #ifndef PCI
19     #define M_SIZE	4550
20     #else
21     #define M_SIZE	4504
22     #endif
23     
24     #ifndef MAX_MBUF
25     #define MAX_MBUF	4
26     #endif
27     
28     #ifndef NO_STD_MBUF
29     #define sm_next         m_next
30     #define sm_off          m_off
31     #define sm_len          m_len
32     #define sm_data         m_data
33     #define SMbuf           Mbuf
34     #define mtod		smtod
35     #define mtodoff		smtodoff
36     #endif
37     
38     struct s_mbuf {
39     	struct s_mbuf	*sm_next ;		/* low level linked list */
40     	short		sm_off ;			/* offset in m_data */
41     	u_int		sm_len ;			/* len of data */
42     #ifdef	PCI
43     	int		sm_use_count ;
44     #endif
45     	char		sm_data[M_SIZE] ;
46     } ;
47     
48     typedef struct s_mbuf SMbuf ;
49     
50     /* mbuf head, to typed data */
51     #define	smtod(x,t)	((t)((x)->sm_data + (x)->sm_off))
52     #define	smtodoff(x,t,o)	((t)((x)->sm_data + (o)))
53     
54     #endif	/* _MBUF_ */
55