Linux内核
文章平均质量分 80
东升
这个作者很懒,什么都没留下…
展开
-
insmod VS modprobe
`modprobe` and `insmod` are both commands used in Linux for managing kernel modules, but they have some key differences in terms of functionality and usage.1. Purpose: - `modprobe`: The `modprobe` command is used to automatically load modules and their翻译 2023-06-09 09:00:28 · 131 阅读 · 0 评论 -
内核定时器的简单使用
static struct timer_list timer; static void flow_shrink(unsigned long arg) { //do your work mod_timer(&timer, jiffies + FLOW_SHRINK_PERIOD); //重置定时器 } void flow_timer_init() { init_timer(&timer原创 2016-11-17 16:40:55 · 308 阅读 · 0 评论 -
找到一个可用的数字
源码来自Linux 桥模块 /* find an available port number */ static int find_portno(struct net_bridge *br) { int index; struct net_bridge_port *p; unsigned long *inuse; inuse = kcalloc(BITS_TO_LONGS(BR_MAX转载 2017-02-28 17:10:50 · 323 阅读 · 0 评论 -
netlink 通信广播demo
最近在做工程时,用到了内核间通信,需要把内核部分得到发送至用户空间。下面给出demo例子: 分为内核部分和用户空间部分: 首先在内核部分增加一个netlink消息类型 #define NETLINK_URL 23 创建内核的netlink socket static struct sock *nlfd; struct netlink_kernel_cfg cfg =原创 2017-04-11 10:27:27 · 1129 阅读 · 0 评论 -
设备通知链
直接上代码 static int brcm_device_event(struct notifier_block *unused, unsigned long event, void *ptr) { printk(KERN_INFO "brcm_device_event = %d\n", event); return NOTIFY_DONE; } static struc原创 2017-04-12 17:40:25 · 295 阅读 · 0 评论 -
ioctl之用户空间与内核的通信
内核部分代码 在include\uapi\linux\sockios.h文件内增加如下消息定义 #define SIOCGIFBRCM 0x8984 /* */ #define SIOCSIFBRCM 0x8985 /* */ 在net\socket.c文件内增加 static DEFINE_MUTEX(brcm_ioctl_mutex); static int (*br原创 2017-04-12 16:45:55 · 1482 阅读 · 0 评论