Re: Q: unify kernel driver - userlevel interface spec.

Theodore Y. Ts'o (tytso@MIT.EDU)
Mon, 6 Apr 1998 18:39:20 -0400


Date: Sat, 4 Apr 1998 20:41:29 +0200 (CEST)
From: Peter-Paul Witta <paul@ping.at>

i've seen some different tools in userspace to communicate with the
kernel drivers, like

setserial, hdparm, route, ifconfig (ok, those two ARE important),
tunelp,...

i'd like to try to create a unified interface thru the proc file system
(which has been done in most cases) and to write a small "app" - a program
with nifty docs, help, and so on...

/proc interfaces are useful for programs where the primary way of
utilizing the interface is via the user, or via a shell script. For
such interfaces where there needs to be a programatic interface, and for
those interfaces where certain interfaces are expected by programs that
are expecting a BSD sockets interface (i.e., route, ifconfig, etc.) we
have to keep the binary interface anyway. So it's not at all clear that
creating the unified interface is all that helpful. It breaks
compatibility with other operating systems in some cases, and in general
the /proc interface is more cumbersome than an ioctl based interface if
the main customer of an interface is C programs.

the program will be dummy-user friendly, althoud it should only be run
qith root permissions. it should run in textmode as well as in som
tk-style X window.

You should think about what problem you are trying to solve. In
general, the novice system administrator *doesn't* want a lot of knobs.
They want to perform certain tasks. Getting the UI simplified to the
right level is far more important than whether you access the interface
via a /proc interface or via a ioctl interface, or even simply having
the tk program edit shell scripts --- which you really need to do for
things like route and ifconfig so that the changes survive a reboot.

Take a look at what RedHat has already done with their control-panel
interface. It's really a step in the right direction. You'll see that
most of the work is in designing a good UI, and in having the proper
framework of initialization scripts to support making configuration
changes easily from a program.

- Ted

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu