See the definition of TCP header in /netinet/tcp.h:
struct tcphdr { u_int16_t th_sport; /* source port */ u_int16_t th_dport; /* destin
There are two kind of order. One is byte order, one is bitfield order. There is no standard order about the bitfield order in C language. It depends on the compiler. Typically, the order of bitfields are reversed between big and little endian.