- 论坛徽章:
- 0
|
最近要写一个NDIS 中间层驱动程序 ,想问一下什么时候需要进行数据转换
typedef struct _ETHERNET_HEADER {
UCHAR eth_dest[6]; // Destination address
UCHAR eth_src[6]; // Source address
union {
USHORT eth_len; // 802.3 length field.
USHORT eth_type; // Ethernet type field.
};
} ETHERNET_HEADER, *PETHERNET_HEADER;
不使用htons的情况下
比如我想把pEthHd->eth_type的值赋值为0XABCD,我的主机字节顺序是小端顺序,程序里该怎么书写是
pEthHd->eth_type=0xABCD
还是pEthHd->eth_type=0xCD AB
是不是如果你的主机是大段模式 就不需要转换如果你的主机是小端模式 才需要转换。如果我的主机和网络字节顺序一样就不需要转换了,别人收到后如果别人的和网络不一样他就转换,如果别人的主机和网络顺序一样就不转换 |
|