linux内核sysfs属性文档生成器

abi2doc的Python项目详细描述


属性文档是一个帮助工具,用于生成和格式化sysfs属性文档,该文档位于内核源代码的"documentation/abi"下。在内核中未记录的。图片::https://plot.ly/~aishpant/1.png?share_key=8mg4jmyyslyjbjtg7uy62
:目标:https://plot.ly/~aishpant/1/?share_key=8mg4jmyyslyjbjtg7uy62
:align:center
:alt:sysfs line plot
:width:600px


ABI文档格式如下:

首先出现在)
contact:(primary contact)
description:(关于用法的详细说明)

`abi2doc`可以高精度地填写'date'和'kernelversion'字段。"contact"详细信息提示一次,其他的"what"和"description"在每个属性上都有提示。

属性
声明宏。

-从映射到属性的结构字段。

代码::c

静态ssize
端口目标显示(结构设备*dev,结构设备属性*attr,
字符*buf)
{
结构导入*mport=到导入(dev);

if(mport)
返回sprintf(buf,"x%04x\n",mport->;主机设备id);
else
返回-enodev;
}





一个驱动程序私有结构
,然后它的一个或多个字段被放入缓冲区。

在上面的示例中,驱动程序私有结构是
`rio import`类型的结构,属性"port_id"映射到结构中的字段"host_deviceid"。

代码::c

struct rio import{

int主机设备id;/*主机设备id*/
struct rio ops*ops;/*依赖于体系结构的低级例程*/
无符号字符id;/*端口id,在所有端口中唯一*/

};


这里有一个针对"主机设备ID"的注释,可以提取该注释。

所有声明宏的sysfs属性都位于"abi2doc/macros.txt"中。每个
"macros.txt"行都包含一个属性,该属性声明宏空间,用属性名在宏中的
位置分隔-`device_attr 0`。此列表不完整。如果发现任何不在列表中的请求,请发送拉取请求。

代码

"abi2doc"在"pypi"上可用。使用"pip3"安装:

``pip3 install abi2doc`


……代码::bash

用法:abi2doc[-h]-f源代码文件-o输出代码文件

文档

可选参数:
-h,--帮助显示此帮助消息并退出示例e用法:

…代码::bash

abi2doc-f drivers/video/backlight/lp855x_bl.c-o sysfs_doc.txt

脚本将为found
属性填写"date"和"kernelversion"字段。"contact"详细信息只提示一次,其他"what"和"description"则在每个属性上提示一次。输入的描述
后面会有提示,如下面生成的文件所示。





what:/sys/class/backlight/<;backlight>;/bled\u mode
date:oct,2012
kernelversion:3.7
联系人:dri devel@lists.freedesktop.org
描述:
(wo)写入背光映射模式。背光电流
可以映射为指数(值"0")或线性
映射模式(默认值)。
----------
%驱动程序/video/backlight/lm3639_bl.c 220
---------------------------
%0f59858d511960caefb42c4535dc73c2c5f3136c
作者:g.shark jeong<;gshark.jeong@gmail.com>;
日期:2012年10月4日星期四17:12:55-0700

LM3639是一款单芯片LCD显示屏背光驱动程序+白色LED
摄像头驱动程序。编程通过I2C兼容接口完成。
www.ti.com

[akpm@linux-foundation.org:code layout tweaks]
签名人:g.shark jeong<;gshark.jeong@gmail.com>;
cc:richard purdie<;RPurdi@ @ RPys.Net & Gt;Daniel Jeong & lt;丹尼尔。Jea`Ti。com & Gt;
CC:Randy Dunlap & lt;RunDLAP@ ExoTime.Net & Gt;
由:Andrew Morton & lt;AKPM @ Linux基金会。org & gt;br/>由:Torvals@ Linux基金会.org & <;BR/>脚本运行的预期时间=

(NUTFAX x AVG每分钟4分钟)/Num核'.BR/> BR/>贡献
----
BR/>欢迎捐款,无论是代码还是文档形式。
有关需要帮助的地方,请参阅"问题"选项卡。

。_安装说明:https://github.com/coccinelle/coccinelle/
…_ PYPI:https://pypi.org/project/abi2doc/
。_球菌:http://coccinelle.lip6.fr/
…_粗略估计:https://github.com/aishpant/documentation scripts/blob/master/result/output.csv
。_问题:https://github.com/aishpant/attribute-documentation/issues

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
jenkins在java代码的csv中使用前导零传递数字   终止java应用程序javaw。exe eclipse   java平均字长。文本   java在事务中关闭连接时会发生什么?   java如何为rich faces extendedDatatable启用可调整大小的列?   SpringJavaWebApp头nosniff不适合js和css文件   Java:抛出异常   java获取拒绝ArrayList中存在的用户名的代码。   关于编写JNDI服务提供者的java教程   java Android emulator电子书示例已停止   java如何防止双向关系中的循环   在Java中,如何将接口的实现作为变量传递给方法?   java有没有办法通过注释来监听CoreNLP处理的进度?   java Eclipse错误:导入项目时“无法读取项目描述文件”   java为什么findViewById返回null?