barryxu
驱动牛犊
驱动牛犊
  • 注册日期2003-01-20
  • 最后登录2003-07-30
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:2578回复:1

net-snmp 5.0.7的windows程序移植开发问题

楼主#
更多 发布于:2003-05-24 15:07
小弟,我在正在做net-snmp5.0.7版本的win32的程序改装。

我现在用到了snmptrapd那个工程,但是对于snmp udt server的程序结构不是特别清楚,有谁能描述以下流程。

在snmptrapd.c中的有一个snmp_input()函数,好像是一个回调函数,不知道干什么用的?

现在我要加入一段代码:功能是当接收到trap以后,读取该trap,然后调用一个自己编写的函数sendlogtoremoteComp(),该函数是一个TCP client程序,将trap内容填写到我需要传送的缓冲区中,发送到TCP服务器。

问题是:
    1、我这个函数代码应该加在Main函数中的那块地方,才不会破坏原来net-snmp程序的程序机构?
    2、我用vc调试程序的时候,怎么样才能模拟 带参数的时候的执行效果?
    3、还有一些函数不是特别清楚,
       snmp_add_session ()
       snmp_read()
       snmp_input()函数
    4 下面的struct具体指什么,?
      struct snmp_session ;
      struct netsnmp_pdu
      struct netsnmp_callback
      struct netsnmp_request_list

   5 如果我要在win32的程序中加入自定义的mib,那么原有的程序我需要怎么样修改才能加入,mib已经定义好,而且已经用mib2c转换成为了.c .h文件了。
  
   希望各位大虾多多帮忙阿!!!!!
  



附件名称/大小 下载次数 最后更新
2003-05-24_snmptrapd.c (44KB)  3
joinjin
驱动牛犊
驱动牛犊
  • 注册日期2003-06-12
  • 最后登录2010-06-17
  • 粉丝0
  • 关注0
  • 积分4分
  • 威望12点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2003-06-12 10:27
snmp_input()是收到TRAP后调用的,你可以在这里调用你的程序
if (pdu->trap_type == SNMP_TRAP_ENTERPRISESPECIFIC) {

。。。。。
           free(oidbuf);
process_trap(pdu->trap_type, inet_ntoa(*((struct in_addr *)pdu->agent_addr)),rbuf);
                } else {
。。。。。

snmp_session 结构是SNMP回话的数据结构,表明了SNMP版本等信息
netsnmp_pdu 是snmp Pdu数据结构,其中定义了你要发出去的pdu信息,你跟踪一下就可以看到。

。。。
你的问题太多,以后在回答吧
游客

返回顶部