summaryrefslogtreecommitdiff
path: root/agent/mibgroup/mibII/ipCidrRouteTable_access.c
diff options
context:
space:
mode:
Diffstat (limited to 'agent/mibgroup/mibII/ipCidrRouteTable_access.c')
-rw-r--r--agent/mibgroup/mibII/ipCidrRouteTable_access.c258
1 files changed, 258 insertions, 0 deletions
diff --git a/agent/mibgroup/mibII/ipCidrRouteTable_access.c b/agent/mibgroup/mibII/ipCidrRouteTable_access.c
new file mode 100644
index 0000000..c905c4b
--- /dev/null
+++ b/agent/mibgroup/mibII/ipCidrRouteTable_access.c
@@ -0,0 +1,258 @@
+
+/*
+ * Note: this file originally auto-generated by mib2c using
+ * : mib2c.access_functions.conf$
+ */
+
+#include <net-snmp/net-snmp-config.h>
+#include "route_headers.h"
+#include <net-snmp/net-snmp-includes.h>
+#include <net-snmp/agent/net-snmp-agent-includes.h>
+#include "ipCidrRouteTable_access.h"
+#include "ipCidrRouteTable_enums.h"
+
+/*
+ * NOTE:
+ * - these GET routines MUST return freshly malloced data and must not
+ * return a pointer which is still in use somewhere else.
+ * - these SET routines must copy the incoming data and can not take
+ * ownership of the memory passed in by the val pointer.
+ */
+
+/** a global static we'll make use of a lot to map to the right
+ datatype to return (which for SNMP integer's is always a long). */
+static u_long long_ret;
+static in_addr_t addr_ret;
+
+/*
+ * User-defined data access functions for data in table ipCidrRouteTable
+ */
+
+u_long *
+get_ipCidrRouteDest(void *data_context, size_t * ret_len)
+{
+ RTENTRY *ourroute = (RTENTRY *) data_context;
+ addr_ret = ((struct sockaddr_in *) (&ourroute->rt_dst))->sin_addr.s_addr;
+ *ret_len = sizeof(addr_ret);
+ return &addr_ret;
+}
+
+u_long *
+get_ipCidrRouteMask(void *data_context, size_t * ret_len)
+{
+ RTENTRY *ourroute = (RTENTRY *) data_context;
+ addr_ret = ((struct sockaddr_in *) (&ourroute->rt_genmask))->sin_addr.s_addr;
+ *ret_len = sizeof(addr_ret);
+ return &addr_ret;
+}
+
+long *
+get_ipCidrRouteTos(void *data_context, size_t * ret_len)
+{
+ RTENTRY *ourroute = (RTENTRY *) data_context;
+ long_ret = ourroute->rt_tos;
+ *ret_len = sizeof(long_ret);
+ return &long_ret;
+}
+
+u_long *
+get_ipCidrRouteNextHop(void *data_context, size_t * ret_len)
+{
+ RTENTRY *ourroute = (RTENTRY *) data_context;
+ addr_ret = ((struct sockaddr_in *) (&ourroute->rt_gateway))->sin_addr.s_addr;
+ *ret_len = sizeof(addr_ret);
+ return &addr_ret;
+}
+
+long *
+get_ipCidrRouteIfIndex(void *data_context, size_t * ret_len)
+{
+ RTENTRY *ourroute = (RTENTRY *) data_context;
+ long_ret = ourroute->rt_unit;
+ *ret_len = sizeof(long_ret);;
+ return &long_ret;
+}
+
+int
+set_ipCidrRouteIfIndex(void *data_context, long *val, size_t val_len)
+{
+ return SNMP_ERR_NOERROR; /** XXX: change if an error occurs */
+}
+
+long *
+get_ipCidrRouteType(void *data_context, size_t * ret_len)
+{
+ RTENTRY *ourroute = (RTENTRY *) data_context;
+
+ if (ourroute->rt_flags & RTF_UP) {
+ if (ourroute->rt_flags & RTF_GATEWAY) {
+ long_ret = IPCIDRROUTETYPE_REMOTE;
+ } else {
+ long_ret = IPCIDRROUTETYPE_LOCAL;
+ }
+ } else {
+ long_ret = IPCIDRROUTETYPE_REJECT;
+ }
+ *ret_len = sizeof(long_ret);
+ return &long_ret;
+
+}
+
+int
+set_ipCidrRouteType(void *data_context, long *val, size_t val_len)
+{
+ return SNMP_ERR_NOERROR; /** XXX: change if an error occurs */
+}
+
+long *
+get_ipCidrRouteProto(void *data_context, size_t * ret_len)
+{
+ RTENTRY *ourroute = (RTENTRY *) data_context;
+ /* XXX: this is wacked */
+ long_ret = (ourroute->rt_flags & RTF_DYNAMIC)
+ ? IPCIDRROUTEPROTO_ICMP : IPCIDRROUTEPROTO_LOCAL;
+ *ret_len = sizeof(long_ret);
+ return &long_ret;
+}
+
+long *
+get_ipCidrRouteAge(void *data_context, size_t * ret_len)
+{
+ long_ret = 0; /* we don't know, and defval = 0 */
+ *ret_len = sizeof(long_ret);
+ return &long_ret;
+}
+
+oid *
+get_ipCidrRouteInfo(void *data_context, size_t * ret_len)
+{
+ static oid zerodotzero[2] = { 0, 0 };
+ *ret_len = sizeof(zerodotzero);
+ return zerodotzero;
+}
+
+int
+set_ipCidrRouteInfo(void *data_context, oid * val, size_t val_len)
+{
+ return SNMP_ERR_NOERROR; /** XXX: change if an error occurs */
+}
+
+/** XXX: return a data pointer to the data for the ipCidrRouteNextHopAS column and set
+ ret_len to its proper size in bytes. */
+long *
+get_ipCidrRouteNextHopAS(void *data_context, size_t * ret_len)
+{
+ long_ret = 0; /* we don't know, and defval = 0 */
+ *ret_len = sizeof(long_ret);
+ return &long_ret;
+}
+
+int
+set_ipCidrRouteNextHopAS(void *data_context, long *val, size_t val_len)
+{
+ return SNMP_ERR_NOERROR; /** XXX: change if an error occurs */
+}
+
+long *
+get_ipCidrRouteMetric1(void *data_context, size_t * ret_len)
+{
+ RTENTRY *ourroute = (RTENTRY *) data_context;
+ long_ret = ourroute->rt_metric;
+ *ret_len = sizeof(long_ret);
+ return &long_ret;
+}
+
+int
+set_ipCidrRouteMetric1(void *data_context, long *val, size_t val_len)
+{
+ return SNMP_ERR_NOERROR; /** XXX: change if an error occurs */
+}
+
+long *
+get_ipCidrRouteMetric2(void *data_context, size_t * ret_len)
+{
+ long_ret = -1; /* unused */
+ *ret_len = sizeof(long_ret);
+ return &long_ret;
+}
+
+ /** XXX: Set the value of the ipCidrRouteMetric2 column and return
+ SNMPERR_SUCCESS on SNMPERR_GENERR on failure. */
+int
+set_ipCidrRouteMetric2(void *data_context, long *val, size_t val_len)
+{
+ return SNMP_ERR_NOERROR; /** XXX: change if an error occurs */
+}
+
+/** XXX: return a data pointer to the data for the ipCidrRouteMetric3 column and set
+ ret_len to its proper size in bytes. */
+long *
+get_ipCidrRouteMetric3(void *data_context, size_t * ret_len)
+{
+ long_ret = -1; /* unused */
+ *ret_len = sizeof(long_ret);
+ return &long_ret;
+}
+
+ /** XXX: Set the value of the ipCidrRouteMetric3 column and return
+ SNMPERR_SUCCESS on SNMPERR_GENERR on failure. */
+int
+set_ipCidrRouteMetric3(void *data_context, long *val, size_t val_len)
+{
+ return SNMP_ERR_NOERROR; /** XXX: change if an error occurs */
+}
+
+/** XXX: return a data pointer to the data for the ipCidrRouteMetric4 column and set
+ ret_len to its proper size in bytes. */
+long *
+get_ipCidrRouteMetric4(void *data_context, size_t * ret_len)
+{
+ long_ret = -1; /* unused */
+ *ret_len = sizeof(long_ret);
+ return &long_ret;
+}
+
+ /** XXX: Set the value of the ipCidrRouteMetric4 column and return
+ SNMPERR_SUCCESS on SNMPERR_GENERR on failure. */
+int
+set_ipCidrRouteMetric4(void *data_context, long *val, size_t val_len)
+{
+ return SNMP_ERR_NOERROR; /** XXX: change if an error occurs */
+}
+
+/** XXX: return a data pointer to the data for the ipCidrRouteMetric5 column and set
+ ret_len to its proper size in bytes. */
+long *
+get_ipCidrRouteMetric5(void *data_context, size_t * ret_len)
+{
+ long_ret = -1; /* unused */
+ *ret_len = sizeof(long_ret);
+ return &long_ret;
+}
+
+ /** XXX: Set the value of the ipCidrRouteMetric5 column and return
+ SNMPERR_SUCCESS on SNMPERR_GENERR on failure. */
+int
+set_ipCidrRouteMetric5(void *data_context, long *val, size_t val_len)
+{
+ return SNMP_ERR_NOERROR; /** XXX: change if an error occurs */
+}
+
+/** XXX: return a data pointer to the data for the ipCidrRouteStatus column and set
+ ret_len to its proper size in bytes. */
+long *
+get_ipCidrRouteStatus(void *data_context, size_t * ret_len)
+{
+ /* the only value supported for real routes */
+ long_ret = IPCIDRROUTESTATUS_ACTIVE;
+ *ret_len = sizeof(long_ret);
+ return &long_ret;
+}
+
+ /** XXX: Set the value of the ipCidrRouteStatus column and return
+ SNMPERR_SUCCESS on SNMPERR_GENERR on failure. */
+int
+set_ipCidrRouteStatus(void *data_context, long *val, size_t val_len)
+{
+ return SNMP_ERR_NOERROR; /** XXX: change if an error occurs */
+}