On Sunday 11 March 2007 21:11, Ulrich Kunitz wrote: > > I'm still not convinced that papering over the problem in userspace is a > > real solution. > > > > johannes > > Just my 2 cents. I support this. What are the options? I see only > two: > > 1. Use different magic numbers for 32 bit and 64 bit structures. A > flag is an alternative, but will be more difficult to debug. > Generation of the magic should be easy, use sizeof(unsigned > long) as test. User space has to care than for the rest. > > 2. Make the data representation identical in 32 bit and 64 bit. > > This shouldn't be to difficult, if only u8, u16 and u32 types > are used. > Pointers should be given as offsets. Offsets to what? > If necessary > align and/or packed attributes could be used. > > If the kernel interface can be changed, I vote for option 2, > because user space has then to deal with a unique data layout. > If the wext kernel interface cannot be changed to maintain > backward compatibility, then I have to admit band-aids in user > space are needed. However cfg80211 must not suffer from the same issues. All your suggestions break the userspace ABI on all machines, which is a thing we _really_ want to avoid. The right fix is to have a compatibility wrapper in the kernel, but it turns out to be hard to implement. I don't think we want to change the structures layout and break ABI. -- Greetings Michael. - To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html