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
thread_terminate(9r)													      thread_terminate(9r)

NAME
thread_terminate - General: Prepares to stop or stops execution of the specified kernel thread SYNOPSIS
kern_return_t thread_terminate( thread_t thread_to_terminate ); ARGUMENTS
Specifies a pointer to the thread structure associated with the kernel thread that you want to terminate. This pointer was returned in a previous call to the kernel_isrthread or kernel_thread_w_arg routine. DESCRIPTION
The thread_terminate routine prepares to stop or permanently stops execution of the specified kernel thread. You created and started this kernel thread in a previous call to the kernel_isrthread or kernel_thread_w_arg routine. These routines return a pointer to the thread structure associated with the newly created and started kernel thread. Kernel modules use this pointer as a handle to identify the specific kernel thread that thread_terminate stops executing. Typically, a kernel thread terminates itself. However, one kernel thread can terminate another kernel thread. A kernel thread that termi- nates itself must call thread_halt_self immediately after the call to thread_terminate. The reason for this is that thread_terminate only prepares the self-terminating kernel thread to stop execution. The thread_halt_self routine completes the work needed to stop execution (by performing the appropriate cleanup work) of the self-terminating kernel thread. Specifically, the thread_terminate routine works as follows: For terminating other kernel threads The thread_terminate routine stops execution of the specified kernel thread, frees any resources associated with that kernel thread, and thus makes the kernel thread unavailable. To make the kernel thread available again, you need to create it by calling ker- nel_isrthread or kernel_thread_w_arg. A kernel thread terminates itself The thread_terminate routine prepares to stop execution of the kernel thread that needs to terminate itself. The thread_halt_self routine completes the work needed to stop execution of the self-terminating kernel thread by performing the appropriate cleanup work. After you call these routines, the self-terminating kernel thread becomes unavailable until you create it again by calling kernel_isrthread or kernel_thread_w_arg. NOTES
You do not need to terminate every kernel thread that you create. You should not terminate a kernel thread that is waiting for some event. The basic rule is that you should terminate only those kernel threads that you do not need anymore. For example, if a dynamically config- ured kernel module uses kernel threads, you should terminate them in the CFG_OP_UNCONFIGURE entry point of the loadable module's configure routine. The kernel threads are no longer needed after the module is unconfigured. Note that the thread_terminate routine (for kernel threads that terminate other kernel threads) not only permanently stops execution of the specified kernel thread, but it also frees any resources associated with that kernel thread; thus, this kernel thread can no longer be used. RETURN VALUES
Upon successfully terminating the specified kernel thread, thread_terminate returns the constant KERN_SUCCESS. If the thread structure pointer passed to the thread_to_terminate argument does not identify a valid kernel thread, thread_terminate returns the constant KERN_INVALID_ARGUMENT. On any other error, thread_terminate returns the constant KERN_FAILURE. SEE ALSO
Data Structures: thread(9s) Routines: kernel_isrthread(9r), kernel_thread_w_arg(9r), thread_halt_self(9r) thread_terminate(9r)