summaryrefslogtreecommitdiff
path: root/agent/mibgroup/rmon-mib/etherStatsTable/etherStatsTable_data_get.c
diff options
context:
space:
mode:
Diffstat (limited to 'agent/mibgroup/rmon-mib/etherStatsTable/etherStatsTable_data_get.c')
-rw-r--r--agent/mibgroup/rmon-mib/etherStatsTable/etherStatsTable_data_get.c1411
1 files changed, 1411 insertions, 0 deletions
diff --git a/agent/mibgroup/rmon-mib/etherStatsTable/etherStatsTable_data_get.c b/agent/mibgroup/rmon-mib/etherStatsTable/etherStatsTable_data_get.c
new file mode 100644
index 0000000..3ba51d7
--- /dev/null
+++ b/agent/mibgroup/rmon-mib/etherStatsTable/etherStatsTable_data_get.c
@@ -0,0 +1,1411 @@
+/*
+ * Note: this file originally auto-generated by mib2c using
+ * version : 12088 $ of $
+ *
+ * $Id:$
+ */
+/*
+ * standard Net-SNMP includes
+ */
+#include <net-snmp/net-snmp-config.h>
+#include <net-snmp/net-snmp-includes.h>
+#include <net-snmp/agent/net-snmp-agent-includes.h>
+
+/*
+ * include our parent header
+ */
+#include "etherStatsTable.h"
+
+
+/** @defgroup data_get data_get: Routines to get data
+ *
+ * TODO:230:M: Implement etherStatsTable get routines.
+ * TODO:240:M: Implement etherStatsTable mapping routines (if any).
+ *
+ * These routine are used to get the value for individual objects. The
+ * row context is passed, along with a pointer to the memory where the
+ * value should be copied.
+ *
+ * @{
+ */
+/**********************************************************************
+ **********************************************************************
+ ***
+ *** Table etherStatsTable
+ ***
+ **********************************************************************
+ **********************************************************************/
+/*
+ * RMON-MIB::etherStatsTable is subid 1 of statistics.
+ * Its status is Current.
+ * OID: .1.3.6.1.2.1.16.1.1, length: 9
+ */
+
+/*
+ * ---------------------------------------------------------------------
+ * * TODO:200:r: Implement etherStatsTable data context functions.
+ */
+
+
+/**
+ * set mib index(es)
+ *
+ * @param tbl_idx mib index structure
+ * @param etherStatsIndex_val
+ *
+ * @retval MFD_SUCCESS : success.
+ * @retval MFD_ERROR : other error.
+ *
+ * @remark
+ * This convenience function is useful for setting all the MIB index
+ * components with a single function call. It is assume that the C values
+ * have already been mapped from their native/rawformat to the MIB format.
+ */
+int
+etherStatsTable_indexes_set_tbl_idx(etherStatsTable_mib_index * tbl_idx,
+ long etherStatsIndex_val)
+{
+ DEBUGMSGTL(("verbose:etherStatsTable:etherStatsTable_indexes_set_tbl_idx", "called\n"));
+
+ /*
+ * etherStatsIndex(1)/INTEGER32/ASN_INTEGER/long(long)//l/A/w/e/R/d/h
+ */
+ tbl_idx->etherStatsIndex = etherStatsIndex_val;
+
+
+ return MFD_SUCCESS;
+} /* etherStatsTable_indexes_set_tbl_idx */
+
+/**
+ * @internal
+ * set row context indexes
+ *
+ * @param reqreq_ctx the row context that needs updated indexes
+ *
+ * @retval MFD_SUCCESS : success.
+ * @retval MFD_ERROR : other error.
+ *
+ * @remark
+ * This function sets the mib indexs, then updates the oid indexs
+ * from the mib index.
+ */
+int
+etherStatsTable_indexes_set(etherStatsTable_rowreq_ctx * rowreq_ctx,
+ long etherStatsIndex_val)
+{
+ DEBUGMSGTL(("verbose:etherStatsTable:etherStatsTable_indexes_set",
+ "called\n"));
+
+ if (MFD_SUCCESS !=
+ etherStatsTable_indexes_set_tbl_idx(&rowreq_ctx->tbl_idx,
+ etherStatsIndex_val))
+ return MFD_ERROR;
+
+ /*
+ * convert mib index to oid index
+ */
+ rowreq_ctx->oid_idx.len = sizeof(rowreq_ctx->oid_tmp) / sizeof(oid);
+ if (0 != etherStatsTable_index_to_oid(&rowreq_ctx->oid_idx,
+ &rowreq_ctx->tbl_idx)) {
+ return MFD_ERROR;
+ }
+
+ return MFD_SUCCESS;
+} /* etherStatsTable_indexes_set */
+
+
+/*---------------------------------------------------------------------
+ * RMON-MIB::etherStatsEntry.etherStatsDataSource
+ * etherStatsDataSource is subid 2 of etherStatsEntry.
+ * Its status is Current, and its access level is Create.
+ * OID: .1.3.6.1.2.1.16.1.1.1.2
+ * Description:
+This object identifies the source of the data that
+ this etherStats entry is configured to analyze. This
+ source can be any ethernet interface on this device.
+ In order to identify a particular interface, this object
+ shall identify the instance of the ifIndex object,
+ defined in RFC 2233 [17], for the desired interface.
+ For example, if an entry were to receive data from
+ interface #1, this object would be set to ifIndex.1.
+
+ The statistics in this group reflect all packets
+ on the local network segment attached to the identified
+ interface.
+
+ An agent may or may not be able to tell if fundamental
+ changes to the media of the interface have occurred and
+ necessitate an invalidation of this entry. For example, a
+ hot-pluggable ethernet card could be pulled out and replaced
+ by a token-ring card. In such a case, if the agent has such
+ knowledge of the change, it is recommended that it
+ invalidate this entry.
+
+ This object may not be modified if the associated
+ etherStatsStatus object is equal to valid(1).
+ *
+ * Attributes:
+ * accessible 1 isscalar 0 enums 0 hasdefval 0
+ * readable 1 iscolumn 1 ranges 0 hashint 0
+ * settable 1
+ *
+ *
+ * Its syntax is OBJECTID (based on perltype OBJECTID)
+ * The net-snmp type is ASN_OBJECT_ID. The C type decl is oid (oid)
+ * This data type requires a length.
+ */
+/**
+ * Extract the current value of the etherStatsDataSource data.
+ *
+ * Set a value using the data context for the row.
+ *
+ * @param rowreq_ctx
+ * Pointer to the row request context.
+ * @param etherStatsDataSource_val_ptr_ptr
+ * Pointer to storage for a oid variable
+ * @param etherStatsDataSource_val_ptr_len_ptr
+ * Pointer to a size_t. On entry, it will contain the size (in bytes)
+ * pointed to by etherStatsDataSource.
+ * On exit, this value should contain the data size (in bytes).
+ *
+ * @retval MFD_SUCCESS : success
+ * @retval MFD_SKIP : skip this node (no value for now)
+ * @retval MFD_ERROR : Any other error
+*
+ * @note If you need more than (*etherStatsDataSource_val_ptr_len_ptr) bytes of memory,
+ * allocate it using malloc() and update etherStatsDataSource_val_ptr_ptr.
+ * <b>DO NOT</b> free the previous pointer.
+ * The MFD helper will release the memory you allocate.
+ *
+ * @remark If you call this function yourself, you are responsible
+ * for checking if the pointer changed, and freeing any
+ * previously allocated memory. (Not necessary if you pass
+ * in a pointer to static memory, obviously.)
+ */
+int
+etherStatsDataSource_get(etherStatsTable_rowreq_ctx * rowreq_ctx,
+ oid ** etherStatsDataSource_val_ptr_ptr,
+ size_t *etherStatsDataSource_val_ptr_len_ptr)
+{
+ /** we should have a non-NULL pointer and enough storage */
+ netsnmp_assert((NULL != etherStatsDataSource_val_ptr_ptr)
+ && (NULL != *etherStatsDataSource_val_ptr_ptr));
+ netsnmp_assert(NULL != etherStatsDataSource_val_ptr_len_ptr);
+
+
+ DEBUGMSGTL(("verbose:etherStatsTable:etherStatsDataSource_get",
+ "called\n"));
+
+ netsnmp_assert(NULL != rowreq_ctx);
+
+ /*
+ * TODO:231:o: |-> Extract the current value of the etherStatsDataSource data.
+ * copy (* etherStatsDataSource_val_ptr_ptr ) data and (* etherStatsDataSource_val_ptr_len_ptr ) from rowreq_ctx->data
+ */
+ /*
+ * make sure there is enough space for etherStatsDataSource data
+ */
+ if ((NULL == (*etherStatsDataSource_val_ptr_ptr)) ||
+ ((*etherStatsDataSource_val_ptr_len_ptr) <
+ (rowreq_ctx->data.etherStatsDataSource_len *
+ sizeof(rowreq_ctx->data.etherStatsDataSource[0])))) {
+ /*
+ * allocate space for etherStatsDataSource data
+ */
+ (*etherStatsDataSource_val_ptr_ptr) =
+ malloc(rowreq_ctx->data.etherStatsDataSource_len *
+ sizeof(rowreq_ctx->data.etherStatsDataSource[0]));
+ if (NULL == (*etherStatsDataSource_val_ptr_ptr)) {
+ snmp_log(LOG_ERR, "could not allocate memory\n");
+ return MFD_ERROR;
+ }
+ }
+ (*etherStatsDataSource_val_ptr_len_ptr) =
+ rowreq_ctx->data.etherStatsDataSource_len *
+ sizeof(rowreq_ctx->data.etherStatsDataSource[0]);
+ memcpy((*etherStatsDataSource_val_ptr_ptr),
+ rowreq_ctx->data.etherStatsDataSource,
+ rowreq_ctx->data.etherStatsDataSource_len *
+ sizeof(rowreq_ctx->data.etherStatsDataSource[0]));
+
+ return MFD_SUCCESS;
+} /* etherStatsDataSource_get */
+
+/*---------------------------------------------------------------------
+ * RMON-MIB::etherStatsEntry.etherStatsDropEvents
+ * etherStatsDropEvents is subid 3 of etherStatsEntry.
+ * Its status is Current, and its access level is ReadOnly.
+ * OID: .1.3.6.1.2.1.16.1.1.1.3
+ * Description:
+The total number of events in which packets
+ were dropped by the probe due to lack of resources.
+ Note that this number is not necessarily the number of
+ packets dropped; it is just the number of times this
+ condition has been detected.
+ *
+ * Attributes:
+ * accessible 1 isscalar 0 enums 0 hasdefval 0
+ * readable 1 iscolumn 1 ranges 0 hashint 0
+ * settable 0
+ *
+ *
+ * Its syntax is COUNTER (based on perltype COUNTER)
+ * The net-snmp type is ASN_COUNTER. The C type decl is u_long (u_long)
+ */
+/**
+ * Extract the current value of the etherStatsDropEvents data.
+ *
+ * Set a value using the data context for the row.
+ *
+ * @param rowreq_ctx
+ * Pointer to the row request context.
+ * @param etherStatsDropEvents_val_ptr
+ * Pointer to storage for a u_long variable
+ *
+ * @retval MFD_SUCCESS : success
+ * @retval MFD_SKIP : skip this node (no value for now)
+ * @retval MFD_ERROR : Any other error
+ */
+int
+etherStatsDropEvents_get(etherStatsTable_rowreq_ctx * rowreq_ctx,
+ u_long * etherStatsDropEvents_val_ptr)
+{
+ /** we should have a non-NULL pointer */
+ netsnmp_assert(NULL != etherStatsDropEvents_val_ptr);
+
+
+ DEBUGMSGTL(("verbose:etherStatsTable:etherStatsDropEvents_get",
+ "called\n"));
+
+ netsnmp_assert(NULL != rowreq_ctx);
+
+ /*
+ * TODO:231:o: |-> Extract the current value of the etherStatsDropEvents data.
+ * copy (* etherStatsDropEvents_val_ptr ) from rowreq_ctx->data
+ */
+ (*etherStatsDropEvents_val_ptr) =
+ rowreq_ctx->data.etherStatsDropEvents;
+
+ return MFD_SUCCESS;
+} /* etherStatsDropEvents_get */
+
+/*---------------------------------------------------------------------
+ * RMON-MIB::etherStatsEntry.etherStatsOctets
+ * etherStatsOctets is subid 4 of etherStatsEntry.
+ * Its status is Current, and its access level is ReadOnly.
+ * OID: .1.3.6.1.2.1.16.1.1.1.4
+ * Description:
+The total number of octets of data (including
+ those in bad packets) received on the
+ network (excluding framing bits but including
+ FCS octets).
+
+ This object can be used as a reasonable estimate of
+ 10-Megabit ethernet utilization. If greater precision is
+ desired, the etherStatsPkts and etherStatsOctets objects
+ should be sampled before and after a common interval. The
+ differences in the sampled values are Pkts and Octets,
+ respectively, and the number of seconds in the interval is
+ Interval. These values are used to calculate the Utilization
+ as follows:
+
+ Pkts * (9.6 + 6.4) + (Octets * .8)
+ Utilization = -------------------------------------
+ Interval * 10,000
+
+ The result of this equation is the value Utilization which
+ is the percent utilization of the ethernet segment on a
+ scale of 0 to 100 percent.
+ *
+ * Attributes:
+ * accessible 1 isscalar 0 enums 0 hasdefval 0
+ * readable 1 iscolumn 1 ranges 0 hashint 0
+ * settable 0
+ *
+ *
+ * Its syntax is COUNTER (based on perltype COUNTER)
+ * The net-snmp type is ASN_COUNTER. The C type decl is u_long (u_long)
+ */
+/**
+ * Extract the current value of the etherStatsOctets data.
+ *
+ * Set a value using the data context for the row.
+ *
+ * @param rowreq_ctx
+ * Pointer to the row request context.
+ * @param etherStatsOctets_val_ptr
+ * Pointer to storage for a u_long variable
+ *
+ * @retval MFD_SUCCESS : success
+ * @retval MFD_SKIP : skip this node (no value for now)
+ * @retval MFD_ERROR : Any other error
+ */
+int
+etherStatsOctets_get(etherStatsTable_rowreq_ctx * rowreq_ctx,
+ u_long * etherStatsOctets_val_ptr)
+{
+ /** we should have a non-NULL pointer */
+ netsnmp_assert(NULL != etherStatsOctets_val_ptr);
+
+
+ DEBUGMSGTL(("verbose:etherStatsTable:etherStatsOctets_get",
+ "called\n"));
+
+ netsnmp_assert(NULL != rowreq_ctx);
+
+ /*
+ * TODO:231:o: |-> Extract the current value of the etherStatsOctets data.
+ * copy (* etherStatsOctets_val_ptr ) from rowreq_ctx->data
+ */
+ (*etherStatsOctets_val_ptr) = rowreq_ctx->data.etherStatsOctets;
+
+ return MFD_SUCCESS;
+} /* etherStatsOctets_get */
+
+/*---------------------------------------------------------------------
+ * RMON-MIB::etherStatsEntry.etherStatsPkts
+ * etherStatsPkts is subid 5 of etherStatsEntry.
+ * Its status is Current, and its access level is ReadOnly.
+ * OID: .1.3.6.1.2.1.16.1.1.1.5
+ * Description:
+The total number of packets (including bad packets,
+ broadcast packets, and multicast packets) received.
+ *
+ * Attributes:
+ * accessible 1 isscalar 0 enums 0 hasdefval 0
+ * readable 1 iscolumn 1 ranges 0 hashint 0
+ * settable 0
+ *
+ *
+ * Its syntax is COUNTER (based on perltype COUNTER)
+ * The net-snmp type is ASN_COUNTER. The C type decl is u_long (u_long)
+ */
+/**
+ * Extract the current value of the etherStatsPkts data.
+ *
+ * Set a value using the data context for the row.
+ *
+ * @param rowreq_ctx
+ * Pointer to the row request context.
+ * @param etherStatsPkts_val_ptr
+ * Pointer to storage for a u_long variable
+ *
+ * @retval MFD_SUCCESS : success
+ * @retval MFD_SKIP : skip this node (no value for now)
+ * @retval MFD_ERROR : Any other error
+ */
+int
+etherStatsPkts_get(etherStatsTable_rowreq_ctx * rowreq_ctx,
+ u_long * etherStatsPkts_val_ptr)
+{
+ /** we should have a non-NULL pointer */
+ netsnmp_assert(NULL != etherStatsPkts_val_ptr);
+
+
+ DEBUGMSGTL(("verbose:etherStatsTable:etherStatsPkts_get", "called\n"));
+
+ netsnmp_assert(NULL != rowreq_ctx);
+
+ /*
+ * TODO:231:o: |-> Extract the current value of the etherStatsPkts data.
+ * copy (* etherStatsPkts_val_ptr ) from rowreq_ctx->data
+ */
+ (*etherStatsPkts_val_ptr) = rowreq_ctx->data.etherStatsPkts;
+
+ return MFD_SUCCESS;
+} /* etherStatsPkts_get */
+
+/*---------------------------------------------------------------------
+ * RMON-MIB::etherStatsEntry.etherStatsBroadcastPkts
+ * etherStatsBroadcastPkts is subid 6 of etherStatsEntry.
+ * Its status is Current, and its access level is ReadOnly.
+ * OID: .1.3.6.1.2.1.16.1.1.1.6
+ * Description:
+The total number of good packets received that were
+ directed to the broadcast address. Note that this
+ does not include multicast packets.
+ *
+ * Attributes:
+ * accessible 1 isscalar 0 enums 0 hasdefval 0
+ * readable 1 iscolumn 1 ranges 0 hashint 0
+ * settable 0
+ *
+ *
+ * Its syntax is COUNTER (based on perltype COUNTER)
+ * The net-snmp type is ASN_COUNTER. The C type decl is u_long (u_long)
+ */
+/**
+ * Extract the current value of the etherStatsBroadcastPkts data.
+ *
+ * Set a value using the data context for the row.
+ *
+ * @param rowreq_ctx
+ * Pointer to the row request context.
+ * @param etherStatsBroadcastPkts_val_ptr
+ * Pointer to storage for a u_long variable
+ *
+ * @retval MFD_SUCCESS : success
+ * @retval MFD_SKIP : skip this node (no value for now)
+ * @retval MFD_ERROR : Any other error
+ */
+int
+etherStatsBroadcastPkts_get(etherStatsTable_rowreq_ctx * rowreq_ctx,
+ u_long * etherStatsBroadcastPkts_val_ptr)
+{
+ /** we should have a non-NULL pointer */
+ netsnmp_assert(NULL != etherStatsBroadcastPkts_val_ptr);
+
+
+ DEBUGMSGTL(("verbose:etherStatsTable:etherStatsBroadcastPkts_get",
+ "called\n"));
+
+ netsnmp_assert(NULL != rowreq_ctx);
+
+ /*
+ * TODO:231:o: |-> Extract the current value of the etherStatsBroadcastPkts data.
+ * copy (* etherStatsBroadcastPkts_val_ptr ) from rowreq_ctx->data
+ */
+ (*etherStatsBroadcastPkts_val_ptr) =
+ rowreq_ctx->data.etherStatsBroadcastPkts;
+
+ return MFD_SUCCESS;
+} /* etherStatsBroadcastPkts_get */
+
+/*---------------------------------------------------------------------
+ * RMON-MIB::etherStatsEntry.etherStatsMulticastPkts
+ * etherStatsMulticastPkts is subid 7 of etherStatsEntry.
+ * Its status is Current, and its access level is ReadOnly.
+ * OID: .1.3.6.1.2.1.16.1.1.1.7
+ * Description:
+The total number of good packets received that were
+ directed to a multicast address. Note that this number
+ does not include packets directed to the broadcast
+
+ address.
+ *
+ * Attributes:
+ * accessible 1 isscalar 0 enums 0 hasdefval 0
+ * readable 1 iscolumn 1 ranges 0 hashint 0
+ * settable 0
+ *
+ *
+ * Its syntax is COUNTER (based on perltype COUNTER)
+ * The net-snmp type is ASN_COUNTER. The C type decl is u_long (u_long)
+ */
+/**
+ * Extract the current value of the etherStatsMulticastPkts data.
+ *
+ * Set a value using the data context for the row.
+ *
+ * @param rowreq_ctx
+ * Pointer to the row request context.
+ * @param etherStatsMulticastPkts_val_ptr
+ * Pointer to storage for a u_long variable
+ *
+ * @retval MFD_SUCCESS : success
+ * @retval MFD_SKIP : skip this node (no value for now)
+ * @retval MFD_ERROR : Any other error
+ */
+int
+etherStatsMulticastPkts_get(etherStatsTable_rowreq_ctx * rowreq_ctx,
+ u_long * etherStatsMulticastPkts_val_ptr)
+{
+ /** we should have a non-NULL pointer */
+ netsnmp_assert(NULL != etherStatsMulticastPkts_val_ptr);
+
+
+ DEBUGMSGTL(("verbose:etherStatsTable:etherStatsMulticastPkts_get",
+ "called\n"));
+
+ netsnmp_assert(NULL != rowreq_ctx);
+
+ /*
+ * TODO:231:o: |-> Extract the current value of the etherStatsMulticastPkts data.
+ * copy (* etherStatsMulticastPkts_val_ptr ) from rowreq_ctx->data
+ */
+ (*etherStatsMulticastPkts_val_ptr) =
+ rowreq_ctx->data.etherStatsMulticastPkts;
+
+ return MFD_SUCCESS;
+} /* etherStatsMulticastPkts_get */
+
+/*---------------------------------------------------------------------
+ * RMON-MIB::etherStatsEntry.etherStatsCRCAlignErrors
+ * etherStatsCRCAlignErrors is subid 8 of etherStatsEntry.
+ * Its status is Current, and its access level is ReadOnly.
+ * OID: .1.3.6.1.2.1.16.1.1.1.8
+ * Description:
+The total number of packets received that
+ had a length (excluding framing bits, but
+ including FCS octets) of between 64 and 1518
+ octets, inclusive, but had either a bad
+ Frame Check Sequence (FCS) with an integral
+ number of octets (FCS Error) or a bad FCS with
+ a non-integral number of octets (Alignment Error).
+ *
+ * Attributes:
+ * accessible 1 isscalar 0 enums 0 hasdefval 0
+ * readable 1 iscolumn 1 ranges 0 hashint 0
+ * settable 0
+ *
+ *
+ * Its syntax is COUNTER (based on perltype COUNTER)
+ * The net-snmp type is ASN_COUNTER. The C type decl is u_long (u_long)
+ */
+/**
+ * Extract the current value of the etherStatsCRCAlignErrors data.
+ *
+ * Set a value using the data context for the row.
+ *
+ * @param rowreq_ctx
+ * Pointer to the row request context.
+ * @param etherStatsCRCAlignErrors_val_ptr
+ * Pointer to storage for a u_long variable
+ *
+ * @retval MFD_SUCCESS : success
+ * @retval MFD_SKIP : skip this node (no value for now)
+ * @retval MFD_ERROR : Any other error
+ */
+int
+etherStatsCRCAlignErrors_get(etherStatsTable_rowreq_ctx * rowreq_ctx,
+ u_long * etherStatsCRCAlignErrors_val_ptr)
+{
+ /** we should have a non-NULL pointer */
+ netsnmp_assert(NULL != etherStatsCRCAlignErrors_val_ptr);
+
+
+ DEBUGMSGTL(("verbose:etherStatsTable:etherStatsCRCAlignErrors_get",
+ "called\n"));
+
+ netsnmp_assert(NULL != rowreq_ctx);
+
+ /*
+ * TODO:231:o: |-> Extract the current value of the etherStatsCRCAlignErrors data.
+ * copy (* etherStatsCRCAlignErrors_val_ptr ) from rowreq_ctx->data
+ */
+ (*etherStatsCRCAlignErrors_val_ptr) =
+ rowreq_ctx->data.etherStatsCRCAlignErrors;
+
+ return MFD_SUCCESS;
+} /* etherStatsCRCAlignErrors_get */
+
+/*---------------------------------------------------------------------
+ * RMON-MIB::etherStatsEntry.etherStatsUndersizePkts
+ * etherStatsUndersizePkts is subid 9 of etherStatsEntry.
+ * Its status is Current, and its access level is ReadOnly.
+ * OID: .1.3.6.1.2.1.16.1.1.1.9
+ * Description:
+The total number of packets received that were
+ less than 64 octets long (excluding framing bits,
+ but including FCS octets) and were otherwise well
+ formed.
+ *
+ * Attributes:
+ * accessible 1 isscalar 0 enums 0 hasdefval 0
+ * readable 1 iscolumn 1 ranges 0 hashint 0
+ * settable 0
+ *
+ *
+ * Its syntax is COUNTER (based on perltype COUNTER)
+ * The net-snmp type is ASN_COUNTER. The C type decl is u_long (u_long)
+ */
+/**
+ * Extract the current value of the etherStatsUndersizePkts data.
+ *
+ * Set a value using the data context for the row.
+ *
+ * @param rowreq_ctx
+ * Pointer to the row request context.
+ * @param etherStatsUndersizePkts_val_ptr
+ * Pointer to storage for a u_long variable
+ *
+ * @retval MFD_SUCCESS : success
+ * @retval MFD_SKIP : skip this node (no value for now)
+ * @retval MFD_ERROR : Any other error
+ */
+int
+etherStatsUndersizePkts_get(etherStatsTable_rowreq_ctx * rowreq_ctx,
+ u_long * etherStatsUndersizePkts_val_ptr)
+{
+ /** we should have a non-NULL pointer */
+ netsnmp_assert(NULL != etherStatsUndersizePkts_val_ptr);
+
+
+ DEBUGMSGTL(("verbose:etherStatsTable:etherStatsUndersizePkts_get",
+ "called\n"));
+
+ netsnmp_assert(NULL != rowreq_ctx);
+
+ /*
+ * TODO:231:o: |-> Extract the current value of the etherStatsUndersizePkts data.
+ * copy (* etherStatsUndersizePkts_val_ptr ) from rowreq_ctx->data
+ */
+ (*etherStatsUndersizePkts_val_ptr) =
+ rowreq_ctx->data.etherStatsUndersizePkts;
+
+ return MFD_SUCCESS;
+} /* etherStatsUndersizePkts_get */
+
+/*---------------------------------------------------------------------
+ * RMON-MIB::etherStatsEntry.etherStatsOversizePkts
+ * etherStatsOversizePkts is subid 10 of etherStatsEntry.
+ * Its status is Current, and its access level is ReadOnly.
+ * OID: .1.3.6.1.2.1.16.1.1.1.10
+ * Description:
+The total number of packets received that were
+ longer than 1518 octets (excluding framing bits,
+ but including FCS octets) and were otherwise
+ well formed.
+ *
+ * Attributes:
+ * accessible 1 isscalar 0 enums 0 hasdefval 0
+ * readable 1 iscolumn 1 ranges 0 hashint 0
+ * settable 0
+ *
+ *
+ * Its syntax is COUNTER (based on perltype COUNTER)
+ * The net-snmp type is ASN_COUNTER. The C type decl is u_long (u_long)
+ */
+/**
+ * Extract the current value of the etherStatsOversizePkts data.
+ *
+ * Set a value using the data context for the row.
+ *
+ * @param rowreq_ctx
+ * Pointer to the row request context.
+ * @param etherStatsOversizePkts_val_ptr
+ * Pointer to storage for a u_long variable
+ *
+ * @retval MFD_SUCCESS : success
+ * @retval MFD_SKIP : skip this node (no value for now)
+ * @retval MFD_ERROR : Any other error
+ */
+int
+etherStatsOversizePkts_get(etherStatsTable_rowreq_ctx * rowreq_ctx,
+ u_long * etherStatsOversizePkts_val_ptr)
+{
+ /** we should have a non-NULL pointer */
+ netsnmp_assert(NULL != etherStatsOversizePkts_val_ptr);
+
+
+ DEBUGMSGTL(("verbose:etherStatsTable:etherStatsOversizePkts_get",
+ "called\n"));
+
+ netsnmp_assert(NULL != rowreq_ctx);
+
+ /*
+ * TODO:231:o: |-> Extract the current value of the etherStatsOversizePkts data.
+ * copy (* etherStatsOversizePkts_val_ptr ) from rowreq_ctx->data
+ */
+ (*etherStatsOversizePkts_val_ptr) =
+ rowreq_ctx->data.etherStatsOversizePkts;
+
+ return MFD_SUCCESS;
+} /* etherStatsOversizePkts_get */
+
+/*---------------------------------------------------------------------
+ * RMON-MIB::etherStatsEntry.etherStatsFragments
+ * etherStatsFragments is subid 11 of etherStatsEntry.
+ * Its status is Current, and its access level is ReadOnly.
+ * OID: .1.3.6.1.2.1.16.1.1.1.11
+ * Description:
+The total number of packets received that were less than
+ 64 octets in length (excluding framing bits but including
+ FCS octets) and had either a bad Frame Check Sequence
+ (FCS) with an integral number of octets (FCS Error) or a
+ bad FCS with a non-integral number of octets (Alignment
+ Error).
+
+ Note that it is entirely normal for etherStatsFragments to
+ increment. This is because it counts both runts (which are
+ normal occurrences due to collisions) and noise hits.
+ *
+ * Attributes:
+ * accessible 1 isscalar 0 enums 0 hasdefval 0
+ * readable 1 iscolumn 1 ranges 0 hashint 0
+ * settable 0
+ *
+ *
+ * Its syntax is COUNTER (based on perltype COUNTER)
+ * The net-snmp type is ASN_COUNTER. The C type decl is u_long (u_long)
+ */
+/**
+ * Extract the current value of the etherStatsFragments data.
+ *
+ * Set a value using the data context for the row.
+ *
+ * @param rowreq_ctx
+ * Pointer to the row request context.
+ * @param etherStatsFragments_val_ptr
+ * Pointer to storage for a u_long variable
+ *
+ * @retval MFD_SUCCESS : success
+ * @retval MFD_SKIP : skip this node (no value for now)
+ * @retval MFD_ERROR : Any other error
+ */
+int
+etherStatsFragments_get(etherStatsTable_rowreq_ctx * rowreq_ctx,
+ u_long * etherStatsFragments_val_ptr)
+{
+ /** we should have a non-NULL pointer */
+ netsnmp_assert(NULL != etherStatsFragments_val_ptr);
+
+
+ DEBUGMSGTL(("verbose:etherStatsTable:etherStatsFragments_get",
+ "called\n"));
+
+ netsnmp_assert(NULL != rowreq_ctx);
+
+ /*
+ * TODO:231:o: |-> Extract the current value of the etherStatsFragments data.
+ * copy (* etherStatsFragments_val_ptr ) from rowreq_ctx->data
+ */
+ (*etherStatsFragments_val_ptr) = rowreq_ctx->data.etherStatsFragments;
+
+ return MFD_SUCCESS;
+} /* etherStatsFragments_get */
+
+/*---------------------------------------------------------------------
+ * RMON-MIB::etherStatsEntry.etherStatsJabbers
+ * etherStatsJabbers is subid 12 of etherStatsEntry.
+ * Its status is Current, and its access level is ReadOnly.
+ * OID: .1.3.6.1.2.1.16.1.1.1.12
+ * Description:
+The total number of packets received that were
+ longer than 1518 octets (excluding framing bits,
+ but including FCS octets), and had either a bad
+ Frame Check Sequence (FCS) with an integral number
+ of octets (FCS Error) or a bad FCS with a non-integral
+ number of octets (Alignment Error).
+
+ Note that this definition of jabber is different
+ than the definition in IEEE-802.3 section 8.2.1.5
+ (10BASE5) and section 10.3.1.4 (10BASE2). These
+ documents define jabber as the condition where any
+ packet exceeds 20 ms. The allowed range to detect
+ jabber is between 20 ms and 150 ms.
+ *
+ * Attributes:
+ * accessible 1 isscalar 0 enums 0 hasdefval 0
+ * readable 1 iscolumn 1 ranges 0 hashint 0
+ * settable 0
+ *
+ *
+ * Its syntax is COUNTER (based on perltype COUNTER)
+ * The net-snmp type is ASN_COUNTER. The C type decl is u_long (u_long)
+ */
+/**
+ * Extract the current value of the etherStatsJabbers data.
+ *
+ * Set a value using the data context for the row.
+ *
+ * @param rowreq_ctx
+ * Pointer to the row request context.
+ * @param etherStatsJabbers_val_ptr
+ * Pointer to storage for a u_long variable
+ *
+ * @retval MFD_SUCCESS : success
+ * @retval MFD_SKIP : skip this node (no value for now)
+ * @retval MFD_ERROR : Any other error
+ */
+int
+etherStatsJabbers_get(etherStatsTable_rowreq_ctx * rowreq_ctx,
+ u_long * etherStatsJabbers_val_ptr)
+{
+ /** we should have a non-NULL pointer */
+ netsnmp_assert(NULL != etherStatsJabbers_val_ptr);
+
+
+ DEBUGMSGTL(("verbose:etherStatsTable:etherStatsJabbers_get",
+ "called\n"));
+
+ netsnmp_assert(NULL != rowreq_ctx);
+ /*
+ * TODO:231:o: |-> Extract the current value of the etherStatsJabbers data.
+ * copy (* etherStatsJabbers_val_ptr ) from rowreq_ctx->data
+ */
+ (*etherStatsJabbers_val_ptr) = rowreq_ctx->data.etherStatsJabbers;
+
+ return MFD_SUCCESS;
+} /* etherStatsJabbers_get */
+
+/*---------------------------------------------------------------------
+ * RMON-MIB::etherStatsEntry.etherStatsCollisions
+ * etherStatsCollisions is subid 13 of etherStatsEntry.
+ * Its status is Current, and its access level is ReadOnly.
+ * OID: .1.3.6.1.2.1.16.1.1.1.13
+ * Description:
+The best estimate of the total number of collisions
+ on this Ethernet segment.
+
+ The value returned will depend on the location of the
+ RMON probe. Section 8.2.1.3 (10BASE-5) and section
+ 10.3.1.3 (10BASE-2) of IEEE standard 802.3 states that a
+ station must detect a collision, in the receive mode, if
+ three or more stations are transmitting simultaneously. A
+ repeater port must detect a collision when two or more
+
+ stations are transmitting simultaneously. Thus a probe
+ placed on a repeater port could record more collisions
+ than a probe connected to a station on the same segment
+ would.
+
+ Probe location plays a much smaller role when considering
+ 10BASE-T. 14.2.1.4 (10BASE-T) of IEEE standard 802.3
+ defines a collision as the simultaneous presence of signals
+ on the DO and RD circuits (transmitting and receiving
+ at the same time). A 10BASE-T station can only detect
+ collisions when it is transmitting. Thus probes placed on
+ a station and a repeater, should report the same number of
+ collisions.
+
+ Note also that an RMON probe inside a repeater should
+ ideally report collisions between the repeater and one or
+ more other hosts (transmit collisions as defined by IEEE
+ 802.3k) plus receiver collisions observed on any coax
+ segments to which the repeater is connected.
+ *
+ * Attributes:
+ * accessible 1 isscalar 0 enums 0 hasdefval 0
+ * readable 1 iscolumn 1 ranges 0 hashint 0
+ * settable 0
+ *
+ *
+ * Its syntax is COUNTER (based on perltype COUNTER)
+ * The net-snmp type is ASN_COUNTER. The C type decl is u_long (u_long)
+ */
+/**
+ * Extract the current value of the etherStatsCollisions data.
+ *
+ * Set a value using the data context for the row.
+ *
+ * @param rowreq_ctx
+ * Pointer to the row request context.
+ * @param etherStatsCollisions_val_ptr
+ * Pointer to storage for a u_long variable
+ *
+ * @retval MFD_SUCCESS : success
+ * @retval MFD_SKIP : skip this node (no value for now)
+ * @retval MFD_ERROR : Any other error
+ */
+int
+etherStatsCollisions_get(etherStatsTable_rowreq_ctx * rowreq_ctx,
+ u_long * etherStatsCollisions_val_ptr)
+{
+ /** we should have a non-NULL pointer */
+ netsnmp_assert(NULL != etherStatsCollisions_val_ptr);
+
+
+ DEBUGMSGTL(("verbose:etherStatsTable:etherStatsCollisions_get",
+ "called\n"));
+
+ netsnmp_assert(NULL != rowreq_ctx);
+
+ /*
+ * TODO:231:o: |-> Extract the current value of the etherStatsCollisions data.
+ * copy (* etherStatsCollisions_val_ptr ) from rowreq_ctx->data
+ */
+ (*etherStatsCollisions_val_ptr) =
+ rowreq_ctx->data.etherStatsCollisions;
+
+ return MFD_SUCCESS;
+} /* etherStatsCollisions_get */
+
+/*---------------------------------------------------------------------
+ * RMON-MIB::etherStatsEntry.etherStatsPkts64Octets
+ * etherStatsPkts64Octets is subid 14 of etherStatsEntry.
+ * Its status is Current, and its access level is ReadOnly.
+ * OID: .1.3.6.1.2.1.16.1.1.1.14
+ * Description:
+The total number of packets (including bad
+ packets) received that were 64 octets in length
+ (excluding framing bits but including FCS octets).
+ *
+ * Attributes:
+ * accessible 1 isscalar 0 enums 0 hasdefval 0
+ * readable 1 iscolumn 1 ranges 0 hashint 0
+ * settable 0
+ *
+ *
+ * Its syntax is COUNTER (based on perltype COUNTER)
+ * The net-snmp type is ASN_COUNTER. The C type decl is u_long (u_long)
+ */
+/**
+ * Extract the current value of the etherStatsPkts64Octets data.
+ *
+ * Set a value using the data context for the row.
+ *
+ * @param rowreq_ctx
+ * Pointer to the row request context.
+ * @param etherStatsPkts64Octets_val_ptr
+ * Pointer to storage for a u_long variable
+ *
+ * @retval MFD_SUCCESS : success
+ * @retval MFD_SKIP : skip this node (no value for now)
+ * @retval MFD_ERROR : Any other error
+ */
+int
+etherStatsPkts64Octets_get(etherStatsTable_rowreq_ctx * rowreq_ctx,
+ u_long * etherStatsPkts64Octets_val_ptr)
+{
+ /** we should have a non-NULL pointer */
+ netsnmp_assert(NULL != etherStatsPkts64Octets_val_ptr);
+
+
+ DEBUGMSGTL(("verbose:etherStatsTable:etherStatsPkts64Octets_get",
+ "called\n"));
+
+ netsnmp_assert(NULL != rowreq_ctx);
+
+ /*
+ * TODO:231:o: |-> Extract the current value of the etherStatsPkts64Octets data.
+ * copy (* etherStatsPkts64Octets_val_ptr ) from rowreq_ctx->data
+ */
+ (*etherStatsPkts64Octets_val_ptr) =
+ rowreq_ctx->data.etherStatsPkts64Octets;
+
+ return MFD_SUCCESS;
+} /* etherStatsPkts64Octets_get */
+
+/*---------------------------------------------------------------------
+ * RMON-MIB::etherStatsEntry.etherStatsPkts65to127Octets
+ * etherStatsPkts65to127Octets is subid 15 of etherStatsEntry.
+ * Its status is Current, and its access level is ReadOnly.
+ * OID: .1.3.6.1.2.1.16.1.1.1.15
+ * Description:
+The total number of packets (including bad
+ packets) received that were between
+ 65 and 127 octets in length inclusive
+ (excluding framing bits but including FCS octets).
+ *
+ * Attributes:
+ * accessible 1 isscalar 0 enums 0 hasdefval 0
+ * readable 1 iscolumn 1 ranges 0 hashint 0
+ * settable 0
+ *
+ *
+ * Its syntax is COUNTER (based on perltype COUNTER)
+ * The net-snmp type is ASN_COUNTER. The C type decl is u_long (u_long)
+ */
+/**
+ * Extract the current value of the etherStatsPkts65to127Octets data.
+ *
+ * Set a value using the data context for the row.
+ *
+ * @param rowreq_ctx
+ * Pointer to the row request context.
+ * @param etherStatsPkts65to127Octets_val_ptr
+ * Pointer to storage for a u_long variable
+ *
+ * @retval MFD_SUCCESS : success
+ * @retval MFD_SKIP : skip this node (no value for now)
+ * @retval MFD_ERROR : Any other error
+ */
+int
+etherStatsPkts65to127Octets_get(etherStatsTable_rowreq_ctx * rowreq_ctx,
+ u_long *
+ etherStatsPkts65to127Octets_val_ptr)
+{
+ /** we should have a non-NULL pointer */
+ netsnmp_assert(NULL != etherStatsPkts65to127Octets_val_ptr);
+
+
+ DEBUGMSGTL(("verbose:etherStatsTable:etherStatsPkts65to127Octets_get",
+ "called\n"));
+
+ netsnmp_assert(NULL != rowreq_ctx);
+
+ /*
+ * TODO:231:o: |-> Extract the current value of the etherStatsPkts65to127Octets data.
+ * copy (* etherStatsPkts65to127Octets_val_ptr ) from rowreq_ctx->data
+ */
+ (*etherStatsPkts65to127Octets_val_ptr) =
+ rowreq_ctx->data.etherStatsPkts65to127Octets;
+
+ return MFD_SUCCESS;
+} /* etherStatsPkts65to127Octets_get */
+
+/*---------------------------------------------------------------------
+ * RMON-MIB::etherStatsEntry.etherStatsPkts128to255Octets
+ * etherStatsPkts128to255Octets is subid 16 of etherStatsEntry.
+ * Its status is Current, and its access level is ReadOnly.
+ * OID: .1.3.6.1.2.1.16.1.1.1.16
+ * Description:
+The total number of packets (including bad
+ packets) received that were between
+ 128 and 255 octets in length inclusive
+ (excluding framing bits but including FCS octets).
+ *
+ * Attributes:
+ * accessible 1 isscalar 0 enums 0 hasdefval 0
+ * readable 1 iscolumn 1 ranges 0 hashint 0
+ * settable 0
+ *
+ *
+ * Its syntax is COUNTER (based on perltype COUNTER)
+ * The net-snmp type is ASN_COUNTER. The C type decl is u_long (u_long)
+ */
+/**
+ * Extract the current value of the etherStatsPkts128to255Octets data.
+ *
+ * Set a value using the data context for the row.
+ *
+ * @param rowreq_ctx
+ * Pointer to the row request context.
+ * @param etherStatsPkts128to255Octets_val_ptr
+ * Pointer to storage for a u_long variable
+ *
+ * @retval MFD_SUCCESS : success
+ * @retval MFD_SKIP : skip this node (no value for now)
+ * @retval MFD_ERROR : Any other error
+ */
+int
+etherStatsPkts128to255Octets_get(etherStatsTable_rowreq_ctx * rowreq_ctx,
+ u_long *
+ etherStatsPkts128to255Octets_val_ptr)
+{
+ /** we should have a non-NULL pointer */
+ netsnmp_assert(NULL != etherStatsPkts128to255Octets_val_ptr);
+
+
+ DEBUGMSGTL(("verbose:etherStatsTable:etherStatsPkts128to255Octets_get",
+ "called\n"));
+
+ netsnmp_assert(NULL != rowreq_ctx);
+
+ /*
+ * TODO:231:o: |-> Extract the current value of the etherStatsPkts128to255Octets data.
+ * copy (* etherStatsPkts128to255Octets_val_ptr ) from rowreq_ctx->data
+ */
+ (*etherStatsPkts128to255Octets_val_ptr) =
+ rowreq_ctx->data.etherStatsPkts128to255Octets;
+
+ return MFD_SUCCESS;
+} /* etherStatsPkts128to255Octets_get */
+
+/*---------------------------------------------------------------------
+ * RMON-MIB::etherStatsEntry.etherStatsPkts256to511Octets
+ * etherStatsPkts256to511Octets is subid 17 of etherStatsEntry.
+ * Its status is Current, and its access level is ReadOnly.
+ * OID: .1.3.6.1.2.1.16.1.1.1.17
+ * Description:
+The total number of packets (including bad
+ packets) received that were between
+ 256 and 511 octets in length inclusive
+ (excluding framing bits but including FCS octets).
+ *
+ * Attributes:
+ * accessible 1 isscalar 0 enums 0 hasdefval 0
+ * readable 1 iscolumn 1 ranges 0 hashint 0
+ * settable 0
+ *
+ *
+ * Its syntax is COUNTER (based on perltype COUNTER)
+ * The net-snmp type is ASN_COUNTER. The C type decl is u_long (u_long)
+ */
+/**
+ * Extract the current value of the etherStatsPkts256to511Octets data.
+ *
+ * Set a value using the data context for the row.
+ *
+ * @param rowreq_ctx
+ * Pointer to the row request context.
+ * @param etherStatsPkts256to511Octets_val_ptr
+ * Pointer to storage for a u_long variable
+ *
+ * @retval MFD_SUCCESS : success
+ * @retval MFD_SKIP : skip this node (no value for now)
+ * @retval MFD_ERROR : Any other error
+ */
+int
+etherStatsPkts256to511Octets_get(etherStatsTable_rowreq_ctx * rowreq_ctx,
+ u_long *
+ etherStatsPkts256to511Octets_val_ptr)
+{
+ /** we should have a non-NULL pointer */
+ netsnmp_assert(NULL != etherStatsPkts256to511Octets_val_ptr);
+
+
+ DEBUGMSGTL(("verbose:etherStatsTable:etherStatsPkts256to511Octets_get",
+ "called\n"));
+
+ netsnmp_assert(NULL != rowreq_ctx);
+
+ /*
+ * TODO:231:o: |-> Extract the current value of the etherStatsPkts256to511Octets data.
+ * copy (* etherStatsPkts256to511Octets_val_ptr ) from rowreq_ctx->data
+ */
+ (*etherStatsPkts256to511Octets_val_ptr) =
+ rowreq_ctx->data.etherStatsPkts256to511Octets;
+
+ return MFD_SUCCESS;
+} /* etherStatsPkts256to511Octets_get */
+
+/*---------------------------------------------------------------------
+ * RMON-MIB::etherStatsEntry.etherStatsPkts512to1023Octets
+ * etherStatsPkts512to1023Octets is subid 18 of etherStatsEntry.
+ * Its status is Current, and its access level is ReadOnly.
+ * OID: .1.3.6.1.2.1.16.1.1.1.18
+ * Description:
+The total number of packets (including bad
+ packets) received that were between
+ 512 and 1023 octets in length inclusive
+ (excluding framing bits but including FCS octets).
+ *
+ * Attributes:
+ * accessible 1 isscalar 0 enums 0 hasdefval 0
+ * readable 1 iscolumn 1 ranges 0 hashint 0
+ * settable 0
+ *
+ *
+ * Its syntax is COUNTER (based on perltype COUNTER)
+ * The net-snmp type is ASN_COUNTER. The C type decl is u_long (u_long)
+ */
+/**
+ * Extract the current value of the etherStatsPkts512to1023Octets data.
+ *
+ * Set a value using the data context for the row.
+ *
+ * @param rowreq_ctx
+ * Pointer to the row request context.
+ * @param etherStatsPkts512to1023Octets_val_ptr
+ * Pointer to storage for a u_long variable
+ *
+ * @retval MFD_SUCCESS : success
+ * @retval MFD_SKIP : skip this node (no value for now)
+ * @retval MFD_ERROR : Any other error
+ */
+int
+etherStatsPkts512to1023Octets_get(etherStatsTable_rowreq_ctx * rowreq_ctx,
+ u_long *
+ etherStatsPkts512to1023Octets_val_ptr)
+{
+ /** we should have a non-NULL pointer */
+ netsnmp_assert(NULL != etherStatsPkts512to1023Octets_val_ptr);
+
+
+ DEBUGMSGTL(("verbose:etherStatsTable:etherStatsPkts512to1023Octets_get", "called\n"));
+
+ netsnmp_assert(NULL != rowreq_ctx);
+
+ /*
+ * TODO:231:o: |-> Extract the current value of the etherStatsPkts512to1023Octets data.
+ * copy (* etherStatsPkts512to1023Octets_val_ptr ) from rowreq_ctx->data
+ */
+ (*etherStatsPkts512to1023Octets_val_ptr) =
+ rowreq_ctx->data.etherStatsPkts512to1023Octets;
+
+ return MFD_SUCCESS;
+} /* etherStatsPkts512to1023Octets_get */
+
+/*---------------------------------------------------------------------
+ * RMON-MIB::etherStatsEntry.etherStatsPkts1024to1518Octets
+ * etherStatsPkts1024to1518Octets is subid 19 of etherStatsEntry.
+ * Its status is Current, and its access level is ReadOnly.
+ * OID: .1.3.6.1.2.1.16.1.1.1.19
+ * Description:
+The total number of packets (including bad
+ packets) received that were between
+ 1024 and 1518 octets in length inclusive
+ (excluding framing bits but including FCS octets).
+ *
+ * Attributes:
+ * accessible 1 isscalar 0 enums 0 hasdefval 0
+ * readable 1 iscolumn 1 ranges 0 hashint 0
+ * settable 0
+ *
+ *
+ * Its syntax is COUNTER (based on perltype COUNTER)
+ * The net-snmp type is ASN_COUNTER. The C type decl is u_long (u_long)
+ */
+/**
+ * Extract the current value of the etherStatsPkts1024to1518Octets data.
+ *
+ * Set a value using the data context for the row.
+ *
+ * @param rowreq_ctx
+ * Pointer to the row request context.
+ * @param etherStatsPkts1024to1518Octets_val_ptr
+ * Pointer to storage for a u_long variable
+ *
+ * @retval MFD_SUCCESS : success
+ * @retval MFD_SKIP : skip this node (no value for now)
+ * @retval MFD_ERROR : Any other error
+ */
+int
+etherStatsPkts1024to1518Octets_get(etherStatsTable_rowreq_ctx * rowreq_ctx,
+ u_long *
+ etherStatsPkts1024to1518Octets_val_ptr)
+{
+ /** we should have a non-NULL pointer */
+ netsnmp_assert(NULL != etherStatsPkts1024to1518Octets_val_ptr);
+
+
+ DEBUGMSGTL(("verbose:etherStatsTable:etherStatsPkts1024to1518Octets_get", "called\n"));
+
+ netsnmp_assert(NULL != rowreq_ctx);
+
+ /*
+ * TODO:231:o: |-> Extract the current value of the etherStatsPkts1024to1518Octets data.
+ * copy (* etherStatsPkts1024to1518Octets_val_ptr ) from rowreq_ctx->data
+ */
+ (*etherStatsPkts1024to1518Octets_val_ptr) =
+ rowreq_ctx->data.etherStatsPkts1024to1518Octets;
+
+ return MFD_SUCCESS;
+} /* etherStatsPkts1024to1518Octets_get */
+
+/*---------------------------------------------------------------------
+ * RMON-MIB::etherStatsEntry.etherStatsOwner
+ * etherStatsOwner is subid 20 of etherStatsEntry.
+ * Its status is Current, and its access level is Create.
+ * OID: .1.3.6.1.2.1.16.1.1.1.20
+ * Description:
+The entity that configured this entry and is therefore
+ using the resources assigned to it.
+ *
+ * Attributes:
+ * accessible 1 isscalar 0 enums 0 hasdefval 0
+ * readable 1 iscolumn 1 ranges 1 hashint 0
+ * settable 1
+ *
+ * Ranges: 0 - 127;
+ *
+ * Its syntax is OwnerString (based on perltype OCTETSTR)
+ * The net-snmp type is ASN_OCTET_STR. The C type decl is char (char)
+ * This data type requires a length. (Max 127)
+ */
+/**
+ * Extract the current value of the etherStatsOwner data.
+ *
+ * Set a value using the data context for the row.
+ *
+ * @param rowreq_ctx
+ * Pointer to the row request context.
+ * @param etherStatsOwner_val_ptr_ptr
+ * Pointer to storage for a char variable
+ * @param etherStatsOwner_val_ptr_len_ptr
+ * Pointer to a size_t. On entry, it will contain the size (in bytes)
+ * pointed to by etherStatsOwner.
+ * On exit, this value should contain the data size (in bytes).
+ *
+ * @retval MFD_SUCCESS : success
+ * @retval MFD_SKIP : skip this node (no value for now)
+ * @retval MFD_ERROR : Any other error
+*
+ * @note If you need more than (*etherStatsOwner_val_ptr_len_ptr) bytes of memory,
+ * allocate it using malloc() and update etherStatsOwner_val_ptr_ptr.
+ * <b>DO NOT</b> free the previous pointer.
+ * The MFD helper will release the memory you allocate.
+ *
+ * @remark If you call this function yourself, you are responsible
+ * for checking if the pointer changed, and freeing any
+ * previously allocated memory. (Not necessary if you pass
+ * in a pointer to static memory, obviously.)
+ */
+int
+etherStatsOwner_get(etherStatsTable_rowreq_ctx * rowreq_ctx,
+ char **etherStatsOwner_val_ptr_ptr,
+ size_t *etherStatsOwner_val_ptr_len_ptr)
+{
+ /** we should have a non-NULL pointer and enough storage */
+ netsnmp_assert((NULL != etherStatsOwner_val_ptr_ptr)
+ && (NULL != *etherStatsOwner_val_ptr_ptr));
+ netsnmp_assert(NULL != etherStatsOwner_val_ptr_len_ptr);
+
+
+ DEBUGMSGTL(("verbose:etherStatsTable:etherStatsOwner_get",
+ "called\n"));
+
+ netsnmp_assert(NULL != rowreq_ctx);
+
+ /*
+ * TODO:231:o: |-> Extract the current value of the etherStatsOwner data.
+ * copy (* etherStatsOwner_val_ptr_ptr ) data and (* etherStatsOwner_val_ptr_len_ptr ) from rowreq_ctx->data
+ */
+ /*
+ * make sure there is enough space for etherStatsOwner data
+ */
+ if ((NULL == (*etherStatsOwner_val_ptr_ptr)) ||
+ ((*etherStatsOwner_val_ptr_len_ptr) <
+ (rowreq_ctx->data.etherStatsOwner_len *
+ sizeof(rowreq_ctx->data.etherStatsOwner[0])))) {
+ /*
+ * allocate space for etherStatsOwner data
+ */
+ (*etherStatsOwner_val_ptr_ptr) =
+ malloc(rowreq_ctx->data.etherStatsOwner_len *
+ sizeof(rowreq_ctx->data.etherStatsOwner[0]));
+ if (NULL == (*etherStatsOwner_val_ptr_ptr)) {
+ snmp_log(LOG_ERR, "could not allocate memory\n");
+ return MFD_ERROR;
+ }
+ }
+ (*etherStatsOwner_val_ptr_len_ptr) =
+ rowreq_ctx->data.etherStatsOwner_len *
+ sizeof(rowreq_ctx->data.etherStatsOwner[0]);
+ memcpy((*etherStatsOwner_val_ptr_ptr),
+ rowreq_ctx->data.etherStatsOwner,
+ rowreq_ctx->data.etherStatsOwner_len *
+ sizeof(rowreq_ctx->data.etherStatsOwner[0]));
+
+ return MFD_SUCCESS;
+} /* etherStatsOwner_get */
+
+/*---------------------------------------------------------------------
+ * RMON-MIB::etherStatsEntry.etherStatsStatus
+ * etherStatsStatus is subid 21 of etherStatsEntry.
+ * Its status is Current, and its access level is Create.
+ * OID: .1.3.6.1.2.1.16.1.1.1.21
+ * Description:
+The status of this etherStats entry.
+ *
+ * Attributes:
+ * accessible 1 isscalar 0 enums 1 hasdefval 0
+ * readable 1 iscolumn 1 ranges 0 hashint 0
+ * settable 1
+ *
+ * Enum range: 2/8. Values: valid(1), createRequest(2), underCreation(3), invalid(4)
+ *
+ * Its syntax is EntryStatus (based on perltype INTEGER)
+ * The net-snmp type is ASN_INTEGER. The C type decl is long (u_long)
+ */
+/**
+ * Extract the current value of the etherStatsStatus data.
+ *
+ * Set a value using the data context for the row.
+ *
+ * @param rowreq_ctx
+ * Pointer to the row request context.
+ * @param etherStatsStatus_val_ptr
+ * Pointer to storage for a long variable
+ *
+ * @retval MFD_SUCCESS : success
+ * @retval MFD_SKIP : skip this node (no value for now)
+ * @retval MFD_ERROR : Any other error
+ */
+int
+etherStatsStatus_get(etherStatsTable_rowreq_ctx * rowreq_ctx,
+ u_long * etherStatsStatus_val_ptr)
+{
+ /** we should have a non-NULL pointer */
+ netsnmp_assert(NULL != etherStatsStatus_val_ptr);
+
+
+ DEBUGMSGTL(("verbose:etherStatsTable:etherStatsStatus_get",
+ "called\n"));
+
+ netsnmp_assert(NULL != rowreq_ctx);
+
+ /*
+ * TODO:231:o: |-> Extract the current value of the etherStatsStatus data.
+ * copy (* etherStatsStatus_val_ptr ) from rowreq_ctx->data
+ */
+ (*etherStatsStatus_val_ptr) = rowreq_ctx->data.etherStatsStatus;
+
+ return MFD_SUCCESS;
+} /* etherStatsStatus_get */
+
+
+
+/** @} */