net-snmp修改mib2c生成的.c文件

12 篇文章 2 订阅
7 篇文章 1 订阅
本文详细介绍了Net-snmp的安装和开发流程,包括MIB文件的构建,标量、一维表量和二维表量的处理,以及如何使用mib2c工具生成C和H文件。在修改mib2c生成的.c文件时,针对read-only和read-write节点的不同操作进行了说明。对于表量,文章讲解了如何创建表项、初始化表以及如何处理字符串变量。此外,还给出了添加新节点到net-snmp的步骤。
摘要由CSDN通过智能技术生成

Net-snmp安装开发流程:

Net-snmp安装开发流程_cao849861802的博客-CSDN博客
mib文件构建,标量,一维表量,二维表量:

mib文件构建,标量,一维表量,二维表量_cao849861802的博客-CSDN博客
Mib2c构建.C和.H文件,标量,一维表量,二维表量,表量索引:

Mib2c构建.C和.H文件,标量,一维表量,二维表量,表量索引_cao849861802的博客-CSDN博客
修改mib2c生成的.c文件:

修改mib2c生成的.c文件_cao849861802的博客-CSDN博客
为net-snmp添加新的节点.c,添加私有节点:

为net-snmp添加新的节点.c,添加私有节点_cao849861802的博客-CSDN博客

------------------------------------------------------------------------------------------------

1.标量文件修改

如果是read-only节点的话,直接将需要的值付给对应的接口;read的case为:MODE_GET

需要注意所有标注XXX的地方,是修改的地方;

int value;
snmp_set_var_typed_value(requests->requestvb, ASN_INTEGER,
					/* XXX: a pointer to the scalar's data */&value,
				/* XXX: the length of the data in bytes */sizeof(value));	

如果是read-write节点的话,read的修改和上述一样;

Write执行的case是:MODE_SET_ACTION,其他的case只要保证不报错可以随便注释掉即可;

2.表量文件修改

如果有字符串变量的节点的话需要定义NNN

#define NNN   128

理解create函数:switchCardInfoTable_createEntry

这个函数是直接创建表项,看自己需要,就是创建多少个index的项,这个是用来创建行的,创建多少行。这个函数的参数会代码预留,如果需要设置就加入参数,不需要把逗号删除就可以了。

这里添加函数如下,我准备添加两行,为我的表。

void switchCardInfoTableInit(void )
{
	int i = 0;
	
	for(i = 0; i < 2; i++)
	{
		switchCardInfoTable_createEntry(i + 1);
	}
}

将函数switchCardInfoTableInit添加到init_switchCardInfoTable中

Void init_switchCardInfoTable(void)
{
  /* here we initialize all the tables we're planning on supporting */
    initialize_table_switchCardInfoTable();
	switchCardInfoTableInit();
}

表量剩下的修改和标量的内容就一致了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值