16비트로 된 bit field를 가지고 있는 데이터형이 있습니다.
typedef struct {
short myflag0 :1,
myflag1 :1,
.....
myflag15:1
} flags_t;
네트웍으로 서로 다른 플랫폼에서 flag로 사용하려는데요
보내는 쪽은 Big-endian 시스템(Motorola PPC)이고 받는 쪽은 Little-endian (인텔/리눅스)입니다.
받는 쪽에서 flag = ntohs(flag) 로 변환해서 데이터를 보면
비트필드가 완전히 반대로 되어있는 것으로 보입니다.
myflag0을 1로 세팅했는데 받아서 보면 myflag15가 세팅되어있는 식으로요.