⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ipcidrroutetable.c

📁 snmp的源代码,已经在我的ubuntu下编译通过
💻 C
📖 第 1 页 / 共 5 页
字号:
 * Set a value using the data context for the row. * * @param rowreq_ctx *        Pointer to the row request context. * @param ipCidrRouteType_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 */intipCidrRouteType_get(ipCidrRouteTable_rowreq_ctx * rowreq_ctx,                    u_long * ipCidrRouteType_val_ptr){   /** we should have a non-NULL pointer */    netsnmp_assert(NULL != ipCidrRouteType_val_ptr);    DEBUGMSGTL(("verbose:ipCidrRouteTable:ipCidrRouteType_get",                "called\n"));    netsnmp_assert(NULL != rowreq_ctx);    /*     * TODO:231:o: |-> Extract the current value of the ipCidrRouteType data.     * set (* ipCidrRouteType_val_ptr ) from rowreq_ctx->data     */    (*ipCidrRouteType_val_ptr) = rowreq_ctx->data->rt_type;    return MFD_SUCCESS;}                               /* ipCidrRouteType_get *//*--------------------------------------------------------------------- * IP-FORWARD-MIB::ipCidrRouteEntry.ipCidrRouteProto * ipCidrRouteProto is subid 7 of ipCidrRouteEntry. * Its status is Deprecated, and its access level is ReadOnly. * OID: .1.3.6.1.2.1.4.24.4.1.7 * Description:The routing mechanism via which this route was learned.                 Inclusion of values for gateway routing protocols is                  not intended to imply that hosts should support those                 protocols. * * Attributes: *   accessible 1     isscalar 0     enums  1      hasdefval 0 *   readable   1     iscolumn 1     ranges 0      hashint   0 *   settable   0 * * Enum range: 11/16. Values:  other(1), local(2), netmgmt(3), icmp(4), egp(5), ggp(6), hello(7), rip(8), isIs(9), esIs(10), ciscoIgrp(11), bbnSpfIgp(12), ospf(13), bgp(14), idpr(15), ciscoEigrp(16) * * Its syntax is INTEGER (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 ipCidrRouteProto data. * * Set a value using the data context for the row. * * @param rowreq_ctx *        Pointer to the row request context. * @param ipCidrRouteProto_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 */intipCidrRouteProto_get(ipCidrRouteTable_rowreq_ctx * rowreq_ctx,                     u_long * ipCidrRouteProto_val_ptr){   /** we should have a non-NULL pointer */    netsnmp_assert(NULL != ipCidrRouteProto_val_ptr);    DEBUGMSGTL(("verbose:ipCidrRouteTable:ipCidrRouteProto_get",                "called\n"));    netsnmp_assert(NULL != rowreq_ctx);    /*     * TODO:231:o: |-> Extract the current value of the ipCidrRouteProto data.     * set (* ipCidrRouteProto_val_ptr ) from rowreq_ctx->data     */    (*ipCidrRouteProto_val_ptr) = rowreq_ctx->data->rt_proto;    return MFD_SUCCESS;}                               /* ipCidrRouteProto_get *//*--------------------------------------------------------------------- * IP-FORWARD-MIB::ipCidrRouteEntry.ipCidrRouteAge * ipCidrRouteAge is subid 8 of ipCidrRouteEntry. * Its status is Deprecated, and its access level is ReadOnly. * OID: .1.3.6.1.2.1.4.24.4.1.8 * Description:The number of seconds since this route was last updated                  or otherwise determined to be correct.  Note that no                  semantics of `too old' can be implied except through                  knowledge of the routing protocol by which the route                  was learned. * * Attributes: *   accessible 1     isscalar 0     enums  0      hasdefval 1 *   readable   1     iscolumn 1     ranges 0      hashint   0 *   settable   0 *   defval: 0 * * * Its syntax is INTEGER32 (based on perltype INTEGER32) * The net-snmp type is ASN_INTEGER. The C type decl is long (long) *//** * Extract the current value of the ipCidrRouteAge data. * * Set a value using the data context for the row. * * @param rowreq_ctx *        Pointer to the row request context. * @param ipCidrRouteAge_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 */intipCidrRouteAge_get(ipCidrRouteTable_rowreq_ctx * rowreq_ctx,                   long *ipCidrRouteAge_val_ptr){   /** we should have a non-NULL pointer */    netsnmp_assert(NULL != ipCidrRouteAge_val_ptr);    DEBUGMSGTL(("verbose:ipCidrRouteTable:ipCidrRouteAge_get",                "called\n"));    netsnmp_assert(NULL != rowreq_ctx);    /*     * TODO:231:o: |-> Extract the current value of the ipCidrRouteAge data.     * set (* ipCidrRouteAge_val_ptr ) from rowreq_ctx->data     */    return MFD_SKIP;            /* TODO:235:M: |-> Remove SKIP once you've set ipCidrRouteAge data */    return MFD_SUCCESS;}                               /* ipCidrRouteAge_get *//*--------------------------------------------------------------------- * IP-FORWARD-MIB::ipCidrRouteEntry.ipCidrRouteInfo * ipCidrRouteInfo is subid 9 of ipCidrRouteEntry. * Its status is Deprecated, and its access level is Create. * OID: .1.3.6.1.2.1.4.24.4.1.9 * Description:A reference to MIB definitions specific to the                  particular routing protocol which is responsible for                  this route, as determined by the value specified in the                  route's ipCidrRouteProto value.  If this information is                  not present, its value should be set to the OBJECT                  IDENTIFIER { 0 0 }, which is a syntactically valid                  object identifier, and any implementation conforming to                  ASN.1 and the Basic Encoding Rules must be able to                  generate and recognize this value. * * 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.  (Max ) *//** * Extract the current value of the ipCidrRouteInfo data. * * Set a value using the data context for the row. * * @param rowreq_ctx *        Pointer to the row request context. * @param ipCidrRouteInfo_val_ptr_ptr *        Pointer to storage for a oid variable * @param ipCidrRouteInfo_val_ptr_len_ptr *        Pointer to a size_t. On entry, it will contain the size (in bytes) *        pointed to by ipCidrRouteInfo. *        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 (*ipCidrRouteInfo_val_ptr_len_ptr) bytes of memory, *       allocate it using malloc() and update ipCidrRouteInfo_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.) */intipCidrRouteInfo_get(ipCidrRouteTable_rowreq_ctx * rowreq_ctx,                    oid ** ipCidrRouteInfo_val_ptr_ptr,                    size_t *ipCidrRouteInfo_val_ptr_len_ptr){   /** we should have a non-NULL pointer and enough storage */    netsnmp_assert((NULL != ipCidrRouteInfo_val_ptr_ptr)                   && (NULL != *ipCidrRouteInfo_val_ptr_ptr));    netsnmp_assert(NULL != ipCidrRouteInfo_val_ptr_len_ptr);    DEBUGMSGTL(("verbose:ipCidrRouteTable:ipCidrRouteInfo_get",                "called\n"));    netsnmp_assert(NULL != rowreq_ctx);    /*     * TODO:231:o: |-> Extract the current value of the ipCidrRouteInfo data.     * set (* ipCidrRouteInfo_val_ptr_ptr ) and (* ipCidrRouteInfo_val_ptr_len_ptr ) from rowreq_ctx->data     */    if ((*ipCidrRouteInfo_val_ptr_len_ptr) < nullOidLen) {        (*ipCidrRouteInfo_val_ptr_ptr) = malloc(nullOidLen);        if (NULL == (*ipCidrRouteInfo_val_ptr_ptr))            return MFD_ERROR;    }    (*ipCidrRouteInfo_val_ptr_len_ptr) = nullOidLen;    memcpy((*ipCidrRouteInfo_val_ptr_ptr), nullOid, nullOidLen);    return MFD_SUCCESS;}                               /* ipCidrRouteInfo_get *//*--------------------------------------------------------------------- * IP-FORWARD-MIB::ipCidrRouteEntry.ipCidrRouteNextHopAS * ipCidrRouteNextHopAS is subid 10 of ipCidrRouteEntry. * Its status is Deprecated, and its access level is Create. * OID: .1.3.6.1.2.1.4.24.4.1.10 * Description:The Autonomous System Number of the Next Hop.  The                  semantics of this object are determined by the routing-                 protocol specified in the route's ipCidrRouteProto                  value. When this object is unknown or not relevant its                  value should be set to zero. * * Attributes: *   accessible 1     isscalar 0     enums  0      hasdefval 1 *   readable   1     iscolumn 1     ranges 0      hashint   0 *   settable   1 *   defval: 0 * * * Its syntax is INTEGER32 (based on perltype INTEGER32) * The net-snmp type is ASN_INTEGER. The C type decl is long (long) *//** * Extract the current value of the ipCidrRouteNextHopAS data. * * Set a value using the data context for the row. * * @param rowreq_ctx *        Pointer to the row request context. * @param ipCidrRouteNextHopAS_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 */intipCidrRouteNextHopAS_get(ipCidrRouteTable_rowreq_ctx * rowreq_ctx,                         long *ipCidrRouteNextHopAS_val_ptr){   /** we should have a non-NULL pointer */    netsnmp_assert(NULL != ipCidrRouteNextHopAS_val_ptr);    DEBUGMSGTL(("verbose:ipCidrRouteTable:ipCidrRouteNextHopAS_get",                "called\n"));    netsnmp_assert(NULL != rowreq_ctx);    /*     * TODO:231:o: |-> Extract the current value of the ipCidrRouteNextHopAS data.     * set (* ipCidrRouteNextHopAS_val_ptr ) from rowreq_ctx->data     */    (*ipCidrRouteNextHopAS_val_ptr) = rowreq_ctx->data->rt_nexthop_as;    return MFD_SUCCESS;}                               /* ipCidrRouteNextHopAS_get *//*--------------------------------------------------------------------- * IP-FORWARD-MIB::ipCidrRouteEntry.ipCidrRouteMetric1 * ipCidrRouteMetric1 is subid 11 of ipCidrRouteEntry. * Its status is Deprecated, and its access level is Create. * OID: .1.3.6.1.2.1.4.24.4.1.11 * Description:The primary routing metric for this route.  The                  semantics of this metric are determined by the routing-                 protocol specified in the route's ipCidrRouteProto                  value.  If this metric is not used, its value should be                  set to -1. * * Attributes: *   accessible 1     isscalar 0     enums  0      hasdefval 1 *   readable   1     iscolumn 1     ranges 0      hashint   0 *   settable   1 *   defval: -1 * * * Its syntax is INTEGER32 (based on perltype INTEGER32) * The net-snmp type is ASN_INTEGER. The C type decl is long (long) *//** * Extract the current value of the ipCidrRouteMetric1 data. * * Set a value using the data context for the row. * * @param rowreq_ctx *        Pointer to the row request context. * @param ipCidrRouteMetric1_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 */intipCidrRouteMetric1_get(ipCidrRouteTable_rowreq_ctx * rowreq_ctx,                       long *ipCidrRouteMetric1_val_ptr){   /** we should have a non-NULL pointer */    netsnmp_assert(NULL != ipCidrRouteMetric1_val_ptr);    DEBUGMSGTL(("verbose:ipCidrRouteTable:ipCidrRouteMetric1_get",                "called\n"));    netsnmp_assert(NULL != rowreq_ctx);    /*     * TODO:231:o: |-> Extract the current value of the ipCidrRouteMetric1 data.     * set (* ipCidrRouteMetric1_val_ptr ) from rowreq_ctx->data     */    (*ipCidrRouteMetric1_val_ptr) = rowreq_ctx->data->rt_metric1;    return MFD_SUCCESS;}                               /* ipCidrRouteMetric1_get *//*--------------------------------------------------------------------- * IP-FORWARD-MIB::ipCidrRouteEntry.ipCidrRouteMetric2 * ipCidrRouteMetric2 is subid 12 of ipCidrRouteEntry. * Its status is Deprecated, and its access level is Create. * OID: .1.3.6.1.2.1.4.24.4.1.12 * Description:An alternate routing metric for this route.  The                  semantics of this metric are determined by the routing-                 protocol specified in the route's ipCidrRouteProto                  value.  If this metric is not used, its value should be                  set to -1. * * Attributes: *   accessible 1     isscalar 0     enums  0      hasdefval 1 *   readable   1     iscolumn 1     ranges 0      hashint   0 *   settable   1 *   defval: -1 * * * Its syntax is INTEGER32 (based on perltype INTEGER32) * The net-snmp type is ASN_INTEGER. The C type decl is long (long) *//** * Extract the current value of the ipCidrRouteMetric2 data. * * Set a value using the data context for the row. * * @param rowreq_ctx *        Pointer to the row request context. * @param ipCidrRouteMetric2_val_ptr *        Pointer to storage for a long variable

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -