summaryrefslogtreecommitdiff
path: root/cleopatre/application/spidnetsnmp/agent/mibgroup/sarft-eoc-mib/modEoCCLTMACGroup/modEoCOnlineCLTTable/modEoCOnlineCLTTable_data_get.c
diff options
context:
space:
mode:
Diffstat (limited to 'cleopatre/application/spidnetsnmp/agent/mibgroup/sarft-eoc-mib/modEoCCLTMACGroup/modEoCOnlineCLTTable/modEoCOnlineCLTTable_data_get.c')
-rw-r--r--cleopatre/application/spidnetsnmp/agent/mibgroup/sarft-eoc-mib/modEoCCLTMACGroup/modEoCOnlineCLTTable/modEoCOnlineCLTTable_data_get.c1005
1 files changed, 1005 insertions, 0 deletions
diff --git a/cleopatre/application/spidnetsnmp/agent/mibgroup/sarft-eoc-mib/modEoCCLTMACGroup/modEoCOnlineCLTTable/modEoCOnlineCLTTable_data_get.c b/cleopatre/application/spidnetsnmp/agent/mibgroup/sarft-eoc-mib/modEoCCLTMACGroup/modEoCOnlineCLTTable/modEoCOnlineCLTTable_data_get.c
new file mode 100644
index 0000000000..693b50c13e
--- /dev/null
+++ b/cleopatre/application/spidnetsnmp/agent/mibgroup/sarft-eoc-mib/modEoCCLTMACGroup/modEoCOnlineCLTTable/modEoCOnlineCLTTable_data_get.c
@@ -0,0 +1,1005 @@
+/*
+ * 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 "modEoCOnlineCLTTable.h"
+
+
+/** @defgroup data_get data_get: Routines to get data
+ *
+ * TODO:230:M: Implement modEoCOnlineCLTTable get routines.
+ * TODO:240:M: Implement modEoCOnlineCLTTable 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 modEoCOnlineCLTTable
+ ***
+ **********************************************************************
+ **********************************************************************/
+/*
+ * SPIDCOM-EOC-MIB::modEoCOnlineCLTTable is subid 4 of modEoCCLTMACGroup.
+ * Its status is Current.
+ * OID: .1.3.6.1.4.1.22764.3.1.3.4, length: 11
+ */
+
+/*
+ * ---------------------------------------------------------------------
+ * * TODO:200:r: Implement modEoCOnlineCLTTable data context functions.
+ */
+
+
+/**
+ * set mib index(es)
+ *
+ * @param tbl_idx mib index structure
+ * @param modEoCOnlineCLTIndex_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
+modEoCOnlineCLTTable_indexes_set_tbl_idx(modEoCOnlineCLTTable_mib_index *
+ tbl_idx,
+ long modEoCOnlineCLTIndex_val)
+{
+ DEBUGMSGTL(("verbose:modEoCOnlineCLTTable:modEoCOnlineCLTTable_indexes_set_tbl_idx", "called\n"));
+
+ /*
+ * modEoCOnlineCLTIndex(1)/INTEGER/ASN_INTEGER/long(long)//l/A/w/e/r/d/h
+ */
+ tbl_idx->modEoCOnlineCLTIndex = modEoCOnlineCLTIndex_val;
+
+
+ return MFD_SUCCESS;
+} /* modEoCOnlineCLTTable_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
+modEoCOnlineCLTTable_indexes_set(modEoCOnlineCLTTable_rowreq_ctx *
+ rowreq_ctx, long modEoCOnlineCLTIndex_val)
+{
+ DEBUGMSGTL(("verbose:modEoCOnlineCLTTable:modEoCOnlineCLTTable_indexes_set", "called\n"));
+
+ if (MFD_SUCCESS !=
+ modEoCOnlineCLTTable_indexes_set_tbl_idx(&rowreq_ctx->tbl_idx,
+ modEoCOnlineCLTIndex_val))
+ return MFD_ERROR;
+
+ /*
+ * convert mib index to oid index
+ */
+ rowreq_ctx->oid_idx.len = sizeof(rowreq_ctx->oid_tmp) / sizeof(oid);
+ if (0 != modEoCOnlineCLTTable_index_to_oid(&rowreq_ctx->oid_idx,
+ &rowreq_ctx->tbl_idx)) {
+ return MFD_ERROR;
+ }
+
+ return MFD_SUCCESS;
+} /* modEoCOnlineCLTTable_indexes_set */
+
+
+/*---------------------------------------------------------------------
+ * SPIDCOM-EOC-MIB::modEoCOnlineCLTEntry.modEoCOnlineCLTMACAddress
+ * modEoCOnlineCLTMACAddress is subid 2 of modEoCOnlineCLTEntry.
+ * Its status is Current, and its access level is ReadOnly.
+ * OID: .1.3.6.1.4.1.22764.3.1.3.4.1.2
+ * Description:
+
+ *
+ * Attributes:
+ * accessible 1 isscalar 0 enums 0 hasdefval 0
+ * readable 1 iscolumn 1 ranges 1 hashint 1
+ * settable 0
+ * hint: 1x:
+ *
+ * Ranges: 6;
+ *
+ * Its syntax is MacAddress (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 6)
+ */
+/**
+ * Extract the current value of the modEoCOnlineCLTMACAddress data.
+ *
+ * Set a value using the data context for the row.
+ *
+ * @param rowreq_ctx
+ * Pointer to the row request context.
+ * @param modEoCOnlineCLTMACAddress_val_ptr_ptr
+ * Pointer to storage for a char variable
+ * @param modEoCOnlineCLTMACAddress_val_ptr_len_ptr
+ * Pointer to a size_t. On entry, it will contain the size (in bytes)
+ * pointed to by modEoCOnlineCLTMACAddress.
+ * 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 (*modEoCOnlineCLTMACAddress_val_ptr_len_ptr) bytes of memory,
+ * allocate it using malloc() and update modEoCOnlineCLTMACAddress_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
+modEoCOnlineCLTMACAddress_get(modEoCOnlineCLTTable_rowreq_ctx * rowreq_ctx,
+ char **modEoCOnlineCLTMACAddress_val_ptr_ptr,
+ size_t
+ *modEoCOnlineCLTMACAddress_val_ptr_len_ptr)
+{
+ /** we should have a non-NULL pointer and enough storage */
+ netsnmp_assert((NULL != modEoCOnlineCLTMACAddress_val_ptr_ptr)
+ && (NULL != *modEoCOnlineCLTMACAddress_val_ptr_ptr));
+ netsnmp_assert(NULL != modEoCOnlineCLTMACAddress_val_ptr_len_ptr);
+
+
+ DEBUGMSGTL(("verbose:modEoCOnlineCLTTable:modEoCOnlineCLTMACAddress_get", "called\n"));
+
+ netsnmp_assert(NULL != rowreq_ctx);
+
+ /*
+ * TODO:231:o: |-> Extract the current value of the modEoCOnlineCLTMACAddress data.
+ * copy (* modEoCOnlineCLTMACAddress_val_ptr_ptr ) data and (* modEoCOnlineCLTMACAddress_val_ptr_len_ptr ) from rowreq_ctx->data
+ */
+ /*
+ * make sure there is enough space for modEoCOnlineCLTMACAddress data
+ */
+ if ((NULL == (*modEoCOnlineCLTMACAddress_val_ptr_ptr)) ||
+ ((*modEoCOnlineCLTMACAddress_val_ptr_len_ptr) <
+ (rowreq_ctx->data.modEoCOnlineCLTMACAddress_len *
+ sizeof(rowreq_ctx->data.modEoCOnlineCLTMACAddress[0])))) {
+ /*
+ * allocate space for modEoCOnlineCLTMACAddress data
+ */
+ (*modEoCOnlineCLTMACAddress_val_ptr_ptr) =
+ malloc(rowreq_ctx->data.modEoCOnlineCLTMACAddress_len *
+ sizeof(rowreq_ctx->data.modEoCOnlineCLTMACAddress[0]));
+ if (NULL == (*modEoCOnlineCLTMACAddress_val_ptr_ptr)) {
+ snmp_log(LOG_ERR, "could not allocate memory\n");
+ return MFD_ERROR;
+ }
+ }
+ (*modEoCOnlineCLTMACAddress_val_ptr_len_ptr) =
+ rowreq_ctx->data.modEoCOnlineCLTMACAddress_len *
+ sizeof(rowreq_ctx->data.modEoCOnlineCLTMACAddress[0]);
+ memcpy((*modEoCOnlineCLTMACAddress_val_ptr_ptr),
+ rowreq_ctx->data.modEoCOnlineCLTMACAddress,
+ rowreq_ctx->data.modEoCOnlineCLTMACAddress_len *
+ sizeof(rowreq_ctx->data.modEoCOnlineCLTMACAddress[0]));
+
+ return MFD_SUCCESS;
+} /* modEoCOnlineCLTMACAddress_get */
+
+/*---------------------------------------------------------------------
+ * SPIDCOM-EOC-MIB::modEoCOnlineCLTEntry.modEoCOnlineCLTModelNumber
+ * modEoCOnlineCLTModelNumber is subid 3 of modEoCOnlineCLTEntry.
+ * Its status is Current, and its access level is ReadOnly.
+ * OID: .1.3.6.1.4.1.22764.3.1.3.4.1.3
+ * Description:
+
+ *
+ * Attributes:
+ * accessible 1 isscalar 0 enums 0 hasdefval 0
+ * readable 1 iscolumn 1 ranges 0 hashint 0
+ * settable 0
+ *
+ *
+ * Its syntax is DisplayString (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.
+ */
+/**
+ * Extract the current value of the modEoCOnlineCLTModelNumber data.
+ *
+ * Set a value using the data context for the row.
+ *
+ * @param rowreq_ctx
+ * Pointer to the row request context.
+ * @param modEoCOnlineCLTModelNumber_val_ptr_ptr
+ * Pointer to storage for a char variable
+ * @param modEoCOnlineCLTModelNumber_val_ptr_len_ptr
+ * Pointer to a size_t. On entry, it will contain the size (in bytes)
+ * pointed to by modEoCOnlineCLTModelNumber.
+ * 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 (*modEoCOnlineCLTModelNumber_val_ptr_len_ptr) bytes of memory,
+ * allocate it using malloc() and update modEoCOnlineCLTModelNumber_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
+modEoCOnlineCLTModelNumber_get(modEoCOnlineCLTTable_rowreq_ctx *
+ rowreq_ctx,
+ char
+ **modEoCOnlineCLTModelNumber_val_ptr_ptr,
+ size_t
+ *modEoCOnlineCLTModelNumber_val_ptr_len_ptr)
+{
+ /** we should have a non-NULL pointer and enough storage */
+ netsnmp_assert((NULL != modEoCOnlineCLTModelNumber_val_ptr_ptr)
+ && (NULL != *modEoCOnlineCLTModelNumber_val_ptr_ptr));
+ netsnmp_assert(NULL != modEoCOnlineCLTModelNumber_val_ptr_len_ptr);
+
+
+ DEBUGMSGTL(("verbose:modEoCOnlineCLTTable:modEoCOnlineCLTModelNumber_get", "called\n"));
+
+ netsnmp_assert(NULL != rowreq_ctx);
+
+ /*
+ * TODO:231:o: |-> Extract the current value of the modEoCOnlineCLTModelNumber data.
+ * copy (* modEoCOnlineCLTModelNumber_val_ptr_ptr ) data and (* modEoCOnlineCLTModelNumber_val_ptr_len_ptr ) from rowreq_ctx->data
+ */
+ /*
+ * make sure there is enough space for modEoCOnlineCLTModelNumber data
+ */
+ if ((NULL == (*modEoCOnlineCLTModelNumber_val_ptr_ptr)) ||
+ ((*modEoCOnlineCLTModelNumber_val_ptr_len_ptr) <
+ (rowreq_ctx->data.modEoCOnlineCLTModelNumber_len *
+ sizeof(rowreq_ctx->data.modEoCOnlineCLTModelNumber[0])))) {
+ /*
+ * allocate space for modEoCOnlineCLTModelNumber data
+ */
+ (*modEoCOnlineCLTModelNumber_val_ptr_ptr) =
+ malloc(rowreq_ctx->data.modEoCOnlineCLTModelNumber_len *
+ sizeof(rowreq_ctx->data.modEoCOnlineCLTModelNumber[0]));
+ if (NULL == (*modEoCOnlineCLTModelNumber_val_ptr_ptr)) {
+ snmp_log(LOG_ERR, "could not allocate memory\n");
+ return MFD_ERROR;
+ }
+ }
+ (*modEoCOnlineCLTModelNumber_val_ptr_len_ptr) =
+ rowreq_ctx->data.modEoCOnlineCLTModelNumber_len *
+ sizeof(rowreq_ctx->data.modEoCOnlineCLTModelNumber[0]);
+ memcpy((*modEoCOnlineCLTModelNumber_val_ptr_ptr),
+ rowreq_ctx->data.modEoCOnlineCLTModelNumber,
+ rowreq_ctx->data.modEoCOnlineCLTModelNumber_len *
+ sizeof(rowreq_ctx->data.modEoCOnlineCLTModelNumber[0]));
+
+ return MFD_SUCCESS;
+} /* modEoCOnlineCLTModelNumber_get */
+
+/*---------------------------------------------------------------------
+ * SPIDCOM-EOC-MIB::modEoCOnlineCLTEntry.modEoCOnlineCLTSoftwareVersion
+ * modEoCOnlineCLTSoftwareVersion is subid 4 of modEoCOnlineCLTEntry.
+ * Its status is Current, and its access level is ReadOnly.
+ * OID: .1.3.6.1.4.1.22764.3.1.3.4.1.4
+ * Description:
+
+ *
+ * Attributes:
+ * accessible 1 isscalar 0 enums 0 hasdefval 0
+ * readable 1 iscolumn 1 ranges 0 hashint 0
+ * settable 0
+ *
+ *
+ * Its syntax is DisplayString (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.
+ */
+/**
+ * Extract the current value of the modEoCOnlineCLTSoftwareVersion data.
+ *
+ * Set a value using the data context for the row.
+ *
+ * @param rowreq_ctx
+ * Pointer to the row request context.
+ * @param modEoCOnlineCLTSoftwareVersion_val_ptr_ptr
+ * Pointer to storage for a char variable
+ * @param modEoCOnlineCLTSoftwareVersion_val_ptr_len_ptr
+ * Pointer to a size_t. On entry, it will contain the size (in bytes)
+ * pointed to by modEoCOnlineCLTSoftwareVersion.
+ * 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 (*modEoCOnlineCLTSoftwareVersion_val_ptr_len_ptr) bytes of memory,
+ * allocate it using malloc() and update modEoCOnlineCLTSoftwareVersion_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
+modEoCOnlineCLTSoftwareVersion_get(modEoCOnlineCLTTable_rowreq_ctx *
+ rowreq_ctx,
+ char
+ **modEoCOnlineCLTSoftwareVersion_val_ptr_ptr,
+ size_t
+ *modEoCOnlineCLTSoftwareVersion_val_ptr_len_ptr)
+{
+ /** we should have a non-NULL pointer and enough storage */
+ netsnmp_assert((NULL != modEoCOnlineCLTSoftwareVersion_val_ptr_ptr)
+ && (NULL !=
+ *modEoCOnlineCLTSoftwareVersion_val_ptr_ptr));
+ netsnmp_assert(NULL != modEoCOnlineCLTSoftwareVersion_val_ptr_len_ptr);
+
+
+ DEBUGMSGTL(("verbose:modEoCOnlineCLTTable:modEoCOnlineCLTSoftwareVersion_get", "called\n"));
+
+ netsnmp_assert(NULL != rowreq_ctx);
+
+ /*
+ * TODO:231:o: |-> Extract the current value of the modEoCOnlineCLTSoftwareVersion data.
+ * copy (* modEoCOnlineCLTSoftwareVersion_val_ptr_ptr ) data and (* modEoCOnlineCLTSoftwareVersion_val_ptr_len_ptr ) from rowreq_ctx->data
+ */
+ /*
+ * make sure there is enough space for modEoCOnlineCLTSoftwareVersion data
+ */
+ if ((NULL == (*modEoCOnlineCLTSoftwareVersion_val_ptr_ptr)) ||
+ ((*modEoCOnlineCLTSoftwareVersion_val_ptr_len_ptr) <
+ (rowreq_ctx->data.modEoCOnlineCLTSoftwareVersion_len *
+ sizeof(rowreq_ctx->data.modEoCOnlineCLTSoftwareVersion[0])))) {
+ /*
+ * allocate space for modEoCOnlineCLTSoftwareVersion data
+ */
+ (*modEoCOnlineCLTSoftwareVersion_val_ptr_ptr) =
+ malloc(rowreq_ctx->data.modEoCOnlineCLTSoftwareVersion_len *
+ sizeof(rowreq_ctx->data.
+ modEoCOnlineCLTSoftwareVersion[0]));
+ if (NULL == (*modEoCOnlineCLTSoftwareVersion_val_ptr_ptr)) {
+ snmp_log(LOG_ERR, "could not allocate memory\n");
+ return MFD_ERROR;
+ }
+ }
+ (*modEoCOnlineCLTSoftwareVersion_val_ptr_len_ptr) =
+ rowreq_ctx->data.modEoCOnlineCLTSoftwareVersion_len *
+ sizeof(rowreq_ctx->data.modEoCOnlineCLTSoftwareVersion[0]);
+ memcpy((*modEoCOnlineCLTSoftwareVersion_val_ptr_ptr),
+ rowreq_ctx->data.modEoCOnlineCLTSoftwareVersion,
+ rowreq_ctx->data.modEoCOnlineCLTSoftwareVersion_len *
+ sizeof(rowreq_ctx->data.modEoCOnlineCLTSoftwareVersion[0]));
+
+ return MFD_SUCCESS;
+} /* modEoCOnlineCLTSoftwareVersion_get */
+
+/*---------------------------------------------------------------------
+ * SPIDCOM-EOC-MIB::modEoCOnlineCLTEntry.modEoCOnlineCLTReset
+ * modEoCOnlineCLTReset is subid 5 of modEoCOnlineCLTEntry.
+ * Its status is Current, and its access level is ReadWrite.
+ * OID: .1.3.6.1.4.1.22764.3.1.3.4.1.5
+ * Description:
+
+ *
+ * Attributes:
+ * accessible 1 isscalar 0 enums 1 hasdefval 0
+ * readable 1 iscolumn 1 ranges 0 hashint 0
+ * settable 1
+ *
+ * Enum range: 1/8. Values: reset(1)
+ *
+ * Its syntax is INTEGER (based on perltype INTEGER)
+ * The net-snmp type is ASN_INTEGER. The C type decl is long (u_long)
+ */
+/**
+ * map a value from its original native format to the MIB format.
+ *
+ * @retval MFD_SUCCESS : success
+ * @retval MFD_ERROR : Any other error
+ *
+ * @note parameters follow the memset convention (dest, src).
+ *
+ * @note generation and use of this function can be turned off by re-running
+ * mib2c after adding the following line to the file
+ * defaults/node-modEoCOnlineCLTReset.m2d :
+ * @eval $m2c_node_skip_mapping = 1@
+ *
+ * @remark
+ * If the values for your data type don't exactly match the
+ * possible values defined by the mib, you should map them here.
+ * Otherwise, just do a direct copy.
+ */
+int
+modEoCOnlineCLTReset_map(u_long * mib_modEoCOnlineCLTReset_val_ptr,
+ u_long raw_modEoCOnlineCLTReset_val)
+{
+ netsnmp_assert(NULL != mib_modEoCOnlineCLTReset_val_ptr);
+
+ DEBUGMSGTL(("verbose:modEoCOnlineCLTTable:modEoCOnlineCLTReset_map",
+ "called\n"));
+
+ /*
+ * TODO:241:o: |-> Implement modEoCOnlineCLTReset enum mapping.
+ * uses INTERNAL_* macros defined in the header files
+ */
+ switch (raw_modEoCOnlineCLTReset_val) {
+ case INTERNAL_MODEOCONLINECLTTABLE_MODEOCONLINECLTRESET_RESET:
+ *mib_modEoCOnlineCLTReset_val_ptr = MODEOCONLINECLTRESET_RESET;
+ break;
+
+ default:
+ snmp_log(LOG_ERR,
+ "couldn't map value %ld for modEoCOnlineCLTReset\n",
+ raw_modEoCOnlineCLTReset_val);
+ return MFD_ERROR;
+ }
+
+ return MFD_SUCCESS;
+} /* modEoCOnlineCLTReset_map */
+
+/**
+ * Extract the current value of the modEoCOnlineCLTReset data.
+ *
+ * Set a value using the data context for the row.
+ *
+ * @param rowreq_ctx
+ * Pointer to the row request context.
+ * @param modEoCOnlineCLTReset_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
+modEoCOnlineCLTReset_get(modEoCOnlineCLTTable_rowreq_ctx * rowreq_ctx,
+ u_long * modEoCOnlineCLTReset_val_ptr)
+{
+ /** we should have a non-NULL pointer */
+ netsnmp_assert(NULL != modEoCOnlineCLTReset_val_ptr);
+
+
+ DEBUGMSGTL(("verbose:modEoCOnlineCLTTable:modEoCOnlineCLTReset_get",
+ "called\n"));
+
+ netsnmp_assert(NULL != rowreq_ctx);
+
+ /*
+ * TODO:231:o: |-> Extract the current value of the modEoCOnlineCLTReset data.
+ * copy (* modEoCOnlineCLTReset_val_ptr ) from rowreq_ctx->data
+ */
+ (*modEoCOnlineCLTReset_val_ptr) =
+ rowreq_ctx->data.modEoCOnlineCLTReset;
+
+ return MFD_SUCCESS;
+} /* modEoCOnlineCLTReset_get */
+
+/*---------------------------------------------------------------------
+ * SPIDCOM-EOC-MIB::modEoCOnlineCLTEntry.modEoCOnlineCLTUpLinkBroadcastFrameSendIntervalBeforeAck
+ * modEoCOnlineCLTUpLinkBroadcastFrameSendIntervalBeforeAck is subid 6 of modEoCOnlineCLTEntry.
+ * Its status is Current, and its access level is ReadWrite.
+ * OID: .1.3.6.1.4.1.22764.3.1.3.4.1.6
+ * Description:
+
+ *
+ * Attributes:
+ * accessible 1 isscalar 0 enums 0 hasdefval 0
+ * readable 1 iscolumn 1 ranges 0 hashint 0
+ * settable 1
+ *
+ *
+ * Its syntax is INTEGER (based on perltype INTEGER)
+ * The net-snmp type is ASN_INTEGER. The C type decl is long (long)
+ */
+/**
+ * Extract the current value of the modEoCOnlineCLTUpLinkBroadcastFrameSendIntervalBeforeAck data.
+ *
+ * Set a value using the data context for the row.
+ *
+ * @param rowreq_ctx
+ * Pointer to the row request context.
+ * @param modEoCOnlineCLTUpLinkBroadcastFrameSendIntervalBeforeAck_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
+modEoCOnlineCLTUpLinkBroadcastFrameSendIntervalBeforeAck_get
+ (modEoCOnlineCLTTable_rowreq_ctx * rowreq_ctx,
+ long
+ *modEoCOnlineCLTUpLinkBroadcastFrameSendIntervalBeforeAck_val_ptr)
+{
+ /** we should have a non-NULL pointer */
+ netsnmp_assert(NULL !=
+ modEoCOnlineCLTUpLinkBroadcastFrameSendIntervalBeforeAck_val_ptr);
+
+
+ DEBUGMSGTL(("verbose:modEoCOnlineCLTTable:modEoCOnlineCLTUpLinkBroadcastFrameSendIntervalBeforeAck_get", "called\n"));
+
+ netsnmp_assert(NULL != rowreq_ctx);
+
+ /*
+ * TODO:231:o: |-> Extract the current value of the modEoCOnlineCLTUpLinkBroadcastFrameSendIntervalBeforeAck data.
+ * copy (* modEoCOnlineCLTUpLinkBroadcastFrameSendIntervalBeforeAck_val_ptr ) from rowreq_ctx->data
+ */
+ (*modEoCOnlineCLTUpLinkBroadcastFrameSendIntervalBeforeAck_val_ptr) =
+ rowreq_ctx->data.
+ modEoCOnlineCLTUpLinkBroadcastFrameSendIntervalBeforeAck;
+
+ return MFD_SUCCESS;
+} /* modEoCOnlineCLTUpLinkBroadcastFrameSendIntervalBeforeAck_get */
+
+/*---------------------------------------------------------------------
+ * SPIDCOM-EOC-MIB::modEoCOnlineCLTEntry.modEoCOnlineCLTUpLinkBroadcastFrameSendIntervalAfterAck
+ * modEoCOnlineCLTUpLinkBroadcastFrameSendIntervalAfterAck is subid 7 of modEoCOnlineCLTEntry.
+ * Its status is Current, and its access level is ReadWrite.
+ * OID: .1.3.6.1.4.1.22764.3.1.3.4.1.7
+ * Description:
+
+ *
+ * Attributes:
+ * accessible 1 isscalar 0 enums 0 hasdefval 0
+ * readable 1 iscolumn 1 ranges 0 hashint 0
+ * settable 1
+ *
+ *
+ * Its syntax is INTEGER (based on perltype INTEGER)
+ * The net-snmp type is ASN_INTEGER. The C type decl is long (long)
+ */
+/**
+ * Extract the current value of the modEoCOnlineCLTUpLinkBroadcastFrameSendIntervalAfterAck data.
+ *
+ * Set a value using the data context for the row.
+ *
+ * @param rowreq_ctx
+ * Pointer to the row request context.
+ * @param modEoCOnlineCLTUpLinkBroadcastFrameSendIntervalAfterAck_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
+modEoCOnlineCLTUpLinkBroadcastFrameSendIntervalAfterAck_get
+ (modEoCOnlineCLTTable_rowreq_ctx * rowreq_ctx,
+ long *modEoCOnlineCLTUpLinkBroadcastFrameSendIntervalAfterAck_val_ptr)
+{
+ /** we should have a non-NULL pointer */
+ netsnmp_assert(NULL !=
+ modEoCOnlineCLTUpLinkBroadcastFrameSendIntervalAfterAck_val_ptr);
+
+
+ DEBUGMSGTL(("verbose:modEoCOnlineCLTTable:modEoCOnlineCLTUpLinkBroadcastFrameSendIntervalAfterAck_get", "called\n"));
+
+ netsnmp_assert(NULL != rowreq_ctx);
+
+ /*
+ * TODO:231:o: |-> Extract the current value of the modEoCOnlineCLTUpLinkBroadcastFrameSendIntervalAfterAck data.
+ * copy (* modEoCOnlineCLTUpLinkBroadcastFrameSendIntervalAfterAck_val_ptr ) from rowreq_ctx->data
+ */
+ (*modEoCOnlineCLTUpLinkBroadcastFrameSendIntervalAfterAck_val_ptr) =
+ rowreq_ctx->data.
+ modEoCOnlineCLTUpLinkBroadcastFrameSendIntervalAfterAck;
+
+ return MFD_SUCCESS;
+} /* modEoCOnlineCLTUpLinkBroadcastFrameSendIntervalAfterAck_get */
+
+/*---------------------------------------------------------------------
+ * SPIDCOM-EOC-MIB::modEoCOnlineCLTEntry.modEoCOnlineCLTUpLinkDeviceMACAddress
+ * modEoCOnlineCLTUpLinkDeviceMACAddress is subid 8 of modEoCOnlineCLTEntry.
+ * Its status is Current, and its access level is ReadOnly.
+ * OID: .1.3.6.1.4.1.22764.3.1.3.4.1.8
+ * Description:
+
+ *
+ * Attributes:
+ * accessible 1 isscalar 0 enums 0 hasdefval 0
+ * readable 1 iscolumn 1 ranges 1 hashint 1
+ * settable 0
+ * hint: 1x:
+ *
+ * Ranges: 6;
+ *
+ * Its syntax is MacAddress (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 6)
+ */
+/**
+ * Extract the current value of the modEoCOnlineCLTUpLinkDeviceMACAddress data.
+ *
+ * Set a value using the data context for the row.
+ *
+ * @param rowreq_ctx
+ * Pointer to the row request context.
+ * @param modEoCOnlineCLTUpLinkDeviceMACAddress_val_ptr_ptr
+ * Pointer to storage for a char variable
+ * @param modEoCOnlineCLTUpLinkDeviceMACAddress_val_ptr_len_ptr
+ * Pointer to a size_t. On entry, it will contain the size (in bytes)
+ * pointed to by modEoCOnlineCLTUpLinkDeviceMACAddress.
+ * 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 (*modEoCOnlineCLTUpLinkDeviceMACAddress_val_ptr_len_ptr) bytes of memory,
+ * allocate it using malloc() and update modEoCOnlineCLTUpLinkDeviceMACAddress_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
+modEoCOnlineCLTUpLinkDeviceMACAddress_get(modEoCOnlineCLTTable_rowreq_ctx *
+ rowreq_ctx,
+ char
+ **modEoCOnlineCLTUpLinkDeviceMACAddress_val_ptr_ptr,
+ size_t
+ *modEoCOnlineCLTUpLinkDeviceMACAddress_val_ptr_len_ptr)
+{
+ /** we should have a non-NULL pointer and enough storage */
+ netsnmp_assert((NULL !=
+ modEoCOnlineCLTUpLinkDeviceMACAddress_val_ptr_ptr)
+ && (NULL !=
+ *modEoCOnlineCLTUpLinkDeviceMACAddress_val_ptr_ptr));
+ netsnmp_assert(NULL !=
+ modEoCOnlineCLTUpLinkDeviceMACAddress_val_ptr_len_ptr);
+
+
+ DEBUGMSGTL(("verbose:modEoCOnlineCLTTable:modEoCOnlineCLTUpLinkDeviceMACAddress_get", "called\n"));
+
+ netsnmp_assert(NULL != rowreq_ctx);
+
+ /*
+ * TODO:231:o: |-> Extract the current value of the modEoCOnlineCLTUpLinkDeviceMACAddress data.
+ * copy (* modEoCOnlineCLTUpLinkDeviceMACAddress_val_ptr_ptr ) data and (* modEoCOnlineCLTUpLinkDeviceMACAddress_val_ptr_len_ptr ) from rowreq_ctx->data
+ */
+ /*
+ * make sure there is enough space for modEoCOnlineCLTUpLinkDeviceMACAddress data
+ */
+ if ((NULL == (*modEoCOnlineCLTUpLinkDeviceMACAddress_val_ptr_ptr)) ||
+ ((*modEoCOnlineCLTUpLinkDeviceMACAddress_val_ptr_len_ptr) <
+ (rowreq_ctx->data.modEoCOnlineCLTUpLinkDeviceMACAddress_len *
+ sizeof(rowreq_ctx->data.
+ modEoCOnlineCLTUpLinkDeviceMACAddress[0])))) {
+ /*
+ * allocate space for modEoCOnlineCLTUpLinkDeviceMACAddress data
+ */
+ (*modEoCOnlineCLTUpLinkDeviceMACAddress_val_ptr_ptr) =
+ malloc(rowreq_ctx->data.
+ modEoCOnlineCLTUpLinkDeviceMACAddress_len *
+ sizeof(rowreq_ctx->data.
+ modEoCOnlineCLTUpLinkDeviceMACAddress[0]));
+ if (NULL == (*modEoCOnlineCLTUpLinkDeviceMACAddress_val_ptr_ptr)) {
+ snmp_log(LOG_ERR, "could not allocate memory\n");
+ return MFD_ERROR;
+ }
+ }
+ (*modEoCOnlineCLTUpLinkDeviceMACAddress_val_ptr_len_ptr) =
+ rowreq_ctx->data.modEoCOnlineCLTUpLinkDeviceMACAddress_len *
+ sizeof(rowreq_ctx->data.modEoCOnlineCLTUpLinkDeviceMACAddress[0]);
+ memcpy((*modEoCOnlineCLTUpLinkDeviceMACAddress_val_ptr_ptr),
+ rowreq_ctx->data.modEoCOnlineCLTUpLinkDeviceMACAddress,
+ rowreq_ctx->data.modEoCOnlineCLTUpLinkDeviceMACAddress_len *
+ sizeof(rowreq_ctx->data.
+ modEoCOnlineCLTUpLinkDeviceMACAddress[0]));
+
+ return MFD_SUCCESS;
+} /* modEoCOnlineCLTUpLinkDeviceMACAddress_get */
+
+/*---------------------------------------------------------------------
+ * SPIDCOM-EOC-MIB::modEoCOnlineCLTEntry.modEoCOnlineCLTUpLinkDevicePortNumber
+ * modEoCOnlineCLTUpLinkDevicePortNumber is subid 9 of modEoCOnlineCLTEntry.
+ * Its status is Current, and its access level is ReadOnly.
+ * OID: .1.3.6.1.4.1.22764.3.1.3.4.1.9
+ * Description:
+
+ *
+ * Attributes:
+ * accessible 1 isscalar 0 enums 0 hasdefval 0
+ * readable 1 iscolumn 1 ranges 0 hashint 0
+ * settable 0
+ *
+ *
+ * Its syntax is INTEGER (based on perltype INTEGER)
+ * The net-snmp type is ASN_INTEGER. The C type decl is long (long)
+ */
+/**
+ * Extract the current value of the modEoCOnlineCLTUpLinkDevicePortNumber data.
+ *
+ * Set a value using the data context for the row.
+ *
+ * @param rowreq_ctx
+ * Pointer to the row request context.
+ * @param modEoCOnlineCLTUpLinkDevicePortNumber_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
+modEoCOnlineCLTUpLinkDevicePortNumber_get(modEoCOnlineCLTTable_rowreq_ctx *
+ rowreq_ctx,
+ long
+ *modEoCOnlineCLTUpLinkDevicePortNumber_val_ptr)
+{
+ /** we should have a non-NULL pointer */
+ netsnmp_assert(NULL != modEoCOnlineCLTUpLinkDevicePortNumber_val_ptr);
+
+
+ DEBUGMSGTL(("verbose:modEoCOnlineCLTTable:modEoCOnlineCLTUpLinkDevicePortNumber_get", "called\n"));
+
+ netsnmp_assert(NULL != rowreq_ctx);
+
+ /*
+ * TODO:231:o: |-> Extract the current value of the modEoCOnlineCLTUpLinkDevicePortNumber data.
+ * copy (* modEoCOnlineCLTUpLinkDevicePortNumber_val_ptr ) from rowreq_ctx->data
+ */
+ (*modEoCOnlineCLTUpLinkDevicePortNumber_val_ptr) =
+ rowreq_ctx->data.modEoCOnlineCLTUpLinkDevicePortNumber;
+
+ return MFD_SUCCESS;
+} /* modEoCOnlineCLTUpLinkDevicePortNumber_get */
+
+/*---------------------------------------------------------------------
+ * SPIDCOM-EOC-MIB::modEoCOnlineCLTEntry.modEoCOnlineCLTConfigurationSaving
+ * modEoCOnlineCLTConfigurationSaving is subid 10 of modEoCOnlineCLTEntry.
+ * Its status is Current, and its access level is ReadWrite.
+ * OID: .1.3.6.1.4.1.22764.3.1.3.4.1.10
+ * Description:
+
+ *
+ * Attributes:
+ * accessible 1 isscalar 0 enums 1 hasdefval 0
+ * readable 1 iscolumn 1 ranges 0 hashint 0
+ * settable 1
+ *
+ * Enum range: 1/8. Values: save(1)
+ *
+ * Its syntax is INTEGER (based on perltype INTEGER)
+ * The net-snmp type is ASN_INTEGER. The C type decl is long (u_long)
+ */
+/**
+ * map a value from its original native format to the MIB format.
+ *
+ * @retval MFD_SUCCESS : success
+ * @retval MFD_ERROR : Any other error
+ *
+ * @note parameters follow the memset convention (dest, src).
+ *
+ * @note generation and use of this function can be turned off by re-running
+ * mib2c after adding the following line to the file
+ * defaults/node-modEoCOnlineCLTConfigurationSaving.m2d :
+ * @eval $m2c_node_skip_mapping = 1@
+ *
+ * @remark
+ * If the values for your data type don't exactly match the
+ * possible values defined by the mib, you should map them here.
+ * Otherwise, just do a direct copy.
+ */
+int
+modEoCOnlineCLTConfigurationSaving_map(u_long *
+ mib_modEoCOnlineCLTConfigurationSaving_val_ptr,
+ u_long
+ raw_modEoCOnlineCLTConfigurationSaving_val)
+{
+ netsnmp_assert(NULL != mib_modEoCOnlineCLTConfigurationSaving_val_ptr);
+
+ DEBUGMSGTL(("verbose:modEoCOnlineCLTTable:modEoCOnlineCLTConfigurationSaving_map", "called\n"));
+
+ /*
+ * TODO:241:o: |-> Implement modEoCOnlineCLTConfigurationSaving enum mapping.
+ * uses INTERNAL_* macros defined in the header files
+ */
+ switch (raw_modEoCOnlineCLTConfigurationSaving_val) {
+ case INTERNAL_MODEOCONLINECLTTABLE_MODEOCONLINECLTCONFIGURATIONSAVING_SAVE:
+ *mib_modEoCOnlineCLTConfigurationSaving_val_ptr =
+ MODEOCONLINECLTCONFIGURATIONSAVING_SAVE;
+ break;
+
+ default:
+ snmp_log(LOG_ERR,
+ "couldn't map value %ld for modEoCOnlineCLTConfigurationSaving\n",
+ raw_modEoCOnlineCLTConfigurationSaving_val);
+ return MFD_ERROR;
+ }
+
+ return MFD_SUCCESS;
+} /* modEoCOnlineCLTConfigurationSaving_map */
+
+/**
+ * Extract the current value of the modEoCOnlineCLTConfigurationSaving data.
+ *
+ * Set a value using the data context for the row.
+ *
+ * @param rowreq_ctx
+ * Pointer to the row request context.
+ * @param modEoCOnlineCLTConfigurationSaving_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
+modEoCOnlineCLTConfigurationSaving_get(modEoCOnlineCLTTable_rowreq_ctx *
+ rowreq_ctx,
+ u_long *
+ modEoCOnlineCLTConfigurationSaving_val_ptr)
+{
+ /** we should have a non-NULL pointer */
+ netsnmp_assert(NULL != modEoCOnlineCLTConfigurationSaving_val_ptr);
+
+
+ DEBUGMSGTL(("verbose:modEoCOnlineCLTTable:modEoCOnlineCLTConfigurationSaving_get", "called\n"));
+
+ netsnmp_assert(NULL != rowreq_ctx);
+
+ /*
+ * TODO:231:o: |-> Extract the current value of the modEoCOnlineCLTConfigurationSaving data.
+ * copy (* modEoCOnlineCLTConfigurationSaving_val_ptr ) from rowreq_ctx->data
+ */
+ (*modEoCOnlineCLTConfigurationSaving_val_ptr) =
+ rowreq_ctx->data.modEoCOnlineCLTConfigurationSaving;
+
+ return MFD_SUCCESS;
+} /* modEoCOnlineCLTConfigurationSaving_get */
+
+/*---------------------------------------------------------------------
+ * SPIDCOM-EOC-MIB::modEoCOnlineCLTEntry.modEoCOnlineCLTConfigurationResult
+ * modEoCOnlineCLTConfigurationResult is subid 11 of modEoCOnlineCLTEntry.
+ * Its status is Current, and its access level is ReadOnly.
+ * OID: .1.3.6.1.4.1.22764.3.1.3.4.1.11
+ * Description:
+
+ *
+ * Attributes:
+ * accessible 1 isscalar 0 enums 1 hasdefval 0
+ * readable 1 iscolumn 1 ranges 0 hashint 0
+ * settable 0
+ *
+ * Enum range: 3/8. Values: none(0), save(1), failed(2)
+ *
+ * Its syntax is INTEGER (based on perltype INTEGER)
+ * The net-snmp type is ASN_INTEGER. The C type decl is long (u_long)
+ */
+/**
+ * map a value from its original native format to the MIB format.
+ *
+ * @retval MFD_SUCCESS : success
+ * @retval MFD_ERROR : Any other error
+ *
+ * @note parameters follow the memset convention (dest, src).
+ *
+ * @note generation and use of this function can be turned off by re-running
+ * mib2c after adding the following line to the file
+ * defaults/node-modEoCOnlineCLTConfigurationResult.m2d :
+ * @eval $m2c_node_skip_mapping = 1@
+ *
+ * @remark
+ * If the values for your data type don't exactly match the
+ * possible values defined by the mib, you should map them here.
+ * Otherwise, just do a direct copy.
+ */
+int
+modEoCOnlineCLTConfigurationResult_map(u_long *
+ mib_modEoCOnlineCLTConfigurationResult_val_ptr,
+ u_long
+ raw_modEoCOnlineCLTConfigurationResult_val)
+{
+ netsnmp_assert(NULL != mib_modEoCOnlineCLTConfigurationResult_val_ptr);
+
+ DEBUGMSGTL(("verbose:modEoCOnlineCLTTable:modEoCOnlineCLTConfigurationResult_map", "called\n"));
+
+ /*
+ * TODO:241:o: |-> Implement modEoCOnlineCLTConfigurationResult enum mapping.
+ * uses INTERNAL_* macros defined in the header files
+ */
+ switch (raw_modEoCOnlineCLTConfigurationResult_val) {
+ case INTERNAL_MODEOCONLINECLTTABLE_MODEOCONLINECLTCONFIGURATIONRESULT_NONE:
+ *mib_modEoCOnlineCLTConfigurationResult_val_ptr =
+ MODEOCONLINECLTCONFIGURATIONRESULT_NONE;
+ break;
+
+ case INTERNAL_MODEOCONLINECLTTABLE_MODEOCONLINECLTCONFIGURATIONRESULT_SAVE:
+ *mib_modEoCOnlineCLTConfigurationResult_val_ptr =
+ MODEOCONLINECLTCONFIGURATIONRESULT_SAVE;
+ break;
+
+ case INTERNAL_MODEOCONLINECLTTABLE_MODEOCONLINECLTCONFIGURATIONRESULT_FAILED:
+ *mib_modEoCOnlineCLTConfigurationResult_val_ptr =
+ MODEOCONLINECLTCONFIGURATIONRESULT_FAILED;
+ break;
+
+ default:
+ snmp_log(LOG_ERR,
+ "couldn't map value %ld for modEoCOnlineCLTConfigurationResult\n",
+ raw_modEoCOnlineCLTConfigurationResult_val);
+ return MFD_ERROR;
+ }
+
+ return MFD_SUCCESS;
+} /* modEoCOnlineCLTConfigurationResult_map */
+
+/**
+ * Extract the current value of the modEoCOnlineCLTConfigurationResult data.
+ *
+ * Set a value using the data context for the row.
+ *
+ * @param rowreq_ctx
+ * Pointer to the row request context.
+ * @param modEoCOnlineCLTConfigurationResult_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
+modEoCOnlineCLTConfigurationResult_get(modEoCOnlineCLTTable_rowreq_ctx *
+ rowreq_ctx,
+ u_long *
+ modEoCOnlineCLTConfigurationResult_val_ptr)
+{
+ /** we should have a non-NULL pointer */
+ netsnmp_assert(NULL != modEoCOnlineCLTConfigurationResult_val_ptr);
+
+
+ DEBUGMSGTL(("verbose:modEoCOnlineCLTTable:modEoCOnlineCLTConfigurationResult_get", "called\n"));
+
+ netsnmp_assert(NULL != rowreq_ctx);
+
+ /*
+ * TODO:231:o: |-> Extract the current value of the modEoCOnlineCLTConfigurationResult data.
+ * copy (* modEoCOnlineCLTConfigurationResult_val_ptr ) from rowreq_ctx->data
+ */
+ (*modEoCOnlineCLTConfigurationResult_val_ptr) =
+ rowreq_ctx->data.modEoCOnlineCLTConfigurationResult;
+
+ return MFD_SUCCESS;
+} /* modEoCOnlineCLTConfigurationResult_get */
+
+
+
+/** @} */