On Tue, 23.09.08 15:02, Ralf Corsepius (rc040203@xxxxxxxxxx) wrote: > > Let's say every single libc call would have been mutlipexed by a > > single function call. i.e. instead of calling malloc() like this: > > > > a = malloc(4711); > > > > you'd call: > > > > a = (void*) libc(LC_MLLC, 4711); > > > > Now think of hwo your program would look like in its entirety: > > unreadable. Absolutely crazy and unreadable. > > > > Now ioctl() does exactly this: a vast number of function calls are > > multiplexed via a single function call. Big fuckup. And everyone who > > claims that that would be good API design is just wrong, really, > > really wrong. It's not good. It's a fuckup. It's terrible. > > And I tell you: You are wrong, plain wrong. > > ioctl's are a well defined _low level_ interface, providing a clean and > "natural" separation between kernel and userspace. > To make them easily applicable in high-level userspace applications, > they are supposed to be wrapped. Yepp! That's exactly what I was saying: OSS as an application programmers interface is a trainwreck because it directly exposes ioctls. ioctl as an API for normal programs == bad! When ioctls are hidden to normal programs like ALSA does it == acceptable! Lennart -- Lennart Poettering Red Hat, Inc. lennart [at] poettering [dot] net ICQ# 11060553 http://0pointer.net/lennart/ GnuPG 0x1A015CC4 -- fedora-devel-list mailing list fedora-devel-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/fedora-devel-list