Messages in this thread | | | Subject | Re: best way to access device driver functions | From | Nix <> | Date | Fri, 16 Sep 2005 16:24:15 +0100 |
| |
On 16 Sep 2005, Arjan van de Ven noted: > >> New *system calls* are generally avoided (especially if they might be >> useful to non-privileged code) because they come with a *very* high >> backward compatibility burden > > ioctls come with the same burden though.
Well, sort of. A lot of ioctl()s are widely-known and surely can't be changed, just like syscalls (e.g. the terminal control stuff) --- but in the past even things like the HD geometry ioctls have changed, and ioctl()s specific to, say, a single obscure block device could probably change without requiring recompilation of more than one or two userspace programs (and this has happened).
Indeed, one of the problems with ioctl()s is that there is no clear delineation: some ioctl()s are heavily used and some are totally unused, and it's never clear which is which in all cases.
(I suppose this is sort of true of syscalls too --- how many people call sys_uselib()? --- but to a much lesser extent, because there's no such thing as an `obscure device-specific syscall'.)
-- `One cannot, after all, be expected to read every single word of a book whose author one wishes to insult.' --- Richard Dawkins - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |