My nikel to Linux kernel wishlist ( module_syscall )

sergey@memco.com
Fri, 20 Aug 1999 21:20:46 -0400


Hi there,
Most dynamic kernel modules have to have an interface with user level
programs.
Right now OS Linux has only three kind of such interfaces: device drivers,
system calls
and pseudo files in /proc FS. If you want to add your own module to Linux
kernel
you should write your own special pseudo-driver or even use your own entry in
system_call_table[] i.e. you borrow some extra resource from system.
I propose an idea of new special system call for sending direct requests to
dynamic modules from
user level programs. Every dynamic module would have a special entry point (
like init_module &
cleanup_module) named syscall_module();

int syscall_module( char *module_name, int request, void *data, int size);

MODULE_NAME - Name of the kernel module ( in user space area ).
REQUEST - A request number.
DATA - Address of parameters ( in user space area )
SIZE - Size of parameters

The user system call would have the same prototype ( and name - call_module ).
Every time user task make that system call it redirect to module
SYSCALL_MODULE() routine or
returns -ENOSYS if such module has not that entry point.

Sergey

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/