在4.4BSD-Lite中使用m_devget中的sizeof?

时间:2015-04-03 13:06:18

标签: c bsd

m_devget的第605行到第608行中,有一段代码看起来像这样

if (off) {
     cp += off + 2 * sizeof(u_short);
     totlen -= 2 * sizeof(u_short);
 }

2 * sizeof(u_short)是什么?

1 个答案:

答案 0 :(得分:0)

有问题的功能将数据从设备存储器复制到mbuf结构中。

如果off(初始化为off0参数)不为零,则意味着正在处理的数据包是拖车封装的,因此代码必须跳过类型和长度字段。每个字段都是16位宽。代码假设u_short也是16位宽。