当前位置: 首页 > news >正文

linux proc fs node

linux proc fs node



#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/proc_fs.h>
#include <linux/uaccess.h>
#include <linux/seq_file.h>#ifdef CONFIG_PROC_FSextern int xx_node_val;static int xx_node_proc_show(struct seq_file *m, void *v)
{seq_printf(m, "%d\n", console_klog_enable);return 0;
}static int xx_node_proc_open(struct inode *inode, struct file *file)
{return single_open(file, xx_node_proc_show, PDE_DATA(inode));
}static ssize_t xx_node_proc_write(struct file *file, const char __user *buf,size_t count, loff_t *pos)
{char lbuf[10] = {0};int val;/* if (!capable(CAP_SYS_ADMIN))return -EACCES; */if (count >= sizeof(lbuf))count = sizeof(lbuf)-1;if (copy_from_user(lbuf, buf, count))return -EFAULT;lbuf[count] = 0;sscanf(lbuf, "%d", &val);if (val == 0) {xx_node_val = 0;} else if (val == 1) {xx_node_val = 1;} else {pr_warn("%s() set val:%d, invalid argument, expect '0' or '1'\n", __func__, val);return -EINVAL;	}return count;
}static const struct file_operations xx_node_proc_fops = {.owner		= THIS_MODULE,.open		= xx_node_proc_open,.read		= seq_read,.llseek		= seq_lseek,.release	= single_release,.write		= xx_node_proc_write,
};static int __init xx_node_create_procfs(void)
{struct proc_dir_entry *ent;ent = proc_create_data("xx_node", S_IRUGO|S_IWUSR, NULL,&xx_node_proc_fops, NULL);if (ent == NULL)return -1;return 0;
}module_init(xx_node_create_procfs)
#endif


http://www.rkmt.cn/news/7255.html

相关文章:

  • 【稳定检索、线上线下参会、马理工主办】第十一届建筑、土木与水利工程国际学术会议(ICACHE 2025)
  • history路由模式下的nginx配置
  • createHashRouter
  • 设计模式 7章
  • 洛谷 P1967 [NOIP 2013 提高组] 货车运输 题解
  • 【每日一问】示波器探头校准技巧和校准原理是什么?
  • 向量数据库 FAISS、LanceDB 和 Milvus
  • ms sql dml 操作
  • cpu的各种寄存器及其功能
  • 学python的第6天
  • 如何关闭电视的ACR功能及其对隐私保护的重大意义
  • TypeScript tsconfig选项 “lib” 是做什么的
  • Blelloch并行扫描算法
  • 牛客刷题-Day1
  • 第三届人工智能与自动化控制国际学术会议(AIAC 2025)
  • webshell流量 - voasem
  • 基于pyspark的双十一美妆数据分析及可视化 - 实践
  • 大模型三阶段训练方法(LLaMa Factory)
  • 三行Python代码实现深度学习推理:Infery全面解析
  • 网页禁止复制
  • 混元开源之力:spring-ai-hunyuan 项目功能升级与实战体验
  • Python 企业级自动语音识别库全解析
  • SAP 文件上传方式导入上、下限
  • 雷电预警系统:降低雷电灾害风险,保障人员安全与设施稳定运行 - 详解
  • Beyond Compare5中文破解版下载及安装使用教程
  • 鸿蒙应用开发从入门到实战(八):ArkTS自定义组件语法
  • 动态黑名单的运作机制与实时防护策略
  • 微服务分布式事务解决方案梳理 - 指南
  • JS对象池
  • objectarx项目props文件中判断条件的修改