VIDEOS 》 Linux ioctl() API interface
Refer:
net-tools (ioctl APIs - user-space side):
net-tools sourceforge.net - http://net-tools.sourceforge.net
net-tools sourceforge.net Project - https://sourceforge.net/projects/net-tools
net-tools Linux Foundation Wiki - https://wiki.linuxfoundation.org/networking/net-tools
net-tools Git source - https://sourceforge.net/p/net-tools/code/ci/master/tree
ifconfig.c - https://sourceforge.net/p/net-tools/code/ci/master/tree/ifconfig.c
Refer:
Wiki:
Carrier grade - https://en.wikipedia.org/wiki/Carrier_grade
Carrier Grade Linux - https://en.wikipedia.org/wiki/Carrier_Grade_Linux
High Availability (HA) - https://en.wikipedia.org/wiki/High_availability
Redundancy(engineering) - https://en.wikipedia.org/wiki/Redundancy_(engineering)
Kernel Source (ioctl APIs - kernel-space side):
/net/core/dev_ioctl.c - http://elixir.free-electrons.com/linux/latest/source/net/core/dev_ioctl.c
/net/core/dev.c - http://elixir.free-electrons.com/linux/latest/source/net/core/dev.c
The Linux Channel video series:
Linux Kernel net_device data-structure - http://the-linux-channel.the-toffee-project.org/index.php?page=41-videos-linux-kernel-net-device-data-structure
Linux Kernel Networking Sub-system - http://the-linux-channel.the-toffee-project.org/index.php?page=45-videos-linux-kernel-networking-sub-system
Linux Kernel /proc Interface - http://the-linux-channel.the-toffee-project.org/index.php?page=106-videos-linux-kernel-proc-interface
Linux Kernel sk_buff data-structure - Episode-1 to Episode-10 - http://the-linux-channel.the-toffee-project.org/index.php?page=47-videos-linux-kernel-sk-buff-data-structure
Linux Kernel sk_buff data-structure - Episode-11 to Episode-18 - http://the-linux-channel.the-toffee-project.org/index.php?page=111-videos-linux-kernel-sk-buff-data-structure
Download this episode my entire kernel module sample code, make file, clean script HERE.
Refer:
Device Drivers, Part 9: I/O Control in Linux - by Anil Kumar Pugalia <email_at_sarika-pugs_dot_com> - http://opensourceforu.com/2011/08/io-control-in-linux/
The Linux Kernel Module Programming Guide - Chapter 7. Talking To Device Files - http://tldp.org/LDP/lkmpg/2.6/html/x892.html
(NOTE: Sample example source-code mentioned here will not work as it is in newer kernels. It needs porting.)
Refer:
/include/linux/uaccess.h - copy_from_user(), copy_to_user() - http://elixir.free-electrons.com/linux/latest/source/include/linux/uaccess.h
/arch/x86/include/asm/uaccess_32.h - raw_copy_from_user(), raw_copy_to_user() [x86 32-bit] http://elixir.free-electrons.com/linux/latest/source/arch/x86/include/asm/uaccess_32.h
/arch/x86/include/asm/uaccess_64.h - raw_copy_from_user(), raw_copy_to_user() [x86 64-bit] http://elixir.free-electrons.com/linux/latest/source/arch/x86/include/asm/uaccess_64.h
/arch/arm/include/asm/uaccess.h - raw_copy_from_user(), raw_copy_to_user() [arm] http://elixir.free-electrons.com/linux/latest/source/arch/arm/include/asm/uaccess.h
/arch/arm64/include/asm/uaccess.h- raw_copy_from_user(), raw_copy_to_user() [arm 64-bit] http://elixir.free-electrons.com/linux/latest/source/arch/arm64/include/asm/uaccess.h
As discussed in the video (Episode 4), we cannot use memcpy() to communicate between user-space applications (processes). Since each process has its own virtual memory space.
Instead we need to use standard Linux predefined IPC (for example: sockets, message queues, pipes, signals and so on), which in turn built via APIs such as: copy_from_user() and copy_to_user().
Notice: copy_from_user() and copy_to_user() looks similar to memcpy() in terms of their function arguments.
Here is the Kernel source API flow of the copy_from_user() and copy_to_user() APIs. As discussed in the video, eventually it transitions from architecture (or platform) independent code
to the platform (or hardware/CPU) dependent code:
Suggested Topics:
Video Episodes :: Linux Kernel programming
Wednesday' 18-May-2022
Thursday' 19-Oct-2023
Saturday' 13-Mar-2021
Sunday' 29-Oct-2023
Saturday' 13-Mar-2021
Thursday' 19-Oct-2023
Join The Linux Channel :: Facebook Group ↗
Visit The Linux Channel :: on Youtube ↗
💗 Help shape the future: Sponsor/Donate
Recommended Topics:
Featured Video:
Trending Video:
Saturday' 13-Mar-2021
Recommended Video: