- 论坛徽章:
- 36
|
对于字节序,各位应该都比较熟悉了。而对于“位序”,今天在看linux源码tcp.h中才发现的,代码如下:
struct tcphdr {
__u16 source;
__u16 dest;
__u32 seq;
__u32 ack_seq;
#if defined(__LITTLE_ENDIAN_BITFIELD)
__u16 res1:4,
doff:4,
fin:1,
syn:1,
rst:1,
psh:1,
ack:1,
urg:1,
ece:1,
cwr:1;
#elif defined(__BIG_ENDIAN_BITFIELD)
__u16 doff:4,
res1:4,
cwr:1,
ece:1,
urg:1,
ack:1,
psh:1,
rst:1,
syn:1,
fin:1;
#else
#error "Adjust your defines"
#endif
__u16 window;
__u16 check;
__u16 urg_ptr;
}; |
感觉这里面说的应该是一个字节内8个位的顺序。哪位朋友熟悉的,给讲解一下。
貌似这个位序和主机的字节序是保持一致的。当小端字节为0x01时,大端为0x80.
[ 本帖最后由 Godbach 于 2008-4-10 17:03 编辑 ] |
|