summaryrefslogtreecommitdiff
path: root/include/net-snmp/agent/instance.h
blob: c765da826aecd0975e8fa8625ac2f2bc514f4261 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
/*
 * testhandler.h 
 */
#ifndef NETSNMP_INSTANCE_H
#define NETSNMP_INSTANCE_H

#ifdef __cplusplus
extern "C" {
#endif

/*
 * The instance helper is designed to simplify the task of adding simple
 * * instances to the mib tree.
 */

/*
 * GETNEXTs are auto-converted to a GET.
 * * non-valid GETs are dropped.
 * * The client can assume that if you're called for a GET, it shouldn't
 * * have to check the oid at all.  Just answer.
 */

int             netsnmp_register_instance(netsnmp_handler_registration
                                          *reginfo);
int            
netsnmp_register_read_only_instance(netsnmp_handler_registration *reginfo);

#define INSTANCE_HANDLER_NAME "instance"

netsnmp_mib_handler *netsnmp_get_instance_handler(void);

int             netsnmp_register_read_only_ulong_instance(const char *name,
                                                          oid * reg_oid,
                                                          size_t
                                                          reg_oid_len,
                                                          u_long * it,
                                                          Netsnmp_Node_Handler
                                                          * subhandler);
int             netsnmp_register_ulong_instance(const char *name,
                                                oid * reg_oid,
                                                size_t reg_oid_len,
                                                u_long * it,
                                                Netsnmp_Node_Handler *
                                                subhandler);
int             netsnmp_register_read_only_counter32_instance(const char
                                                              *name,
                                                              oid *
                                                              reg_oid,
                                                              size_t
                                                              reg_oid_len,
                                                              u_long * it,
                                                              Netsnmp_Node_Handler
                                                              *
                                                              subhandler);
int             netsnmp_register_read_only_long_instance(const char *name,
                                                         oid * reg_oid,
                                                         size_t
                                                         reg_oid_len,
                                                         long *it,
                                                         Netsnmp_Node_Handler
                                                         * subhandler);
int             netsnmp_register_long_instance(const char *name,
                                               oid * reg_oid,
                                               size_t reg_oid_len,
                                               long *it,
                                               Netsnmp_Node_Handler *
                                               subhandler);

int             netsnmp_register_read_only_int_instance(const char *name,
                                              oid * reg_oid,
                                              size_t reg_oid_len, int *it,
                                              Netsnmp_Node_Handler *
                                              subhandler);

int             netsnmp_register_int_instance(const char *name,
                                              oid * reg_oid,
                                              size_t reg_oid_len, int *it,
                                              Netsnmp_Node_Handler *
                                              subhandler);

/* identical functions that register a in a particular context */
int  netsnmp_register_read_only_ulong_instance_context(const char *name,
                                                       oid * reg_oid,
                                                       size_t
                                                       reg_oid_len,
                                                       u_long * it,
                                                       Netsnmp_Node_Handler
                                                       * subhandler,
                                                       const char *contextName);
int  netsnmp_register_ulong_instance_context(const char *name,
                                             oid * reg_oid,
                                             size_t reg_oid_len,
                                             u_long * it,
                                             Netsnmp_Node_Handler *
                                             subhandler,
                                             const char *contextName);
int  netsnmp_register_read_only_counter32_instance_context(const char
                                                           *name,
                                                           oid *
                                                           reg_oid,
                                                           size_t
                                                           reg_oid_len,
                                                           u_long * it,
                                                           Netsnmp_Node_Handler
                                                           *
                                                           subhandler,
                                                           const char *contextName);
int  netsnmp_register_read_only_long_instance_context(const char *name,
                                                      oid * reg_oid,
                                                      size_t
                                                      reg_oid_len,
                                                      long *it,
                                                      Netsnmp_Node_Handler
                                                      * subhandler,
                                                      const char *contextName);
int  netsnmp_register_long_instance_context(const char *name,
                                            oid * reg_oid,
                                            size_t reg_oid_len,
                                            long *it,
                                            Netsnmp_Node_Handler *
                                            subhandler,
                                            const char *contextName);

int  netsnmp_register_read_only_int_instance_context(const char *name,
                                                     oid * reg_oid,
                                                     size_t reg_oid_len, int *it,
                                                     Netsnmp_Node_Handler *
                                                     subhandler,
                                                     const char *contextName);

int  netsnmp_register_int_instance_context(const char *name,
                                           oid * reg_oid,
                                           size_t reg_oid_len, int *it,
                                           Netsnmp_Node_Handler *
                                           subhandler,
                                           const char *contextName);

int  netsnmp_register_num_file_instance(const char *name,
                                        oid * reg_oid, size_t reg_oid_len,
                                        char *file_name, int asn_type, int mode,
                                        Netsnmp_Node_Handler * subhandler,
                                        const char *contextName);

Netsnmp_Node_Handler netsnmp_instance_helper_handler;
Netsnmp_Node_Handler netsnmp_instance_ulong_handler;
Netsnmp_Node_Handler netsnmp_instance_long_handler;
Netsnmp_Node_Handler netsnmp_instance_int_handler;
Netsnmp_Node_Handler netsnmp_instance_uint_handler;
Netsnmp_Node_Handler netsnmp_instance_counter32_handler;
Netsnmp_Node_Handler netsnmp_instance_num_file_handler;

#ifdef __cplusplus
}
#endif

#endif /** NETSNMP_INSTANCE_H */