📄 mymbuf.c
字号:
/* 2007-1-11 11:59上午 djl modify*/
#define MCLBYTES 2048 /* 一个mbuf簇(外部缓存)的大小 */
#define MHLEN 100 /* 带分组首部的mbuf的最大数据量 */
#define MINCLSIZE 208 /* 存储到簇中的最小数据 */
#define MLEN 108 /* 在正常的mbuf中的最大数据量*/
#define MSIZE 128 /* 每个mbuf的大小*/
/* mbuf 首部结构 */
struct m_hdr
{
struct mbuf *mh_next;
struct mbuf *mh_nextpkt;
int mh_len;
caddr_t mh_data;
short mh_type;
short mh_flag;
};
/* 包头 */
struct pkthdr
{
int len;
struct ifnet *rcvif;
}
/* description of external storage mapped into mbuf,valid if M_NEXT set*/
struct m_ext
{
caddr_t ext_buf;
void (*ext_free)();
u_int ext_size;
};
struct mbuf
{
struct m_hdr m_hdr;
union{
struct pkthdr MH_pkthdr;
union{
struct m_ext MH_ext;
char MH_databuf[MHLEN];
}MH;
char M_databuf[MLEN];
}M_dat;
};
#define m_nexts m_hdr.mh_next
#define m_leng m_hdr.mh_len
#define m_datas m_hdr.mh_data
#define m_types m_hdr.mh_type
#define m_flagss m_hdr.mh_flags
#define m_nextpkts m_hdr.mh_nextpkt
#define act m_nextpkts
#define m_pkthdrs M_dat.MH.MH_pkthdr
#define m_exts M_dat.MH.MH_dat.MH_ext
#define m_pktdat M_dat.MH.MH_dat.MH_databuf
#define m_dat M_dat.M_databuf
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -