2、time.h>#else#include#endif#endif#include"util_funcs.h"包含自己的头文件#include"Display_time.h"#defineEXAMPLE_STR_LEN300#defineEXAMPLE_STR_DEFAULT"lifetheuniverseandeverything"int example_int=42;char example_str[EXAMPLE_STR_LEN];void example_parse_config_exampleint(cons
3、tchar*token,char*cptr);void example_parse_config_examplestr(constchar*token,char*cptr);void example_free_config_exampleint(void);void example_free_config_examplestr(void);这个数组的类型是structvariableN,其中N是这个数组中OID号的最长的数,即:结构体最后一个成员(这个成员是个数组)定义了MIBTreeOID的底层数字。 N定义了MIBTreeOI
4、D的底层的层数(也就是这个数组的长度)。 所有有效的N数字都定义在了文件中。structvariableN类型成员的说明: 1):FoxmailINT:这个magicnumber是在自己的头文件Display_time.h中宏定义, 这个参数被用来传递给CallBack例程,用来决定那个object被查询。 2):ASN_INTEGER:这个参数说明了object的类型,所有有效的类型在snmp_impl.h文件中列表说明。 3):RONLY:这个参数说明了object是否能够被set。 4):var
5、_foxmail:当有object被查询时,这个CallBack例程被调用。 一般的情况下,同一个文件中的所有的object使用相同的allBack例程。 5):1:MIBTreeOID的底层数字的层数。(这个数字决定了structvariableN中的N) 6):{1}:MIBTreeOID的底层数字。structvariable2example_variables[]={ {EXAMPLESTRING,ASN_OCTET_STR,RONLY,var_example,1,{1}}, {EXAMPLEINTEGER,ASN_INTEGER,RWRIT
6、E,var_example,2,{2,1}}, {EXAMPLEOBJECTID,ASN_OBJECT_ID,RONLY,var_example,2,{2,2}}, {EXAMPLETIMETICKS,ASN_TIMETICKS,RONLY,var_example,1,{3}}, {EXAMPLEIPADDRESS,ASN_IPADDRESS,RONLY,var_example,1,{4}}, {EXAMPLECOUNTER,ASN_COUNTER,RONLY,var_example,1,{5}}, {EXAMPLEGAUGE,ASN_GAUGE,RONLY,var_exa
7、mple,1,{6}}, {EXAMPLETRIGGERTRAP,ASN_INTEGER,RWRITE,var_example,1,{7}}, {EXAMPLETRIGGERTRAP2,ASN_INTEGER,RWRITE,var_example,1,{8}}};下面这个数组定义了MIBTreeOID的顶层数字。oid example_variables_oid[]=