b339d1f2e0e5c53e548ffd9db7224a40db80c229
[linux-2.6.git] / 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_ */