hi all, I am try to define a hardware specific struct, it is like below: struct xxx { __be32 pdu_cnt:6; __be32 y:3; __be32 wep_key:2; __be32 uses_wep_key:1; __be32 keep_alive:1; __be32 buff_tail_addr:19; __be32 cts_11g:1; __be32 rts_11g:1; __be32 x:2; __be32 frag_size:12; __be32 payload_len:12; __be32 frag_num:4; } but I am confuse with how to assign the values to the fields "buff_tail_addr" and "payload_len", I think there are two ways to assign values to them, but I don't know which is right? eg: I declare a variable struct xxx X; 1: X.buff_tail_addr = 0x3456; X.payload_len = 0x20; 2: X.buff_tail_addr = cpu_to_be32(0x3456); X.payload_len = cpu_to_be16(0x20); There are two way I think to assign values. Could anyone tell me which is right or both are wrong? I will be appreciate for any hints, thanks in advance! BR lyb - To unsubscribe from this list: send the line "unsubscribe linux-c-programming" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html