From: Michel <mi...@tu...> - 2007-08-23 06:53:26
|
On Wed, 2007-08-22 at 20:09 +0200, Matthias Hopf wrote: > On Aug 22, 07 17:21:09 +0300, Daniel Stone wrote: > > > > Without a version field, this is made impossible, something that must be > > > avoided at all costs. > > > > Except that your ioctl then becomes variably-sized unless you add loads > > of padding and hope for the best. > > If every tag is int32 and its parameter int32 as well, this isn't too > problematic. Right, e.g. the actual ioctl struct could just contain pointers to the tag arrays. > Question is whether everything needed can be represented in > 32 bit values, strings are a completely different concept and don't > match well here, as pointers are probably difficult to handle over the > user land / kernel barrier... They basically need to be passed as 64 bit integers, and care must be taken wrt alignment of struct members. But yeah, FWIW I don't think there's any real technical barriers preventing this approach. -- Earthling Michel Dänzer | http://tungstengraphics.com Libre software enthusiast | Debian, X and DRI developer |