[lkml]   [2014]   [Apr]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: [RFC][4/11][MANUX] Kernel compatibility : ioctl(2)
On Tue, 15 Apr 2014 15:42:54 +0200
Emmanuel Colbus <> wrote:

> Continuing with syscalls, I would like to indicate you a modification
> I've done with regards to ioctl's. The thing is, I have had the need for
> ioctl's that return *file descriptors*, instead of standard return codes.

You probably only think you have ;-)

The return from an ioctl on 32bit is going to be an unsigned 32bit value,
as is a Linux file handle. So if you do

fd = ioctl(foo);

then not only have you got an interface that isn't compliant with
POSIX/SuS you also have no error reporting capability.

The expectation of ioctl is

err = ioctl(fd, FDIOWIBBLE, &result);

now if result is a pointer to where to store one or more file handles you
are sorted.

If you are going to use SuS/POSIX naming I'd really suggest sticking to
the expected behaviour in the standards.


 \ /
  Last update: 2014-04-15 17:41    [W:0.070 / U:2.300 seconds]
©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site