Making Socket System Call From Linux Kernel Module?


 
Thread Tools Search this Thread
Operating Systems Linux Making Socket System Call From Linux Kernel Module?
# 1  
Old 04-06-2005
Data Making Socket System Call From Linux Kernel Module?

Hi Everyone!

How can we make a socket() system call from a linux module executing in kernel space?

If any one knows, kindly tell me. It will be great.

I want to use the socket interface in linux kernel space for sending raw packets over the network.


Hamayun
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Programming

Make cannot generate .ko linux kernel module

cannot generate .ko file on my linux, although it can generate module.symvers. But when I copy .c file and Makefile to another linux computer, there's no problem. The strange thing is: make is successfuly executed, and returned 0; make output: make -C /lib/modules/2.6.18-92.el5xen/build ... (4 Replies)
Discussion started by: vistastar
4 Replies

2. 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

3. IP Networking

help implementing an ip filter in linux/net/socket.c (kernel programming)

hi there so, i was given an assignment: implement a linux system call that blocks all packets that are sent to a given IP (i have to do it without using iptables) i'm really new to kernel programming btw (and i'm enjoying it a lot) so, my syscall is called ip_block() and receives a... (1 Reply)
Discussion started by: lgfaria
1 Replies

4. IP Networking

Configure a range of ports to "socket" system call

Hello ; This what i want to do : I know that in the system call #include <sys/socket.h> int bind(int socket, const struct sockaddr *address, socklen_t address_len); you can specify the local port for your socket, but im using a private library , and im sure that in that library... (0 Replies)
Discussion started by: trutoman
0 Replies

5. UNIX for Advanced & Expert Users

A question about kernel module and system power-shutdown

Dear all, I've just installed a Vanilla kernel (last stable version downloaded from www.kernel.org) as an exercice in order to better understand how to compile linux kernel. I loaded the .config file of the current kernel (Redhat kernel) in the menuconfig in order to restore all already... (0 Replies)
Discussion started by: dariyoosh
0 Replies

6. Programming

socket system call can not succedd right after application crash.

hello all, I have developed a server application in C for ulinux kernel 2.6.It works very fine; creating a socket, binding it to a port, listening for incoming sockets and accepting them ,all finish without any error. But there is a problem regarding application crash.After an intentionally... (1 Reply)
Discussion started by: Sedighzadeh
1 Replies

7. UNIX for Advanced & Expert Users

Passing socket struct between kernel threads - module programming

I write kernel module with kernel threads using linux/kthread.h on 2.6.* kernel I tried to passing data between two kernel threads with data argument of kthread_run( fun, data , NAME ); but this is not work I dont know why. I tried many possibility and nothing works. So I thought that... (0 Replies)
Discussion started by: marcintom
0 Replies

8. 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

9. UNIX for Dummies Questions & Answers

Linux kernel module parameters

Hi, Does anyone know if it is possible to know the current value of a kernel module parameters after the module is loaded. Are the values of the parameters advertised at some /proc or /sys location ? The only thing I know is modinfo, that actually looks a the module .ko and gives a... (3 Replies)
Discussion started by: macL
3 Replies

10. Programming

Making a system call

This is a total nooby question, but here goes... I am trying to do something in C for the very first time, and doing it in Solaris, for the very first time. It would otherwise be easy enough to test out and find out, but I wont be able to do so until the week after next for various reasons, so I... (5 Replies)
Discussion started by: hardwickj
5 Replies
Login or Register to Ask a Question
LINUX(4)						   BSD Kernel Interfaces Manual 						  LINUX(4)

NAME
linux -- Linux ABI support SYNOPSIS
To compile support for this ABI into an i386 kernel place the following line in your kernel configuration file: options COMPAT_LINUX for an amd64 kernel use: options COMPAT_LINUX32 Alternatively, to load the ABI as a module at boot time, place the following line in loader.conf(5): linux_load="YES" DESCRIPTION
The linux module provides limited Linux ABI (application binary interface) compatibility for userland applications. The module provides the following significant facilities: o An image activator for correctly branded elf(5) executable images o Special signal handling for activated images o Linux to native system call translation It is important to note that the Linux ABI support it not provided through an emulator. Rather, a true (albeit limited) ABI implementation is provided. The following sysctl(8) tunable variables are available: compat.linux.osname Linux kernel operating system name. compat.linux.osrelease Linux kernel operating system release. Changing this to something else is discouraged on non-development systems, because it may change the way Linux programs work. Recent versions of GNU libc are known to use different syscalls depending on the value of this sysctl. compat.linux.oss_version Linux Open Sound System version. The linux module can be linked into the kernel statically with the COMPAT_LINUX kernel configuration option or loaded as required. The fol- lowing command will load the module if it is neither linked into the kernel nor already loaded as a module: if ! kldstat -v | grep -E 'linux(aout|elf)' > /dev/null; then kldload linux > /dev/null 2>&1 fi Note that dynamically linked Linux executables will require a suitable environment in /compat/linux. Specifically, the Linux run-time linker's hints files should be correctly initialized. For this reason, it is common to execute the following commands to prepare the system to correctly run Linux executables: if [ -x /compat/linux/sbin/ldconfig ]; then /compat/linux/sbin/ldconfig -r /compat/linux fi For information on loading the linux kernel loadable module automatically on system startup, see rc.conf(5). This information applies regardless of whether the linux module is statically linked into the kernel or loaded as a module. FILES
/compat/linux minimal Linux run-time environment /compat/linux/proc limited Linux process file system /compat/linux/sys limited Linux system file system SEE ALSO
brandelf(1), elf(5), linprocfs(5), linsysfs(5) HISTORY
Linux ABI support first appeared in FreeBSD 2.1. BSD
February 8, 2010 BSD