Messages in this thread | | | From | sergey@memco ... | Date | Fri, 20 Aug 1999 21:20:46 -0400 | Subject | My nikel to Linux kernel wishlist ( module_syscall ) |
| |
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/
| |