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
38struct 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
48typedef 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