Re: [PATCH] remove TCGETS
Matthew Wilcox <[email protected]> Thu, 14 Aug 2003 02:43:45 +0100
| Newsgroups | gmane.linux.file-systems,gmane.comp.file-systems.intermezzo.devel |
|---|---|
| Message-ID | <[email protected]> |
On Wed, Aug 13, 2003 at 07:28:18PM -0600, Peter Braam wrote:
> In fact some part of POSIX says that ioctls should return EINVAL
> that's why I made that choice. Anyway, the issue is moot.
Actually, it's an interesting point. The relevant bit of SUSv3 says:
If an underlying device driver detects an error, then ioctl() shall fail if:
[EINVAL]
The request or arg argument is not valid for this device.
[EIO]
Some physical I/O error has occurred.
[ENOTTY]
The fildes argument is not associated with a STREAMS device that
accepts control functions.
[ENXIO]
The request and arg arguments are valid for this device driver, but
the service requested cannot be performed on this particular sub-device.
[ENODEV]
The fildes argument refers to a valid STREAMS device, but the
corresponding device driver does not support the ioctl() function.
SUSv2 agrees: http://www.opengroup.org/onlinepubs/007908799/xsh/ioctl.html
Maybe we need to start removing ENOTTY returns from ioctl handlers.
I know, we all find it funny when we're told that something isn't a
typewriter, but ...
--
"It's not Hollywood. War is real, war is primarily not about defeat or
victory, it is about death. I've seen thousands and thousands of dead bodies.
Do you think I want to have an academic debate on this subject?" -- Robert Fisk
-
To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html