Я пишу агенту AgentX для Net-SNMP в C++.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 и мой обработчик только вызывается, когда я do snmpget для 1.3.6.1.4.1.4711.1.1.0 (добавлен ноль).
Как я могу зарегистрироваться для 1.3.6.1.4.1.4711.1.1?
Примеры на net-snmp.org все регистрируют переменную экземпляра, но я должен запустить некоторый код для сбора значения.
Должен ли я объявить свой обратный вызов как extern «C» из приложения C++?
Есть ли у кого-нибудь пример регистрации для всех OID ниже 1.3.6.1.4.1.4711.1, поэтому мне не нужно определять так много обработчиков?