ImageVerifierCode 换一换
格式:DOCX , 页数:10 ,大小:133.52KB ,
资源ID:9209274      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/9209274.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(NETSNMP服务端添加自定义节点.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

NETSNMP服务端添加自定义节点.docx

1、NETSNMP服务端添加自定义节点NET-SNMP服务端添加自定义节点 NET-SNMP服务端添加自定义节点编译生成.c和.h文件后,只是一个mib节点文件模板。1 代码修改:blue.h/* * Note: this file originally auto-generated by mib2c using * : mib2c.old-api.conf 14476 2006-04-18 17:36:51Z hardaker $ */#ifndef BLUE_H#define BLUE_H/* * function declarations */void init_blue(void);Fin

2、dVarMethod var_blue;WriteMethod write_bluenum;#endif /* BLUE_H */我们会发现生成的C文件,其实只是一个模版。其中功能实现的地方,以及某些关键地方都留了空,并且有较为详细的英文注释。只需要修改两处即可通过编译,其余部分可根据情况决定是否修改,以及如何修改。blue.c/* * Note: this file originally auto-generated by mib2c using * : mib2c.old-api.conf 14476 2006-04-18 17:36:51Z hardaker $ */#include #

3、include #include #include blue.h/* * blue_variables_oid: * this is the top level oid that we want to register under. This * is essentially a prefix, with the suffix appearing in the * variable below. */oid blue_variables_oid = 1, 3, 6, 1, 4, 1, 1, 1 ;/* * variable4 blue_variables: * this variable de

4、fines function callbacks and type return information * for the blue mib section */struct variable7 blue_variables = /* * magic number , variable type , ro/rw , callback fn , L, oidsuffix */#define BLUENUM 1 BLUENUM, ASN_INTEGER, RWRITE, var_blue, 1, 4,;/* * (L = length of the oidsuffix) */* Initiali

5、zes the blue module */voidinit_blue(void) DEBUGMSGTL(blue, Initializingn); /* * register ourselves with the agent to handle our mib tree */ REGISTER_MIB(blue, blue_variables, variable4, blue_variables_oid); /* * place any other initialization junk you need here */* * var_blue(): * This function is c

6、alled every time the agent gets a request for * a scalar variable that might be found within your mib section * registered above. It is up to you to do the right thing and * return the correct value. * You should also correct the value of var_len if necessary. * * Please see the documentation for mo

7、re information about writing * module extensions, and check out the examples in the examples * and mibII directories. */unsigned char *var_blue(struct variable *vp, oid * name, size_t *length, int exact, size_t *var_len, WriteMethod * write_method) /* * variables we may use later */ static long long

8、_ret; static u_long ulong_ret; static unsigned char stringSPRINT_MAX_LEN; static oid objidMAX_OID_LEN; static struct counter64 c64; if (header_generic(vp, name, length, exact, var_len, write_method) = MATCH_FAILED) return NULL; /* * this is where we do the value assignments for the mib results. */ s

9、witch (vp-magic) case BLUENUM: *write_method = write_bluenum; VAR = VALUE; /* XXX */ /* 编译 时 此两处会报错。注释此行 return (u_char *) & VAR; /* 修改完毕可正常编译安装 将&VAR修 default: /* 改为固定值 ERROR_MSG(); return NULL;intwrite_bluenum(int action, u_char * var_val, u_char var_val_type, size_t var_val_len, u_char * statP, o

10、id * name, size_t name_len) long value; int size; switch (action) case RESERVE1: if (var_val_type != ASN_INTEGER) fprintf(stderr, write to blue not ASN_INTEGERn); return SNMP_ERR_WRONGTYPE; if (var_val_len sizeof(long) fprintf(stderr, write to blue: bad lengthn); return SNMP_ERR_WRONGLENGTH; break;

11、case RESERVE2: size = var_val_len; value = *(long *) var_val; break; case FREE: /* * Release any resources that have been allocated */ break; case ACTION: /* * The variable has been stored in value for you to use, * and you have just been asked to do something with it. * Note that anything done here

12、 must be reversable in the UNDO case */ break; case UNDO: /* * Back out any changes made in the ACTION case */ break; case COMMIT: /* * Things are working well, so its now safe to make the change * permanently. Make sure that anything done here cant fail! */ break; return SNMP_ERR_NOERROR;2 mib的加载:上面的NEW-MIBBLACK-MIBGREEN-MIBBLUE-MIBNEW-MIB2WHITE-MIB由于都是按照 SNMP概要设计_0.1.doc 进行生成,因此都是在此路径下。每次只能加载排在首位的NEW-MIB中的节点。例如现在加载BLACK-MIB中的节点 则把原来在前面的NEW-MIB右键卸载则有如下结果mib生成的C代码模板,具体修改方法正在学习中。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1