Messages in this thread | | | From | walt <> | Subject | Should <linux/serial.h> define __u32? | Date | Sun, 28 Dec 2008 14:24:36 -0800 |
| |
Hi Alan and Linus,
A little background to explain the reason for my question:
My linux distribution just updated /usr/include/linux to 2.6.28, which broke the compilation of wine.
The cause for the breakage is this commit by Linus: commit c26c56c0f40e200e61d1390629c806f6adaffbcc Author: Alan Cox <alan@redhat.com> Date: Mon Oct 13 10:37:48 2008 +0100 tty: Cris has a nice RS485 ioctl so we should steal it
That commit introduced this new struct in serial.h:
+struct serial_rs485 { + __u32 flags; /* RS485 feature flags */ +#define SER_RS485_ENABLED (1 << 0) +#define SER_RS485_RTS_ON_SEND (1 << 1) +#define SER_RS485_RTS_AFTER_SEND (1 << 2) + __u32 delay_rts_before_send; /* Milliseconds */ + __u32 padding[6]; /* Memory is cheap, new structs + are a royal PITA .. */ +};
The proximate cause of the wine breakage is the __u32, which wasn't used in serial.h until now.
So, my question is: who should be responsible for defining that __u32, the author of serial.h or the author of the wine code that includes serial.h?
I'm not a professional programmer, just a hobbyist who loves doing this stuff. When I try to trace the chain of definitions in /usr/include I'm generally overwhelmed by the complexity of what seems to be an endless chain of includes.
Could you give me The Big Picture here? (For example I'm assuming that POSIX plays a confounding role in all of this, but I don't know just how.)
Many thanks for any clues!
| |