在传统的容器中(不是FD),__ res0和__res1字节代表什么?

时间:2019-07-15 10:13:32

标签: can-bus

我一直在使用tcpdump来准确捕获系统要发送到的内容:

4a02 0000 0800 0000 2011 0123 4567 890A
4a02 0000 0800 0000 2111 0123 4567 890A

在大多数情况下,长度(8)之后的字节始终为00 0000,然后我的有效负载的实际数据就会开始。

但是经常这样:

4a02 0000 08e4 0bcc 2011 0123 4567 890A
4a02 0000 08a7 5ea7 2111 0123 4567 890A

填充,res0和res1字节填充:

struct can_frame {
    canid_t can_id;  /* 32 bit CAN_ID + EFF/RTR/ERR flags */
    __u8    can_dlc; /* frame payload length in byte (0 .. CAN_MAX_DLEN) */
    __u8    __pad;   /* padding */
    __u8    __res0;  /* reserved / padding */
    __u8    __res1;  /* reserved / padding */
    __u8    data[CAN_MAX_DLEN] __attribute__((aligned(8)));
};

是什么原因导致__pad,__ res0和_res1被填充,我该如何解释它们的含义?

0 个答案:

没有答案