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