如下函数,C18无法编译通过,在线急等

[复制链接]
 楼主| eworker 发表于 2008-8-14 17:10 | 显示全部楼层 |阅读模式
<br /><br />typedef&nbsp;unsigned&nbsp;char&nbsp;&nbsp;uint8;<br />typedef&nbsp;unsigned&nbsp;short&nbsp;uint16;<br />typedef&nbsp;unsigned&nbsp;int&nbsp;&nbsp;&nbsp;uint32;<br /><br />typedef&nbsp;signed&nbsp;char&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sint8;<br />typedef&nbsp;signed&nbsp;short&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sint16;<br />typedef&nbsp;signed&nbsp;int&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sint32;<br /><br />#define&nbsp;MAXOID&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;20<br />#define&nbsp;MAXKEY&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4<br />#define&nbsp;MAXKLEN&nbsp;&nbsp;&nbsp;&nbsp;22<br />#define&nbsp;MAXVAR&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;60<br /><br />#define&nbsp;scompare(a,&nbsp;b)&nbsp;strcmp((const&nbsp;char&nbsp;*)a,&nbsp;(const&nbsp;char&nbsp;*)b)<br />#define&nbsp;sncompare(a,&nbsp;b,&nbsp;c)&nbsp;strncmp((const&nbsp;char&nbsp;*)a,&nbsp;(const&nbsp;char&nbsp;*)b,&nbsp;c)<br />#define&nbsp;slength(a)&nbsp;strlen((const&nbsp;char&nbsp;*)a)<br />#define&nbsp;scopy(a,&nbsp;b)&nbsp;strcpy((char&nbsp;*)a,&nbsp;(const&nbsp;char&nbsp;*)b)<br />#define&nbsp;sncopy(a,&nbsp;b,&nbsp;c)&nbsp;strncpy((char&nbsp;*)a,&nbsp;(const&nbsp;char&nbsp;*)b,&nbsp;c)<br /><br />#define&nbsp;Integer&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x02ul<br />#define&nbsp;String&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x04ul<br />#define&nbsp;Null&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x05ul<br />#define&nbsp;Identifier&nbsp;&nbsp;0x06ul<br />#define&nbsp;OctetString&nbsp;0x14ul<br />#define&nbsp;Sequence&nbsp;&nbsp;&nbsp;&nbsp;0x30ul<br />#define&nbsp;IpAddress&nbsp;&nbsp;&nbsp;0x40ul<br />#define&nbsp;Counter&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x41ul<br />#define&nbsp;Counter32&nbsp;&nbsp;&nbsp;0x41ul<br />#define&nbsp;Gauge&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x42ul<br />#define&nbsp;Ticks&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x43ul<br /><br />#define&nbsp;GetRequest&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0xa0ul<br />#define&nbsp;GetNextRequest&nbsp;&nbsp;0xa1ul<br />#define&nbsp;GetResponse&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0xa2ul<br />#define&nbsp;TrapV1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0xa4ul<br />#define&nbsp;SetRequest&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0xa3ul<br />#define&nbsp;GetBulkRequest&nbsp;&nbsp;0xa5ul<br />#define&nbsp;Trap&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0xa7ul<br />#define&nbsp;Report&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0xa8ul<br /><br />/*&nbsp;Version&nbsp;2&nbsp;error&nbsp;values&nbsp;*/<br />#define&nbsp;tooBig&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1<br />#define&nbsp;noSuchName&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2<br />#define&nbsp;badValue&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;3<br />#define&nbsp;readOnly&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;4<br />#define&nbsp;genErr&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;5<br />#define&nbsp;noAccess&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;6<br />#define&nbsp;wrongType&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;7<br />#define&nbsp;wrongLength&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;8<br />#define&nbsp;wrongEncoding&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;9<br />#define&nbsp;wrongValue&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;10<br />#define&nbsp;noCreation&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;11<br />#define&nbsp;inconsistentValue&nbsp;&nbsp;&nbsp;12<br />#define&nbsp;resourceUnavailable&nbsp;13<br />#define&nbsp;commitFailed&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;14<br />#define&nbsp;undoFailed&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;15<br />#define&nbsp;authorizationError&nbsp;&nbsp;16<br />#define&nbsp;notWritable&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;17<br />#define&nbsp;inconsistentName&nbsp;&nbsp;&nbsp;&nbsp;18<br /><br />#define&nbsp;IMMED&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x01&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;Immediate&nbsp;value&nbsp;in&nbsp;mvp-&gtlen&nbsp;*/<br />#define&nbsp;IMMED2&nbsp;&nbsp;&nbsp;&nbsp;0x02&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;Immediate&nbsp;value&nbsp;in&nbsp;mvp-&gttype&nbsp;+&nbsp;len&nbsp;*/<br />#define&nbsp;BASE1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x03&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;Base&nbsp;0&nbsp;in&nbsp;data&nbsp;space,&nbsp;base&nbsp;1&nbsp;in&nbsp;MIB&nbsp;*/<br />#define&nbsp;SCALAR&nbsp;&nbsp;&nbsp;&nbsp;0x04&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;Table&nbsp;not&nbsp;indexed&nbsp;(no&nbsp;offset)&nbsp;*/<br />#define&nbsp;W&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x08&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;Write&nbsp;allowed&nbsp;*/<br />#define&nbsp;SX&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x10&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;Sequential&nbsp;table&nbsp;index&nbsp;inferred&nbsp;*/<br />#define&nbsp;NWORDER&nbsp;&nbsp;&nbsp;0x20&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;Network&nbsp;byte&nbsp;ordering&nbsp;for&nbsp;basic&nbsp;type&nbsp;*/<br />#define&nbsp;CAR&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x40&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;Call&nbsp;application&nbsp;after&nbsp;read&nbsp;*/<br />#define&nbsp;CAW&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x80&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;Call&nbsp;application&nbsp;before&nbsp;write&nbsp;*/<br /><br />/*&nbsp;VACM&nbsp;return&nbsp;values&nbsp;*/<br />#define&nbsp;accessAllowed&nbsp;&nbsp;&nbsp;0<br />#define&nbsp;noSuchContext&nbsp;&nbsp;&nbsp;1<br /><br />struct&nbsp;COUNTER64<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;uint32&nbsp;hi,&nbsp;lo;<br />};<br /><br />typedef&nbsp;struct<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;uint8&nbsp;nlen,&nbsp;name[MAXOID];<br />}&nbsp;OID;<br /><br />typedef&nbsp;struct<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;OID&nbsp;oid;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;Object&nbsp;ID&nbsp;name&nbsp;and&nbsp;length&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;uint16&nbsp;ix;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;Index&nbsp;values&nbsp;(offsets)&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;uint16&nbsp;len;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;Length&nbsp;of&nbsp;table&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;void&nbsp;*empty;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;empty&nbsp;flag&nbsp;*/<br />}&nbsp;MIBTAB;<br /><br />typedef&nbsp;struct<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;OID&nbsp;oid;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;Object&nbsp;ID&nbsp;name&nbsp;and&nbsp;length&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;uint16&nbsp;opt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;Options&nbsp;(with&nbsp;choice)&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;uint8&nbsp;type;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;Type&nbsp;of&nbsp;variable&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;sint16&nbsp;len;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;Length&nbsp;of&nbsp;pointer&nbsp;field&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;void&nbsp;*ptr;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;Pointer&nbsp;to&nbsp;possible&nbsp;variable&nbsp;data&nbsp;*/<br />}&nbsp;MIBVAR;<br /><br />/*&nbsp;Define&nbsp;SNMP&nbsp;access&nbsp;to&nbsp;a&nbsp;particular&nbsp;MIB&nbsp;*/<br />typedef&nbsp;struct<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;const&nbsp;MIBVAR&nbsp;*mvp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;MIB&nbsp;variables&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;sint16&nbsp;(*numvars)(void);&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;Number&nbsp;of&nbsp;variables&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;const&nbsp;MIBTAB&nbsp;*mtp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;MIB&nbsp;tables&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;sint16&nbsp;(*numtabs)(void);&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;Number&nbsp;of&nbsp;tables&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;void&nbsp;(*get)(sint16&nbsp;varix,&nbsp;sint16&nbsp;tabix,&nbsp;uint8&nbsp;**vvptr);<br />&nbsp;&nbsp;&nbsp;&nbsp;sint16&nbsp;(*set)(sint16&nbsp;varix,&nbsp;sint16&nbsp;tabix);<br />&nbsp;&nbsp;&nbsp;&nbsp;sint16&nbsp;(*index)(sint16&nbsp;varix,&nbsp;sint16&nbsp;index);<br />&nbsp;&nbsp;&nbsp;&nbsp;void&nbsp;(*init)(uint16&nbsp;type);&nbsp;&nbsp;/*&nbsp;Initialize&nbsp;the&nbsp;MIB&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;sint16&nbsp;(*check)(sint16&nbsp;varix,&nbsp;sint16&nbsp;tabix,&nbsp;const&nbsp;uint8&nbsp;*inp);<br />}&nbsp;MIB;<br /><br />typedef&nbsp;struct<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;const&nbsp;MIB&nbsp;**mibs;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;Array&nbsp;of&nbsp;pointers&nbsp;to&nbsp;host&nbsp;MIBs&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;uint16&nbsp;nummibs;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;Number&nbsp;of&nbsp;host&nbsp;MIBs&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;uint16&nbsp;trapv;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;Trap&nbsp;version&nbsp;and&nbsp;startup&nbsp;trap&nbsp;type&nbsp;*/<br />}&nbsp;AGENT_CONTEXT;<br /><br />/*&nbsp;Function&nbsp;prototypes&nbsp;*/<br />void&nbsp;snmpInit(void);<br />void&nbsp;SnmpRefresh(void);<br />sint16&nbsp;inReqOutRep(uint8&nbsp;**obp,&nbsp;uint16&nbsp;olen,&nbsp;const&nbsp;uint8&nbsp;*ibp,&nbsp;uint16&nbsp;ilen);<br /><br />/*&nbsp;Mid-level&nbsp;API&nbsp;*/<br />sint16&nbsp;ussSNMPAgentInit(const&nbsp;AGENT_CONTEXT&nbsp;*ac);<br />sint16&nbsp;ussSNMPAgentTrap(uint8&nbsp;type,&nbsp;uint8&nbsp;spec,&nbsp;unsigned&nbsp;char*contextName,<br />&nbsp;&nbsp;&nbsp;&nbsp;const&nbsp;uint8&nbsp;*vbs,&nbsp;uint16&nbsp;len);<br /><br />/*&nbsp;Utility&nbsp;*/<br />void&nbsp;snmpEncodeIndex(uint8&nbsp;**pp,&nbsp;const&nbsp;MIB&nbsp;*mibp,&nbsp;const&nbsp;MIBTAB&nbsp;*mtp,<br />&nbsp;&nbsp;&nbsp;&nbsp;sint16&nbsp;tabix);<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />sint32&nbsp;snmpVCompare(const&nbsp;uint8&nbsp;*op1,&nbsp;sint16&nbsp;len1,&nbsp;const&nbsp;uint8&nbsp;*op2,&nbsp;sint16&nbsp;len2);<br /><br />sint32&nbsp;snmpFindOID(const&nbsp;uint8&nbsp;**retp,&nbsp;const&nbsp;uint8&nbsp;*base,&nbsp;sint16&nbsp;osize,<br />&nbsp;&nbsp;&nbsp;&nbsp;sint16&nbsp;onum,&nbsp;const&nbsp;uint8&nbsp;*valp,&nbsp;sint16&nbsp;vlen);<br />sint32&nbsp;snmpFindIndex(sint16&nbsp;*tabixp,&nbsp;const&nbsp;MIBTAB&nbsp;*mtp,<br />&nbsp;&nbsp;&nbsp;&nbsp;const&nbsp;MIB&nbsp;*mibp,&nbsp;const&nbsp;MIBVAR&nbsp;*mvp,<br />&nbsp;&nbsp;&nbsp;&nbsp;const&nbsp;uint8&nbsp;*reqixname,&nbsp;uint8&nbsp;reqixlen,&nbsp;uint8&nbsp;nflag);<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />void&nbsp;snmpEncodeID(uint8&nbsp;**pp,&nbsp;uint8&nbsp;olen,&nbsp;uint32&nbsp;val);<br /><br />sint16&nbsp;snmpReadLength(const&nbsp;uint8&nbsp;**pp,&nbsp;uint16&nbsp;type);<br />sint16&nbsp;snmpReadInt(uint32&nbsp;*outp,&nbsp;uint8&nbsp;olen,&nbsp;const&nbsp;uint8&nbsp;**inp,&nbsp;uint16&nbsp;type);<br />sint16&nbsp;snmpReadVal(uint8&nbsp;*outp,&nbsp;uint8&nbsp;olen,&nbsp;const&nbsp;uint8&nbsp;**inp,&nbsp;uint16&nbsp;type);<br /><br />void&nbsp;snmpRWriteLength(uint8&nbsp;**pp,&nbsp;uint16&nbsp;type,&nbsp;sint16&nbsp;len);<br />void&nbsp;snmpRWriteInt(uint8&nbsp;**pp,&nbsp;uint32&nbsp;val,&nbsp;uint16&nbsp;type,&nbsp;sint16&nbsp;len);<br />void&nbsp;snmpRWriteVal(uint8&nbsp;**pp,&nbsp;const&nbsp;uint8&nbsp;*vp,&nbsp;uint16&nbsp;type,&nbsp;sint16&nbsp;len);<br /><br />/*&nbsp;VACM&nbsp;module&nbsp;*/<br />sint16&nbsp;isAccessAllowed(const&nbsp;uint8&nbsp;*contextName);&nbsp;&nbsp;<br /><br /><br /><br /><br />//&nbsp;snmpFindIndex()&nbsp;&nbsp;&nbsp;&nbsp;Find&nbsp;a&nbsp;table&nbsp;entry&nbsp;index<br /><br />sint32&nbsp;snmpFindIndex(sint16&nbsp;*tabixp,&nbsp;const&nbsp;MIBTAB&nbsp;*mtp,<br />&nbsp;&nbsp;&nbsp;&nbsp;const&nbsp;MIB&nbsp;*mibp,&nbsp;const&nbsp;MIBVAR&nbsp;*mvp,<br />&nbsp;&nbsp;&nbsp;&nbsp;const&nbsp;uint8&nbsp;*reqixname,&nbsp;uint8&nbsp;reqixlen,&nbsp;uint8&nbsp;nflag)<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;uint8&nbsp;*cp;<br />&nbsp;&nbsp;&nbsp;&nbsp;sint32&nbsp;sl1,&nbsp;sl2;<br />&nbsp;&nbsp;&nbsp;&nbsp;sint16&nbsp;i1,&nbsp;i3;<br />&nbsp;&nbsp;&nbsp;&nbsp;uint8&nbsp;ixname[MAXKLEN];<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;Default&nbsp;return&nbsp;values&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;*tabixp&nbsp;=&nbsp;-1;<br />&nbsp;&nbsp;&nbsp;&nbsp;sl2&nbsp;=&nbsp;0;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;Search&nbsp;through&nbsp;each&nbsp;table&nbsp;entry's&nbsp;index&nbsp;for&nbsp;the&nbsp;element&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;(i1&nbsp;=&nbsp;0;&nbsp;;&nbsp;i1++)<br />&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;i3&nbsp;=&nbsp;mibp-&gtindex(mvp&nbsp;-&nbsp;mibp-&gtmvp,&nbsp;i1);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(i3&nbsp;&lt&nbsp;0)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;-1&nbsp;--&nbsp;End&nbsp;of&nbsp;table&nbsp;reached&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(i3&nbsp;==&nbsp;0)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;continue;&nbsp;&nbsp;&nbsp;/*&nbsp;0&nbsp;--&nbsp;Skip&nbsp;table&nbsp;entry&nbsp;*/<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*&nbsp;Encode&nbsp;the&nbsp;table&nbsp;entry&nbsp;at&nbsp;the&nbsp;current&nbsp;index&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cp&nbsp;=&nbsp;ixname&nbsp;+&nbsp;MAXKLEN;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;snmpEncodeIndex(&cp,&nbsp;mibp,&nbsp;mtp,&nbsp;i1);<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/*<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;**&nbsp;Compare&nbsp;agent&nbsp;encoding&nbsp;with&nbsp;requested&nbsp;encoding.<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;**&nbsp;Save&nbsp;the&nbsp;smallest&nbsp;positive&nbsp;difference.<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sl1&nbsp;=&nbsp;snmpVCompare(cp,&nbsp;(const&nbsp;uint8&nbsp;*)&ixname[MAXKLEN]&nbsp;-&nbsp;cp,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;reqixname,&nbsp;reqixlen);<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(nflag)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(sl1&nbsp;&gt=&nbsp;255)&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sl2&nbsp;=&nbsp;1;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(sl1&nbsp;==&nbsp;0)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sl2&nbsp;=&nbsp;1;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;break;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;*tabixp&nbsp;=&nbsp;i1;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;sl2;<br />}
 楼主| eworker 发表于 2008-8-14 17:11 | 显示全部楼层

提示如下错误

This&nbsp;application&nbsp;has&nbsp;requested&nbsp;the&nbsp;Runtime&nbsp;to&nbsp;terminate&nbsp;it&nbsp;in&nbsp;an&nbsp;unusual&nbsp;way.<br />Please&nbsp;contact&nbsp;the&nbsp;application's&nbsp;support&nbsp;team&nbsp;for&nbsp;more&nbsp;information.<br />
yewuyi 发表于 2008-8-14 17:21 | 显示全部楼层

应该是编译器过期了。。。

呵呵,要么掏钱要么。。。(此处省略100字)
 楼主| eworker 发表于 2008-8-14 17:24 | 显示全部楼层

但是编译其他函数没有问题啊

  
 楼主| eworker 发表于 2008-8-14 17:33 | 显示全部楼层

编译一个很大的工程也没有问题。

  
yewuyi 发表于 2008-8-14 17:33 | 显示全部楼层

那就不太清楚了。。。

找MCP的工程师问问把
soso 发表于 2008-8-14 23:26 | 显示全部楼层

是编译器时间限制了

&nbsp;&nbsp;&nbsp;&nbsp;强烈建议,在物有所值的状态下采用正版的软件,MCC18就几百块*币。
 楼主| eworker 发表于 2008-8-15 11:02 | 显示全部楼层

具体原因没找到,但今天又可以编译了。

  
chengqing3968 发表于 2013-10-9 10:34 | 显示全部楼层
有点神奇……
chengqing3968 发表于 2013-10-9 17:07 | 显示全部楼层
敢问楼主,这个代码是自己写的,还是哪儿找的?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

29

主题

176

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部

29

主题

176

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部