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);這個(gè)數(shù)組的類型是structvariableN,其中N是這個(gè)數(shù)組中OID號(hào)的最長(zhǎng)的數(shù),即:結(jié)構(gòu)體最后一個(gè)成員(這個(gè)成員是個(gè)數(shù)組)定義了MIBTreeOID的底層數(shù)字。???N定義了MIBTreeOI
4、D的底層的層數(shù)(也就是這個(gè)數(shù)組的長(zhǎng)度)。???所有有效的N數(shù)字都定義在了文件中。structvariableN類型成員的說(shuō)明:???1):FoxmailINT:這個(gè)magicnumber是在自己的頭文件Display_time.h中宏定義,??????????????????這個(gè)參數(shù)被用來(lái)傳遞給CallBack例程,用來(lái)決定那個(gè)object被查詢。???2):ASN_INTEGER:這個(gè)參數(shù)說(shuō)明了object的類型,所有有效的類型在snmp_impl.h文件中列表說(shuō)明。???3):RONLY:這個(gè)參數(shù)說(shuō)明了object是否能夠被set。???4):var
5、_foxmail:當(dāng)有object被查詢時(shí),這個(gè)CallBack例程被調(diào)用。???????????????一般的情況下,同一個(gè)文件中的所有的object使用相同的allBack例程。???5):1:MIBTreeOID的底層數(shù)字的層數(shù)。(這個(gè)數(shù)字決定了structvariableN中的N)???6):{1}:MIBTreeOID的底層數(shù)字。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}}};下面這個(gè)數(shù)組定義了MIBTreeOID的頂層數(shù)字。oid????????????example_variables_oid[]=