
c语言
文章平均质量分 53
珞珈琉璃
2013年本科毕业,就职于武汉华工电气自动化有限责任公司;2015年8月离职,在武汉大学电子信息学院攻读电子通信工程硕士研究生;现就职于武汉烽火通信集团。
展开
-
使用netlink完成用户态跟用户态的通信以及用户态跟内核态的通信
使用netlink机制跟指定进程通信netlink通信编码目标编码实现1、内核态代码2、使用netlink进行通信示例netlink通信我们知道,使用netlink可以完成用户跟内核态双向通信,实际使用时,我们需要对netlink进行封装统一的接口,在和指定进程进行通信时,只需要调用指定接口就可以轻松完成用户态到内核态的netlink通信编码。此外,我们上层用户态进程除了需要和内核进行通信外,还需要和其他用户态进程进行通信,因此需要封装统一的接口同时支持netlink用户态到用户态的通信以及用户态到内核原创 2021-10-15 15:31:49 · 1162 阅读 · 1 评论 -
wifi系列------初始化
WiFi 初始化1、产测模式下的 wifi 初始化 主要作用:一是验证无线指示灯按键,二是做无线校准,三是无线吞吐测试(抽检 20%) 产测模式 wifi 初始化特点: (1)无线启动加载快---->通过脚本启动无线,不加载 wifimgr(2)产测模式下无线参数配置固定—>主要是便于无线吞吐测试产测模式 bcm 加载流程:(1)、加载默认预配置,启动无线nvram loaduserfile /fhrom/bin/wifi.txt nvram commit nvram restar原创 2021-05-29 23:43:24 · 2714 阅读 · 0 评论 -
Linux内核私闯进程地址空间并修改进程内存
进程地址空间的隔离 是现代操作系统的一个显著特征。这也是区别于 “古代”操作系统 的显著特征。进程地址空间隔离意味着进程P1无法以随意的方式访问进程P2的内存,除非这块内存被声明是共享的。这非常容易理解,我举个例子。我们知道,在原始野人社会,是没有家庭的观念的,所有的资源都是部落内共享的,所有的野人都可以以任意的方式在任意时间和任何其他野人交互。类似Dos这样的操作系统就是这样的,内存地址空...转载 2019-10-09 15:19:53 · 608 阅读 · 0 评论 -
Wifi隔离的原理及实现
1、wifi隔离是什么无线隔离又称客户端隔离(client isolation),也称AP隔离,指的是阻止连接路由器的设备之间互相访问,多见于无线通信方面,常见于路由器设置中。AP隔离非常类似有线网络的VLAN(虚拟局域网),将所有的无线客户端设备之间完全隔离,是客户端只能访问AP接入的固定网络。通俗来讲,就是各个连接无线的客户机(如手机、电脑等)之间无法互相通讯的,即你无法在两台同时连接AP...原创 2019-01-12 15:55:13 · 20475 阅读 · 0 评论 -
进程间通信之信号量
1、进程间通信概述一般情况下,系统中运行着大量的进程,而每个进程之间并不是相互独立的,有些进程之间经常需要互相传递消息。但是每个进程在系统中都有自己的地址空间,操作系统通过页表和实际物理内存所关联,不允许其他进程随意进入。因此,就必须有一种机制既能保证进程之间的通信,又能保证系统的安全,即进程间通信机制——IPC(Inter_Process Communication)。Linux中的内存...原创 2018-09-05 21:29:56 · 379 阅读 · 0 评论 -
system函数封装
system函数封装前言system()系统函数在编程过程中经常被调用,在linux下,可以用来执行shell命令,但在平常的工作中,我们很多时候需要执行的shell命令需要接收用户的收入,并对shell命令执行后的返回结果再做相应处理,此时,我们需要对system函数做一下封装。用法实例及说明获取Ubuntu下指定网口的相关信息编程环境: ubuntu相关函数: fo...原创 2018-09-02 12:03:15 · 1008 阅读 · 0 评论 -
数据结构之C语言实现双向链表
C语言实现双向链表双向链表主要实现以下功能:双向链表创建 节点头插 节点尾插 指定位置插入节点 节点删除 链表排序 链表求长/****************************************************************************************************** * function:自定义一个...原创 2018-07-07 12:17:29 · 7941 阅读 · 4 评论 -
数据结构之C语言实现栈
C语言实现栈利用数组实现简单的栈操作:入栈 出栈栈空取栈顶元素/****************************************************************************************************** * function:用数组实现栈,并完成一些栈的常规操作:入栈、出栈等操作 * autho...原创 2018-07-08 18:40:58 · 596 阅读 · 0 评论 -
openwrt中解析ubus中的array类型数据
ubus解析array数据ubus简介在openwrt平台下开发时,ubus为进程间通信提供了一个通用的框架。它让进程间通信的实现变得非常简单,并且ubus具有很强的可移植性,可以很方便的移植到其它linux平台上使用。ubus实现的基础是unix socket,即本地socket,它相对于用于网络通信的inet socket更高效,更具可靠性。需要解决的问题在ubus的使用过程中...原创 2018-06-18 21:30:59 · 4227 阅读 · 2 评论 -
内核态到用户态的通信之netlink(二)
内核态到用户态通信(一) netlink简介 netlink套接字是用以实现用户进程与内核进程通信的一种特殊的进程间通信(IPC) ,也是网络应用程序与内核通信的最常用的接口。(二) netlink使用下面首先通过一个实际问题来说明netlink的使用方法1、要解决的问题环境 硬件:路由器, 操作系统:openwrt,芯片:mt7628问题 解决...原创 2018-06-17 10:42:53 · 1019 阅读 · 0 评论 -
多进程文件读写之加锁
多进程加锁问题前言在嵌入式系统开发的过程中,配置文件用来存放系统或者一些重要进程的一些配置信息,这些配置文件有可能会被多个用户态程序进行访问,因此,防止多线程(或多进程)同时设置相同配置文件,造成低概率配置文件内容丢失,对配置文件加锁很有必要。实例#include<sys/file.h>#define CONFIG_LOCK_PATH “/tmp/file.loc...原创 2018-06-16 20:33:33 · 5337 阅读 · 0 评论 -
内核空间与用户空间的通信之proc(一)
内核空间与用户空间的通信在Linux中编程,特别是涉及内核驱动时,应用层程序经常需要和内核层驱动进行数据交换,比如内核检测到某个状态需要通知应用程序,或者应用程序的某个状态发生改变需用通知内核等等。proc简介 /proc 文件系统是一种虚拟文件系统,它可以实现linux内核空间和用户空间的通信。与普通文件不同,这里的虚拟文件的内容都是动态创建的。 如果只是控制内核中的参数而不是传输较...原创 2018-06-16 20:23:54 · 1374 阅读 · 0 评论 -
C语言获取本地所有网卡的ip地址及MAC信息
C语言获取网卡的ip地址及MAC地址信息原创 2017-09-15 21:32:49 · 3741 阅读 · 0 评论