Export functions in kernel module to user Programs

 
Thread Tools Search this Thread
Operating Systems Linux Red Hat Export functions in kernel module to user Programs
# 1  
Old 10-28-2009
Export functions in kernel module to user Programs

Hi all,

I just started working on kernel modules. One query i'm not able to resolve how i can use call any of my function(take example testfunc() ) defined in my loadable kernel module (take example : test.ko)
I want to export kernel module functions to user programs.

Consider i have insmoded test.ko, now i'm writing any program on my linux machine and i want to use or call testfunc() in my program in userspace, and i don't want to call testfunc() at loading of test.ko (because there is way of calling it from init_module()), i want to call it from my program afterwards then how i should do this or is it possible or not?

Please guide. Waiting for response.

Thanks and Regards,
Tarun
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Difference between inbuilt suid programs and user defined root suid programs under bash shell?

Hey guys, Suppose i run passwd via bash shell. It is a suid program, which temporarily runs as root(owner) and modifies the user entries. However, when i write a C file and give 4755 permission and root ownership to the 'a.out' file , it doesn't run as root in bash shell. I verified this by... (2 Replies)
Discussion started by: syncmaster
2 Replies

2. Linux

Unload kernel module at boot time (Debian Wheezy 7.2, 3.2.0-4-686-pae kernel)

Hi everyone, I am trying to prevent the ehci_hcd kernel module to load at boot time. Here's what I've tried so far: 1) Add the following line to /etc/modprobe.d/blacklist.conf (as suggested here): 2) Blacklisted the module by adding the following string to 3) Tried to blacklist the module... (0 Replies)
Discussion started by: gacanepa
0 Replies

3. Ubuntu

How to run kernel functions in a separate core?

Hello Friends, I am using Ubundu. I want to know how to run kernel functions in a separate core? I know about Taskset and it supports only for the application. Do anybody know any command (or) have any idea about how to do it? Please help me Thank you (3 Replies)
Discussion started by: reksss
3 Replies

4. Programming

can a linux kernel module call libc functions?

can a linux kernel module call libc functions, such as printf(), strcpy(), etc...? (9 Replies)
Discussion started by: vistastar
9 Replies

5. IP Networking

kernel module

Hi All, I need to develop a kernel module which changes the IP address of a package according to its mac address. It would be a sort of L2 Nat. Somebody know if I can do this using netfilter?? Thanks. (2 Replies)
Discussion started by: lagigliaivan
2 Replies

6. Linux

How to convert Linux Kernel built-in module into a loadable module

Hi all, I am working on USB data monitoring on Fedora Core 9. Kernel 2.6.25 has a built-in module (the one that isn't loadable, but compiles and links statically with the kernel during compilation) to snoop USB data. It is in <kernel_source_code>/drivers/usb/mon/. I need to know if I can... (0 Replies)
Discussion started by: anitemp
0 Replies

7. UNIX for Advanced & Expert Users

kernel functions issue!

Hello All, I'm new to linux programming and this is my first post.I am porting ethernet driver from Linux2.4 to Linux2.6 for Xscale, after modifications I am able to install the driver. Now when i assign the address to my device using ifconfig, kenerl is going to panic. Stack trace is showing... (0 Replies)
Discussion started by: vineykr
0 Replies

8. Linux

kernel functions issue!

Hello All, I'm new to linux programming and this is my first post.I am porting ethernet driver from Linux2.4 to Linux2.6 for Xscale, after modifications I am able to install the driver. Now when i assign the address to my device using ifconfig, kenerl is going to panic. Stack trace is showing... (0 Replies)
Discussion started by: vineykr
0 Replies

9. SuSE

max number of slabs per kernel module (kernel 2.6.17, suse)

Hi All, Is there a max number of slabs that can be used per kernel module? I'm having a tough time finding out that kind of information, but the array 'node_zonelists' (mmzone.h) has a size of 5. I just want to avoid buffer overruns and other bad stuff. Cheers, Brendan (4 Replies)
Discussion started by: Brendan Kennedy
4 Replies

10. Programming

call functions from diferents programs

hi i have ten program in C, and there are functions what are in all the programs. so, i want to make a directory to store all the functions what are in all the programs, and call them from the C programs. (sending variables and values) is that possible?¿? how ca i do that?¿? any idea,... (1 Reply)
Discussion started by: DebianJ
1 Replies
Login or Register to Ask a Question
CREATE_MODULE(2)					     Linux Programmer's Manual						  CREATE_MODULE(2)

NAME
create_module - create a loadable module entry SYNOPSIS
#include <linux/module.h> caddr_t create_module(const char *name, size_t size); Note: No declaration of this function is provided in glibc headers; see NOTES. DESCRIPTION
Note: This system call is present only in kernels before Linux 2.6. create_module() attempts to create a loadable module entry and reserve the kernel memory that will be needed to hold the module. This sys- tem call requires privilege. RETURN VALUE
On success, returns the kernel address at which the module will reside. On error, -1 is returned and errno is set appropriately. ERRORS
EEXIST A module by that name already exists. EFAULT name is outside the program's accessible address space. EINVAL The requested size is too small even for the module header information. ENOMEM The kernel could not allocate a contiguous block of memory large enough for the module. ENOSYS create_module() is not supported in this version of the kernel (e.g., the kernel is version 2.6 or later). EPERM The caller was not privileged (did not have the CAP_SYS_MODULE capability). VERSIONS
This system call is present on Linux only up until kernel 2.4; it was removed in Linux 2.6. CONFORMING TO
create_module() is Linux-specific. NOTES
The create_module() system call is not supported by glibc. No declaration is provided in glibc headers, but, through a quirk of history, glibc does export an ABI for this system call. Therefore, in order to employ this system call, it is sufficient to manually declare the interface in your code; alternatively, you can invoke the system call using syscall(2). SEE ALSO
delete_module(2), init_module(2), query_module(2) Linux 2014-05-10 CREATE_MODULE(2)