added files
[bcm963xx.git] / userapps / opensource / net-snmp / agent / mibgroup / mibII / sysORTable.h
1 /*
2  *  Template MIB group interface - sysORTable.h
3  *
4  */
5 #ifndef _MIBGROUP_SYSORTABLE_H
6 #define _MIBGROUP_SYSORTABLE_H
7
8 config_require(util_funcs)
9
10      struct sysORTable {
11          char           *OR_descr;
12          oid            *OR_oid;
13          size_t          OR_oidlen;
14          struct timeval  OR_uptime;
15          netsnmp_session *OR_sess;
16          struct sysORTable *next;
17      };
18
19      struct register_sysOR_parameters {
20          oid            *name;
21          int             namelen;
22          const char     *descr;
23      };
24
25      extern void     init_sysORTable(void);
26      extern FindVarMethod var_sysORTable;
27      extern FindVarMethod var_sysORLastChange;
28      extern int      register_sysORTable(oid *, size_t, const char *);
29      extern int      unregister_sysORTable(oid *, size_t);
30      extern int      register_sysORTable_sess(oid *, size_t, const char *,
31                                               netsnmp_session *);
32      extern int      unregister_sysORTable_sess(oid *, size_t,
33                                                 netsnmp_session *);
34      extern void     unregister_sysORTable_by_session(netsnmp_session *);
35
36 #define SYSORTABLEINDEX                 1
37 #define SYSORTABLEID                    2
38 #define SYSORTABLEDESCR                 3
39 #define SYSORTABLEUPTIME                4
40
41 #define SYS_ORTABLE_REGISTERED_OK              0
42 #define SYS_ORTABLE_REGISTRATION_FAILED       -1
43 #define SYS_ORTABLE_UNREGISTERED_OK            0
44 #define SYS_ORTABLE_NO_SUCH_REGISTRATION      -1
45
46 #ifdef  USING_MIBII_SYSORTABLE_MODULE
47 #define REGISTER_SYSOR_ENTRY(theoid, descr)                      \
48   (void)register_sysORTable(theoid, sizeof(theoid)/sizeof(oid), descr);
49 #define REGISTER_SYSOR_TABLE(theoid, len, descr)                      \
50   (void)register_sysORTable(theoid, len, descr);
51
52 #else
53 #define REGISTER_SYSOR_ENTRY(x,y)
54 #define REGISTER_SYSOR_TABLE(x,y)
55 #endif                          /* USING_MIBII_SYSORTABLE_MODULE */
56 #endif                          /* _MIBGROUP_SYSORTABLE_H */