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