| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- #ifndef NETSNMP_SYSORTABLE_H
- #define NETSNMP_SYSORTABLE_H
- struct sysORTable {
- char *OR_descr;
- oid *OR_oid;
- size_t OR_oidlen;
- netsnmp_session *OR_sess;
- u_long OR_uptime;
- };
- struct register_sysOR_parameters {
- char *descr;
- oid *name;
- size_t namelen;
- };
- #define SYS_ORTABLE_REGISTERED_OK 0
- #define SYS_ORTABLE_REGISTRATION_FAILED -1
- #define SYS_ORTABLE_UNREGISTERED_OK 0
- #define SYS_ORTABLE_NO_SUCH_REGISTRATION -1
- #include <net-snmp/agent/agent_callbacks.h>
- #define REGISTER_SYSOR_TABLE(theoid, len, descr) \
- do { \
- struct sysORTable t; \
- t.OR_descr = NETSNMP_REMOVE_CONST(char *, descr); \
- t.OR_oid = theoid; \
- t.OR_oidlen = len; \
- t.OR_sess = NULL; \
- t.OR_uptime = 0; \
- snmp_call_callbacks(SNMP_CALLBACK_APPLICATION, \
- SNMPD_CALLBACK_REQ_REG_SYSOR, &t); \
- } while(0);
- #define REGISTER_SYSOR_ENTRY(theoid, descr) \
- REGISTER_SYSOR_TABLE(theoid, sizeof(theoid) / sizeof(oid), \
- descr)
- #define UNREGISTER_SYSOR_TABLE(theoid, len) \
- do { \
- struct sysORTable t; \
- t.OR_descr = NULL; \
- t.OR_oid = theoid; \
- t.OR_oidlen = len; \
- t.OR_sess = NULL; \
- t.OR_uptime = 0; \
- snmp_call_callbacks(SNMP_CALLBACK_APPLICATION, \
- SNMPD_CALLBACK_REQ_UNREG_SYSOR, &t); \
- } while(0);
- #define UNREGISTER_SYSOR_ENTRY(theoid) \
- UNREGISTER_SYSOR_TABLE(theoid, sizeof(theoid) / sizeof(oid))
- #define UNREGISTER_SYSOR_SESS(sess) \
- snmp_call_callbacks(SNMP_CALLBACK_APPLICATION, \
- SNMPD_CALLBACK_REQ_UNREG_SYSOR_SESS, \
- sess);
- #endif /* NETSNMP_SYSORTABLE_H */
|