tech-kern archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: ioctl(2) vs sys/ioctl.h



In article <20474.1292802725%splode.eterna.com.au@localhost>,
matthew green  <mrg%eterna.com.au@localhost> wrote:
>
>> On Sun 19 Dec 2010 at 19:32:49 +0000, David Laight wrote:
>> > I suspect the only form that will work is soemthing like:
>> > 
>> > int ioctl(int, unsigned long, void *);
>> > #define ioctl(fd, cmd, arg) ioctl(fd, cmd, (void *)(intptr_t)(arg))
>> 
>> Easier: the aforementioned constant FLUSHR (and all others) can be
>> defined as ((void *)1234) (for appropriate values of 1234).
>> 
>> However, we don't have streams, so no streams ioctls, which makes the
>> point moot, at least for the given example.
>
>this changes the ABI on LP64BE if i am not mistaken.

That would change the ABI on _LP64 systems that don't pass the first 3
arguments in registers. We don't have any yet. On the other hand we are
not planning to change ioctl like this for no good reason (and we would
break standards compliance). I just changed the man pages to be consistent
with the implementation.

christos



Home | Main Index | Thread Index | Old Index