Make ip.h and tcp.h work under -fnative-struct or -fms-bitfields

Wu Yongwei adah@netstd.com
Mon Oct 28 01:39:00 GMT 2002


Oops, what kind of problem can occur? I did not think of that. But I 
suppose u_char is symmetric with other definitions, and it always works 
for me under GCC or MSVC (while __attribute__((packed)) works only for GCC).

Best regards,

Wu Yongwei

--- Original Message from Danny Smith ---

  --- Wu Yongwei <adah@netstd.com> wrote:
 > These header files use "u_int xxx:4, yyy:4", which in the MS convetion
 > will generate 4-byte instead of 1-byte bit fields.
 >
 > ChangeLog:
 >
 > 2002-10-28  Wu Yongwei <adah@netstd.com>
 >
 > 		 * ip.h (struct ip): Use u_char to indicate bitfields to make it
 > 		 work with -fnative-struct/-fms-bitfields.
 > 		 (struct ip_timestamp): Ditto.
 > 		 * tcp.h (struct tcphdr): Ditto.


Changing types like that can cause problems.
Wouldn't it be better to just use __attribute__((packed)) to pack the 
fields?
Danny




More information about the Cygwin-patches mailing list