我正在爲C++中的Net-SNMP編寫AgentX子代理。SNMP AgentX:如何註冊OID?
我嘗試了OID 1.3.6.1.4.1.4711.1.1這樣註冊
oid myOID[] = { 1, 3, 6, 1, 4, 1, 4711, 1, 1 };
handler = netsnmp_create_handler_registration("foo", handler, myOID, OID_LENGTH(myOID), HANDLER_CAN_RONLY);
if (handler)
netsnmp_register_scalar(handler);
奇怪SNMPGET失敗的1.3.6.1.4.1.4711.1.1和我的處理程序只有被調用時,我做1.3.6.1.4.1.4711.1.1.0的snmpget(加零)。
如何註冊1.3.6.1.4.1.4711.1.1?
net-snmp.org上的例子都註冊一個實例變量,但我必須運行一些代碼來收集值。
我是否必須從C++應用程序中將回調聲明爲extern「C」?
有沒有人有一個例子如何註冊所有在1.3.6.1.4.1.4711.1以下的OID,所以我不必定義這麼多的處理程序?