diff options
-rw-r--r-- | user/net-snmp/APKBUILD | 151 | ||||
-rw-r--r-- | user/net-snmp/CVE-2015-5621.patch | 132 | ||||
-rw-r--r-- | user/net-snmp/fix-Makefile-PL.patch | 22 | ||||
-rw-r--r-- | user/net-snmp/fix-includes.patch | 10 | ||||
-rw-r--r-- | user/net-snmp/netsnmp-swinst-crash.patch | 13 | ||||
-rw-r--r-- | user/net-snmp/remove-U64-typedef.patch | 2519 | ||||
-rw-r--r-- | user/net-snmp/snmpd.confd | 14 | ||||
-rw-r--r-- | user/net-snmp/snmpd.initd | 24 | ||||
-rw-r--r-- | user/net-snmp/snmptrapd.confd | 12 |
9 files changed, 2897 insertions, 0 deletions
diff --git a/user/net-snmp/APKBUILD b/user/net-snmp/APKBUILD new file mode 100644 index 000000000..333cb8a69 --- /dev/null +++ b/user/net-snmp/APKBUILD @@ -0,0 +1,151 @@ +# Contributor: Carlo Landmeter <clandmeter@gmail.com> +# Maintainer: +pkgname=net-snmp +pkgver=5.7.3 +pkgrel=11 +pkgdesc="Simple Network Management Protocol" +url="http://www.net-snmp.org/" +arch="all" +options="!check" +license="MIT-CMU AND BSD-3-Clause" +depends="" +depends_dev="openssl-dev" +# we need perl-net-snmp in make depends for bootstrapping issues +# net-snmp-gui subpackage has perl-net-snmp as depends +makedepends="file linux-headers openssl-dev perl-dev perl-net-snmp utmps-dev" +subpackages="$pkgname-doc $pkgname-dev $pkgname-libs $pkgname-agent-libs:alibs + $pkgname-openrc $pkgname-perl:pl $pkgname-gui $pkgname-tools" +source="https://downloads.sourceforge.net/$pkgname/$pkgname-$pkgver.tar.gz + netsnmp-swinst-crash.patch + fix-includes.patch + CVE-2015-5621.patch + remove-U64-typedef.patch + fix-Makefile-PL.patch + + snmpd.initd + snmpd.confd + snmptrapd.confd + " + +prepare() { + update_config_sub + default_prepare + # Allow tmpfs volume size monitoring + # Ref #932 + sed -e 's#"tmpfs",#/* "tmpfs", */#g' -i agent/mibgroup/host/hr_filesys.c +} + +build() { + cd "$builddir" + + export lt_cv_sys_max_cmd_len=8192 + + ./configure \ + --build=$CBUILD \ + --host=$CHOST \ + --prefix=/usr \ + --sysconfdir=/etc \ + --mandir=/usr/share/man \ + --infodir=/usr/share/info \ + --with-default-snmp-version="3" \ + --with-sys-contact="root@adelie" \ + --with-sys-location="unknown" \ + --with-logfile="/var/log/net-snmpd.log" \ + --enable-ucd-snmp-compatibility \ + --with-persistent-directory="/var/lib/net-snmp" \ + --with-openssl \ + --enable-pic \ + --enable-ipv6 \ + --enable-shared \ + --enable-as-needed \ + --with-perl-modules="INSTALLDIRS=vendor" \ + --disable-embedded-perl + # embedded-perl seems to create TEXTREL's + + make -j1 +} + +package() { + cd "$builddir" + make -j1 DESTDIR="$pkgdir" install + # remove things we dont want distribute + rm "$pkgdir"/usr/lib/libsnmp* \ + "$pkgdir"/usr/bin/snmpcheck \ + "$pkgdir"/usr/bin/fixproc \ + "$pkgdir"/usr/share/man/man1/fixproc* \ + "$pkgdir"/usr/bin/ipf-mod.pl \ + "$pkgdir"/usr/bin/snmpinform + ln -s snmptrap "$pkgdir"/usr/bin/snmpinform + + install -m755 -D "$srcdir"/snmpd.initd "$pkgdir"/etc/init.d/snmpd + ln -s snmpd "$pkgdir"/etc/init.d/snmptrapd + install -m644 -D "$srcdir"/snmpd.confd "$pkgdir"/etc/conf.d/snmpd + install -m644 -D "$srcdir"/snmptrapd.confd \ + "$pkgdir"/etc/conf.d/snmptrapd + install -m644 -D EXAMPLE.conf "$pkgdir"/etc/snmp/snmpd.conf + echo "authCommunity log,execute,net public" > "$pkgdir"/etc/snmp/snmptrapd.conf + mkdir -p "$pkgdir"/var/lib/net-snmp + find "$pkgdir" -name perllocal.pod -delete +} + +libs() { + pkgdesc="The NET-SNMP runtime client libraries" + replaces="net-snmp" + mkdir -p "$subpkgdir"/usr/lib "$subpkgdir"/usr/share/snmp + mv "$pkgdir"/usr/lib/libnetsnmp.so.* "$subpkgdir"/usr/lib/ + mv "$pkgdir"/usr/share/snmp/mibs "$subpkgdir"/usr/share/snmp/ +} + +alibs() { + pkgdesc="The NET-SNMP runtime agent libraries" + replaces="net-snmp" + mkdir -p "$subpkgdir"/usr/lib + mv "$pkgdir"/usr/lib/libnetsnmpagent*.so.* \ + "$pkgdir"/usr/lib/libnetsnmphelpers*.so.* \ + "$pkgdir"/usr/lib/libnetsnmpmibs*.so.* \ + "$pkgdir"/usr/lib/libnetsnmptrapd*.so.* \ + "$subpkgdir"/usr/lib/ +} + +pl() { + pkgdesc="Perl NET-SNMP module and the mib2c tool" + replaces="net-snmp" + mkdir -p "$subpkgdir"/usr/lib \ + "$subpkgdir"/usr/bin \ + "$subpkgdir"/usr/share/snmp + + mv "$pkgdir"/usr/bin/mib2c-update \ + "$pkgdir"/usr/bin/mib2c \ + "$pkgdir"/usr/bin/snmp-bridge-mib \ + "$pkgdir"/usr/bin/net-snmp-cert \ + "$pkgdir"/usr/bin/traptoemail \ + "$subpkgdir"/usr/bin/ + mv "$pkgdir"/usr/lib/perl* "$subpkgdir"/usr/lib/ + mv "$pkgdir"/usr/share/snmp/mib2c* \ + "$pkgdir"/usr/share/snmp/*.pl \ + "$subpkgdir"/usr/share/snmp/ +} + +gui() { + pkgdesc="An interactive graphical MIB browser for SNMP" + depends="perl-net-snmp" # needs perl-tk too... + replaces="net-snmp-tools" + mkdir -p "$subpkgdir"/usr/bin + mv "$pkgdir"/usr/bin/tkmib "$subpkgdir"/usr/bin/ +} + +tools() { + pkgdesc="Network management utilities using SNMP" + mkdir -p "$subpkgdir"/usr + mv "$pkgdir"/usr/bin "$subpkgdir"/usr +} + +sha512sums="0758bba5844cfd6c80959ac16b83906a2f830ba49fd0ab1bf9e191dc6a79d312a2e4760bd53b3e1a1c82759481f0064d088d5a3cf475d84b25679a6bd0f049bb net-snmp-5.7.3.tar.gz +4ad92f50b14d5e27ba86256cc532a2dd055502f4d5fbb1700434f9f01f881fd09bb1eadb94e727554e1470f036707558314c64a66d0376b54e71ab31d5e4baa3 netsnmp-swinst-crash.patch +87a552bd2e41684bba6e87fbcf6454a85ee912d7a339411fda24cebddf7661f0856729e076a917920a542cf84b687ffd90a091daa15f2c48f0ff64f3a53c0ddb fix-includes.patch +2b2a7be54a570e3c1bb701f8ccfb98ea8e50a19fda021f43a521d4e968ded1bc5e794fc4348dff7fcdf57da34ff6b555398851bbccfcf92bb75ad6f365a80dba CVE-2015-5621.patch +25e45c493b8da74cb12a8094d12a4f0ee1f59b60df648a958ebc7b0a33b4f350d9c5bf1e6f6ff372d78e066c369d99f2ae549b5d5d1daa969e3ef301fc820c29 remove-U64-typedef.patch +d17058976fd635f153ff2e5d798807dde4d89071c252ea1223d93cc169270bb39cdd2c84ee4d01c05c9a0b6df80b92ceae3e1078e41f94e6077d7275661898e9 fix-Makefile-PL.patch +896ef65a6f420073746470cdbd0de8f356c5b936d35e131754905b3d4323c24dcd3a09e0cc8bd90b12e3402f01e478f927f0e4163cb85cb0cc03db3c2e0491f4 snmpd.initd +fb101aa758d741ed3ea88b11f1cd49cfd04bd03ce62435f3acb17724748131c57f00b71fd45cb7e7871d65a1aab576652cd6e158b6406aa6d0998582b8235ef5 snmpd.confd +073fd2b83eedd6eda1f7345350268ce7946ef6d67a8f26f7c232e46feb75babf68272ae12071a2f9ea76ede71393b3ae4672d3cd47cfd14ab77e3a6482f2e124 snmptrapd.confd" diff --git a/user/net-snmp/CVE-2015-5621.patch b/user/net-snmp/CVE-2015-5621.patch new file mode 100644 index 000000000..6d30f99ee --- /dev/null +++ b/user/net-snmp/CVE-2015-5621.patch @@ -0,0 +1,132 @@ +From 3714c5be3212d2af61545439eeb432e5d84a8d39 Mon Sep 17 00:00:00 2001 +From: Robert Story <rstory@localhost> +Date: Sat, 11 Apr 2015 18:49:02 -0400 +Subject: [PATCH] CHANGES: BUG: #2615: Don't return incompletely parsed + varbinds + +--- + snmplib/snmp_api.c | 55 +++++++++++++++++++++++++++--------------------------- + 1 file changed, 28 insertions(+), 27 deletions(-) + +diff --git a/snmplib/snmp_api.c b/snmplib/snmp_api.c +index 191debf..adae4e4 100644 +--- a/snmplib/snmp_api.c ++++ b/snmplib/snmp_api.c +@@ -4350,10 +4350,9 @@ snmp_pdu_parse(netsnmp_pdu *pdu, u_char * data, size_t * length) + u_char type; + u_char msg_type; + u_char *var_val; +- int badtype = 0; + size_t len; + size_t four; +- netsnmp_variable_list *vp = NULL; ++ netsnmp_variable_list *vp = NULL, *vplast = NULL; + oid objid[MAX_OID_LEN]; + u_char *p; + +@@ -4493,38 +4492,24 @@ snmp_pdu_parse(netsnmp_pdu *pdu, u_char * data, size_t * length) + (ASN_SEQUENCE | ASN_CONSTRUCTOR), + "varbinds"); + if (data == NULL) +- return -1; ++ goto fail; + + /* + * get each varBind sequence + */ + while ((int) *length > 0) { +- netsnmp_variable_list *vptemp; +- vptemp = (netsnmp_variable_list *) malloc(sizeof(*vptemp)); +- if (NULL == vptemp) { +- return -1; +- } +- if (NULL == vp) { +- pdu->variables = vptemp; +- } else { +- vp->next_variable = vptemp; +- } +- vp = vptemp; ++ vp = SNMP_MALLOC_TYPEDEF(netsnmp_variable_list); ++ if (NULL == vp) ++ goto fail; + +- vp->next_variable = NULL; +- vp->val.string = NULL; + vp->name_length = MAX_OID_LEN; +- vp->name = NULL; +- vp->index = 0; +- vp->data = NULL; +- vp->dataFreeHook = NULL; + DEBUGDUMPSECTION("recv", "VarBind"); + data = snmp_parse_var_op(data, objid, &vp->name_length, &vp->type, + &vp->val_len, &var_val, length); + if (data == NULL) +- return -1; ++ goto fail; + if (snmp_set_var_objid(vp, objid, vp->name_length)) +- return -1; ++ goto fail; + + len = MAX_PACKET_LENGTH; + DEBUGDUMPHEADER("recv", "Value"); +@@ -4604,7 +4589,7 @@ snmp_pdu_parse(netsnmp_pdu *pdu, u_char * data, size_t * length) + vp->val.string = (u_char *) malloc(vp->val_len); + } + if (vp->val.string == NULL) { +- return -1; ++ goto fail; + } + p = asn_parse_string(var_val, &len, &vp->type, vp->val.string, + &vp->val_len); +@@ -4619,7 +4604,7 @@ snmp_pdu_parse(netsnmp_pdu *pdu, u_char * data, size_t * length) + vp->val_len *= sizeof(oid); + vp->val.objid = (oid *) malloc(vp->val_len); + if (vp->val.objid == NULL) { +- return -1; ++ goto fail; + } + memmove(vp->val.objid, objid, vp->val_len); + break; +@@ -4631,7 +4616,7 @@ snmp_pdu_parse(netsnmp_pdu *pdu, u_char * data, size_t * length) + case ASN_BIT_STR: + vp->val.bitstring = (u_char *) malloc(vp->val_len); + if (vp->val.bitstring == NULL) { +- return -1; ++ goto fail; + } + p = asn_parse_bitstring(var_val, &len, &vp->type, + vp->val.bitstring, &vp->val_len); +@@ -4640,12 +4625,28 @@ snmp_pdu_parse(netsnmp_pdu *pdu, u_char * data, size_t * length) + break; + default: + snmp_log(LOG_ERR, "bad type returned (%x)\n", vp->type); +- badtype = -1; ++ goto fail; + break; + } + DEBUGINDENTADD(-4); ++ ++ if (NULL == vplast) { ++ pdu->variables = vp; ++ } else { ++ vplast->next_variable = vp; ++ } ++ vplast = vp; ++ vp = NULL; + } +- return badtype; ++ return 0; ++ ++ fail: ++ DEBUGMSGTL(("recv", "error while parsing VarBindList\n")); ++ /** if we were parsing a var, remove it from the pdu and free it */ ++ if (vp) ++ snmp_free_var(vp); ++ ++ return -1; + } + + /* +-- +2.5.0 + diff --git a/user/net-snmp/fix-Makefile-PL.patch b/user/net-snmp/fix-Makefile-PL.patch new file mode 100644 index 000000000..735f01447 --- /dev/null +++ b/user/net-snmp/fix-Makefile-PL.patch @@ -0,0 +1,22 @@ +diff -up net-snmp-5.7.3/perl/ASN/Makefile.PL.orig net-snmp-5.7.3/perl/ASN/Makefile.PL +--- net-snmp-5.7.3/perl/ASN/Makefile.PL.orig 2016-05-06 10:35:30.005905040 +0200 ++++ net-snmp-5.7.3/perl/ASN/Makefile.PL 2016-05-06 10:35:57.518776400 +0200 +@@ -3,6 +3,7 @@ require 5; + use Config; + use Getopt::Long; + my $lib_version; ++my %MakeParams = (); + + # See lib/ExtUtils/MakeMaker.pm for details of how to influence + # the contents of the Makefile that is written. +diff -up net-snmp-5.7.3/perl/Makefile.PL.orig net-snmp-5.7.3/perl/Makefile.PL +--- net-snmp-5.7.3/perl/Makefile.PL.orig 2016-05-06 10:34:38.975143641 +0200 ++++ net-snmp-5.7.3/perl/Makefile.PL 2016-05-06 10:35:13.326983024 +0200 +@@ -2,6 +2,7 @@ use ExtUtils::MakeMaker; + use Config; + use Getopt::Long; + require 5; ++my %MakeParams = (); + + %MakeParams = InitMakeParams(); + diff --git a/user/net-snmp/fix-includes.patch b/user/net-snmp/fix-includes.patch new file mode 100644 index 000000000..fa1f181ba --- /dev/null +++ b/user/net-snmp/fix-includes.patch @@ -0,0 +1,10 @@ +--- net-snmp-5.7.2/agent/mibgroup/util_funcs/get_pid_from_inode.c.orig ++++ net-snmp-5.7.2/agent/mibgroup/util_funcs/get_pid_from_inode.c +@@ -4,6 +4,7 @@ + + #include <net-snmp/output_api.h> + ++#include <limits.h> + #include <ctype.h> + #include <stdio.h> + #if HAVE_STDLIB_H diff --git a/user/net-snmp/netsnmp-swinst-crash.patch b/user/net-snmp/netsnmp-swinst-crash.patch new file mode 100644 index 000000000..58c368fac --- /dev/null +++ b/user/net-snmp/netsnmp-swinst-crash.patch @@ -0,0 +1,13 @@ +--- a/agent/mibgroup/host/data_access/swinst_pkginfo.c.orig ++++ b/agent/mibgroup/host/data_access/swinst_pkginfo.c +@@ -207,7 +207,9 @@ + memcpy( entry->swDate, cp, date_len ); + entry->swDate_len = date_len; + } +- closedir( d ); ++ if (d != NULL) ++ closedir( d ); ++ + #ifdef HAVE_LIBPKG + } + #endif diff --git a/user/net-snmp/remove-U64-typedef.patch b/user/net-snmp/remove-U64-typedef.patch new file mode 100644 index 000000000..51d7a369c --- /dev/null +++ b/user/net-snmp/remove-U64-typedef.patch @@ -0,0 +1,2519 @@ +From 477b4307ef12ddce3b6a9205e0bdddbfb2e0e9b6 Mon Sep 17 00:00:00 2001 +From: Bart Van Assche <bvanassche@acm.org> +Date: Sat, 20 Feb 2016 18:58:18 -0800 +Subject: [PATCH] Remove U64 typedef + +The U64 typedef conflicts with a typedef in a Perl header file. Hence +remove the U64 typedef from the Net-SNMP header files. This patch does +not modify the Net-SNMP ABI. +--- + agent/mibgroup/if-mib/ifXTable/ifXTable.c | 16 +- + agent/mibgroup/if-mib/ifXTable/ifXTable.h | 48 +- + .../mibgroup/if-mib/ifXTable/ifXTable_interface.c | 32 +- + .../ip-mib/data_access/systemstats_common.c | 2 +- + .../ipIfStatsTable/ipIfStatsTable_data_get.c | 28 +- + .../ipIfStatsTable/ipIfStatsTable_data_get.h | 28 +- + .../ipIfStatsTable/ipIfStatsTable_interface.c | 56 +- + .../ip-mib/ipSystemStatsTable/ipSystemStatsTable.c | 28 +- + .../ip-mib/ipSystemStatsTable/ipSystemStatsTable.h | 921 ++------------------- + .../ipSystemStatsTable_interface.c | 56 +- + include/net-snmp/data_access/ipstats.h | 42 +- + include/net-snmp/library/int64.h | 34 +- + snmplib/int64.c | 38 +- + snmplib/read_config.c | 6 +- + testing/fulltests/unit-tests/T015int64_clib.c | 10 +- + 15 files changed, 274 insertions(+), 1071 deletions(-) + +diff --git a/agent/mibgroup/if-mib/ifXTable/ifXTable.c b/agent/mibgroup/if-mib/ifXTable/ifXTable.c +index bb3e736..0c952ba 100644 +--- a/agent/mibgroup/if-mib/ifXTable/ifXTable.c ++++ b/agent/mibgroup/if-mib/ifXTable/ifXTable.c +@@ -722,7 +722,7 @@ The total number of octets received on the interface, + */ + int + ifHCInOctets_get(ifXTable_rowreq_ctx * rowreq_ctx, +- U64 * ifHCInOctets_val_ptr) ++ struct counter64 *ifHCInOctets_val_ptr) + { + /** we should have a non-NULL pointer */ + netsnmp_assert(NULL != ifHCInOctets_val_ptr); +@@ -779,7 +779,7 @@ The number of packets, delivered by this sub-layer to a + */ + int + ifHCInUcastPkts_get(ifXTable_rowreq_ctx * rowreq_ctx, +- U64 * ifHCInUcastPkts_val_ptr) ++ struct counter64 *ifHCInUcastPkts_val_ptr) + { + /** we should have a non-NULL pointer */ + netsnmp_assert(NULL != ifHCInUcastPkts_val_ptr); +@@ -838,7 +838,7 @@ The number of packets, delivered by this sub-layer to a + */ + int + ifHCInMulticastPkts_get(ifXTable_rowreq_ctx * rowreq_ctx, +- U64 * ifHCInMulticastPkts_val_ptr) ++ struct counter64 *ifHCInMulticastPkts_val_ptr) + { + /** we should have a non-NULL pointer */ + netsnmp_assert(NULL != ifHCInMulticastPkts_val_ptr); +@@ -897,7 +897,7 @@ The number of packets, delivered by this sub-layer to a + */ + int + ifHCInBroadcastPkts_get(ifXTable_rowreq_ctx * rowreq_ctx, +- U64 * ifHCInBroadcastPkts_val_ptr) ++ struct counter64 *ifHCInBroadcastPkts_val_ptr) + { + /** we should have a non-NULL pointer */ + netsnmp_assert(NULL != ifHCInBroadcastPkts_val_ptr); +@@ -955,7 +955,7 @@ The total number of octets transmitted out of the + */ + int + ifHCOutOctets_get(ifXTable_rowreq_ctx * rowreq_ctx, +- U64 * ifHCOutOctets_val_ptr) ++ struct counter64 *ifHCOutOctets_val_ptr) + { + /** we should have a non-NULL pointer */ + netsnmp_assert(NULL != ifHCOutOctets_val_ptr); +@@ -1013,7 +1013,7 @@ The total number of packets that higher-level protocols + */ + int + ifHCOutUcastPkts_get(ifXTable_rowreq_ctx * rowreq_ctx, +- U64 * ifHCOutUcastPkts_val_ptr) ++ struct counter64 *ifHCOutUcastPkts_val_ptr) + { + /** we should have a non-NULL pointer */ + netsnmp_assert(NULL != ifHCOutUcastPkts_val_ptr); +@@ -1074,7 +1074,7 @@ The total number of packets that higher-level protocols + */ + int + ifHCOutMulticastPkts_get(ifXTable_rowreq_ctx * rowreq_ctx, +- U64 * ifHCOutMulticastPkts_val_ptr) ++ struct counter64 *ifHCOutMulticastPkts_val_ptr) + { + /** we should have a non-NULL pointer */ + netsnmp_assert(NULL != ifHCOutMulticastPkts_val_ptr); +@@ -1134,7 +1134,7 @@ The total number of packets that higher-level protocols + */ + int + ifHCOutBroadcastPkts_get(ifXTable_rowreq_ctx * rowreq_ctx, +- U64 * ifHCOutBroadcastPkts_val_ptr) ++ struct counter64 *ifHCOutBroadcastPkts_val_ptr) + { + /** we should have a non-NULL pointer */ + netsnmp_assert(NULL != ifHCOutBroadcastPkts_val_ptr); +diff --git a/agent/mibgroup/if-mib/ifXTable/ifXTable.h b/agent/mibgroup/if-mib/ifXTable/ifXTable.h +index ba22f97..925af13 100644 +--- a/agent/mibgroup/if-mib/ifXTable/ifXTable.h ++++ b/agent/mibgroup/if-mib/ifXTable/ifXTable.h +@@ -143,28 +143,28 @@ config_require(if-mib/ifXTable/ifXTable_data_access) + u_long * + ifOutBroadcastPkts_val_ptr); + int ifHCInOctets_get(ifXTable_rowreq_ctx * rowreq_ctx, +- U64 * ifHCInOctets_val_ptr); ++ struct counter64 *ifHCInOctets_val_ptr); + int ifHCInUcastPkts_get(ifXTable_rowreq_ctx * rowreq_ctx, +- U64 * ifHCInUcastPkts_val_ptr); ++ struct counter64 *ifHCInUcastPkts_val_ptr); + int ifHCInMulticastPkts_get(ifXTable_rowreq_ctx * + rowreq_ctx, +- U64 * ++ struct counter64 * + ifHCInMulticastPkts_val_ptr); + int ifHCInBroadcastPkts_get(ifXTable_rowreq_ctx * + rowreq_ctx, +- U64 * ++ struct counter64 * + ifHCInBroadcastPkts_val_ptr); + int ifHCOutOctets_get(ifXTable_rowreq_ctx * rowreq_ctx, +- U64 * ifHCOutOctets_val_ptr); ++ struct counter64 *ifHCOutOctets_val_ptr); + int ifHCOutUcastPkts_get(ifXTable_rowreq_ctx * rowreq_ctx, +- U64 * ifHCOutUcastPkts_val_ptr); ++ struct counter64 *ifHCOutUcastPkts_val_ptr); + int ifHCOutMulticastPkts_get(ifXTable_rowreq_ctx * + rowreq_ctx, +- U64 * ++ struct counter64 * + ifHCOutMulticastPkts_val_ptr); + int ifHCOutBroadcastPkts_get(ifXTable_rowreq_ctx * + rowreq_ctx, +- U64 * ++ struct counter64 * + ifHCOutBroadcastPkts_val_ptr); + int ifLinkUpDownTrapEnable_get(ifXTable_rowreq_ctx * + rowreq_ctx, +@@ -284,86 +284,86 @@ config_require(if-mib/ifXTable/ifXTable_data_access) + + int ifHCInOctets_check_value(ifXTable_rowreq_ctx * + rowreq_ctx, +- U64 ifHCInOctets_val); ++ struct counter64 ifHCInOctets_val); + int ifHCInOctets_undo_setup(ifXTable_rowreq_ctx * + rowreq_ctx); + int ifHCInOctets_set(ifXTable_rowreq_ctx * rowreq_ctx, +- U64 ifHCInOctets_val); ++ struct counter64 ifHCInOctets_val); + int ifHCInOctets_undo(ifXTable_rowreq_ctx * rowreq_ctx); + + int ifHCInUcastPkts_check_value(ifXTable_rowreq_ctx * + rowreq_ctx, +- U64 ifHCInUcastPkts_val); ++ struct counter64 ifHCInUcastPkts_val); + int ifHCInUcastPkts_undo_setup(ifXTable_rowreq_ctx * + rowreq_ctx); + int ifHCInUcastPkts_set(ifXTable_rowreq_ctx * rowreq_ctx, +- U64 ifHCInUcastPkts_val); ++ struct counter64 ifHCInUcastPkts_val); + int ifHCInUcastPkts_undo(ifXTable_rowreq_ctx * rowreq_ctx); + + int ifHCInMulticastPkts_check_value(ifXTable_rowreq_ctx * + rowreq_ctx, +- U64 ++ struct counter64 + ifHCInMulticastPkts_val); + int ifHCInMulticastPkts_undo_setup(ifXTable_rowreq_ctx * + rowreq_ctx); + int ifHCInMulticastPkts_set(ifXTable_rowreq_ctx * + rowreq_ctx, +- U64 ifHCInMulticastPkts_val); ++ struct counter64 ifHCInMulticastPkts_val); + int ifHCInMulticastPkts_undo(ifXTable_rowreq_ctx * + rowreq_ctx); + + int ifHCInBroadcastPkts_check_value(ifXTable_rowreq_ctx * + rowreq_ctx, +- U64 ++ struct counter64 + ifHCInBroadcastPkts_val); + int ifHCInBroadcastPkts_undo_setup(ifXTable_rowreq_ctx * + rowreq_ctx); + int ifHCInBroadcastPkts_set(ifXTable_rowreq_ctx * + rowreq_ctx, +- U64 ifHCInBroadcastPkts_val); ++ struct counter64 ifHCInBroadcastPkts_val); + int ifHCInBroadcastPkts_undo(ifXTable_rowreq_ctx * + rowreq_ctx); + + int ifHCOutOctets_check_value(ifXTable_rowreq_ctx * + rowreq_ctx, +- U64 ifHCOutOctets_val); ++ struct counter64 ifHCOutOctets_val); + int ifHCOutOctets_undo_setup(ifXTable_rowreq_ctx * + rowreq_ctx); + int ifHCOutOctets_set(ifXTable_rowreq_ctx * rowreq_ctx, +- U64 ifHCOutOctets_val); ++ struct counter64 ifHCOutOctets_val); + int ifHCOutOctets_undo(ifXTable_rowreq_ctx * rowreq_ctx); + + int ifHCOutUcastPkts_check_value(ifXTable_rowreq_ctx * + rowreq_ctx, +- U64 ifHCOutUcastPkts_val); ++ struct counter64 ifHCOutUcastPkts_val); + int ifHCOutUcastPkts_undo_setup(ifXTable_rowreq_ctx * + rowreq_ctx); + int ifHCOutUcastPkts_set(ifXTable_rowreq_ctx * rowreq_ctx, +- U64 ifHCOutUcastPkts_val); ++ struct counter64 ifHCOutUcastPkts_val); + int ifHCOutUcastPkts_undo(ifXTable_rowreq_ctx * + rowreq_ctx); + + int ifHCOutMulticastPkts_check_value(ifXTable_rowreq_ctx * + rowreq_ctx, +- U64 ++ struct counter64 + ifHCOutMulticastPkts_val); + int ifHCOutMulticastPkts_undo_setup(ifXTable_rowreq_ctx * + rowreq_ctx); + int ifHCOutMulticastPkts_set(ifXTable_rowreq_ctx * + rowreq_ctx, +- U64 ifHCOutMulticastPkts_val); ++ struct counter64 ifHCOutMulticastPkts_val); + int ifHCOutMulticastPkts_undo(ifXTable_rowreq_ctx * + rowreq_ctx); + + int ifHCOutBroadcastPkts_check_value(ifXTable_rowreq_ctx * + rowreq_ctx, +- U64 ++ struct counter64 + ifHCOutBroadcastPkts_val); + int ifHCOutBroadcastPkts_undo_setup(ifXTable_rowreq_ctx * + rowreq_ctx); + int ifHCOutBroadcastPkts_set(ifXTable_rowreq_ctx * + rowreq_ctx, +- U64 ifHCOutBroadcastPkts_val); ++ struct counter64 ifHCOutBroadcastPkts_val); + int ifHCOutBroadcastPkts_undo(ifXTable_rowreq_ctx * + rowreq_ctx); + +diff --git a/agent/mibgroup/if-mib/ifXTable/ifXTable_interface.c b/agent/mibgroup/if-mib/ifXTable/ifXTable_interface.c +index 23b50d0..e561842 100644 +--- a/agent/mibgroup/if-mib/ifXTable/ifXTable_interface.c ++++ b/agent/mibgroup/if-mib/ifXTable/ifXTable_interface.c +@@ -729,72 +729,72 @@ _ifXTable_get_column(ifXTable_rowreq_ctx * rowreq_ctx, + * ifHCInOctets(6)/COUNTER64/ASN_COUNTER64/U64(U64)//l/A/w/e/r/d/h + */ + case COLUMN_IFHCINOCTETS: +- var->val_len = sizeof(U64); ++ var->val_len = sizeof(struct counter64); + var->type = ASN_COUNTER64; +- rc = ifHCInOctets_get(rowreq_ctx, (U64 *) var->val.string); ++ rc = ifHCInOctets_get(rowreq_ctx, (struct counter64 *) var->val.string); + break; + + /* + * ifHCInUcastPkts(7)/COUNTER64/ASN_COUNTER64/U64(U64)//l/A/w/e/r/d/h + */ + case COLUMN_IFHCINUCASTPKTS: +- var->val_len = sizeof(U64); ++ var->val_len = sizeof(struct counter64); + var->type = ASN_COUNTER64; +- rc = ifHCInUcastPkts_get(rowreq_ctx, (U64 *) var->val.string); ++ rc = ifHCInUcastPkts_get(rowreq_ctx, (struct counter64 *) var->val.string); + break; + + /* + * ifHCInMulticastPkts(8)/COUNTER64/ASN_COUNTER64/U64(U64)//l/A/w/e/r/d/h + */ + case COLUMN_IFHCINMULTICASTPKTS: +- var->val_len = sizeof(U64); ++ var->val_len = sizeof(struct counter64); + var->type = ASN_COUNTER64; +- rc = ifHCInMulticastPkts_get(rowreq_ctx, (U64 *) var->val.string); ++ rc = ifHCInMulticastPkts_get(rowreq_ctx, (struct counter64 *) var->val.string); + break; + + /* + * ifHCInBroadcastPkts(9)/COUNTER64/ASN_COUNTER64/U64(U64)//l/A/w/e/r/d/h + */ + case COLUMN_IFHCINBROADCASTPKTS: +- var->val_len = sizeof(U64); ++ var->val_len = sizeof(struct counter64); + var->type = ASN_COUNTER64; +- rc = ifHCInBroadcastPkts_get(rowreq_ctx, (U64 *) var->val.string); ++ rc = ifHCInBroadcastPkts_get(rowreq_ctx, (struct counter64 *) var->val.string); + break; + + /* + * ifHCOutOctets(10)/COUNTER64/ASN_COUNTER64/U64(U64)//l/A/w/e/r/d/h + */ + case COLUMN_IFHCOUTOCTETS: +- var->val_len = sizeof(U64); ++ var->val_len = sizeof(struct counter64); + var->type = ASN_COUNTER64; +- rc = ifHCOutOctets_get(rowreq_ctx, (U64 *) var->val.string); ++ rc = ifHCOutOctets_get(rowreq_ctx, (struct counter64 *) var->val.string); + break; + + /* + * ifHCOutUcastPkts(11)/COUNTER64/ASN_COUNTER64/U64(U64)//l/A/w/e/r/d/h + */ + case COLUMN_IFHCOUTUCASTPKTS: +- var->val_len = sizeof(U64); ++ var->val_len = sizeof(struct counter64); + var->type = ASN_COUNTER64; +- rc = ifHCOutUcastPkts_get(rowreq_ctx, (U64 *) var->val.string); ++ rc = ifHCOutUcastPkts_get(rowreq_ctx, (struct counter64 *) var->val.string); + break; + + /* + * ifHCOutMulticastPkts(12)/COUNTER64/ASN_COUNTER64/U64(U64)//l/A/w/e/r/d/h + */ + case COLUMN_IFHCOUTMULTICASTPKTS: +- var->val_len = sizeof(U64); ++ var->val_len = sizeof(struct counter64); + var->type = ASN_COUNTER64; +- rc = ifHCOutMulticastPkts_get(rowreq_ctx, (U64 *) var->val.string); ++ rc = ifHCOutMulticastPkts_get(rowreq_ctx, (struct counter64 *) var->val.string); + break; + + /* + * ifHCOutBroadcastPkts(13)/COUNTER64/ASN_COUNTER64/U64(U64)//l/A/w/e/r/d/h + */ + case COLUMN_IFHCOUTBROADCASTPKTS: +- var->val_len = sizeof(U64); ++ var->val_len = sizeof(struct counter64); + var->type = ASN_COUNTER64; +- rc = ifHCOutBroadcastPkts_get(rowreq_ctx, (U64 *) var->val.string); ++ rc = ifHCOutBroadcastPkts_get(rowreq_ctx, (struct counter64 *) var->val.string); + break; + + /* +diff --git a/agent/mibgroup/ip-mib/data_access/systemstats_common.c b/agent/mibgroup/ip-mib/data_access/systemstats_common.c +index 29109bd..7434b3a 100644 +--- a/agent/mibgroup/ip-mib/data_access/systemstats_common.c ++++ b/agent/mibgroup/ip-mib/data_access/systemstats_common.c +@@ -264,7 +264,7 @@ _calculate_entries(netsnmp_systemstats_entry * entry) + && entry->stats.columnAvail[IPSYSTEMSTATSTABLE_HCOUTFRAGCREATES] + && entry->stats.columnAvail[IPSYSTEMSTATSTABLE_HCOUTDISCARDS]) { + +- U64 tmp, tmp2, tmp3; ++ struct counter64 tmp, tmp2, tmp3; + tmp = entry->stats.HCOutRequests; + u64Incr(&tmp, &entry->stats.HCOutForwDatagrams); + u64Incr(&tmp, &entry->stats.HCOutFragCreates); +diff --git a/agent/mibgroup/ip-mib/ipIfStatsTable/ipIfStatsTable_data_get.c b/agent/mibgroup/ip-mib/ipIfStatsTable/ipIfStatsTable_data_get.c +index db673dc..fec36b2 100644 +--- a/agent/mibgroup/ip-mib/ipIfStatsTable/ipIfStatsTable_data_get.c ++++ b/agent/mibgroup/ip-mib/ipIfStatsTable/ipIfStatsTable_data_get.c +@@ -270,7 +270,7 @@ The total number of input IP datagrams received, including + */ + int + ipIfStatsHCInReceives_get(ipIfStatsTable_rowreq_ctx * rowreq_ctx, +- U64 * ipIfStatsHCInReceives_val_ptr) ++ struct counter64 *ipIfStatsHCInReceives_val_ptr) + { + /** we should have a non-NULL pointer */ + netsnmp_assert(NULL != ipIfStatsHCInReceives_val_ptr); +@@ -395,7 +395,7 @@ The total number of octets received in input IP datagrams, + */ + int + ipIfStatsHCInOctets_get(ipIfStatsTable_rowreq_ctx * rowreq_ctx, +- U64 * ipIfStatsHCInOctets_val_ptr) ++ struct counter64 *ipIfStatsHCInOctets_val_ptr) + { + /** we should have a non-NULL pointer */ + netsnmp_assert(NULL != ipIfStatsHCInOctets_val_ptr); +@@ -862,7 +862,7 @@ The number of input datagrams for which this entity was not + */ + int + ipIfStatsHCInForwDatagrams_get(ipIfStatsTable_rowreq_ctx * rowreq_ctx, +- U64 * ipIfStatsHCInForwDatagrams_val_ptr) ++ struct counter64 *ipIfStatsHCInForwDatagrams_val_ptr) + { + /** we should have a non-NULL pointer */ + netsnmp_assert(NULL != ipIfStatsHCInForwDatagrams_val_ptr); +@@ -1267,7 +1267,7 @@ The total number of datagrams successfully delivered to IP + */ + int + ipIfStatsHCInDelivers_get(ipIfStatsTable_rowreq_ctx * rowreq_ctx, +- U64 * ipIfStatsHCInDelivers_val_ptr) ++ struct counter64 *ipIfStatsHCInDelivers_val_ptr) + { + /** we should have a non-NULL pointer */ + netsnmp_assert(NULL != ipIfStatsHCInDelivers_val_ptr); +@@ -1396,7 +1396,7 @@ The total number of IP datagrams that local IP user- + */ + int + ipIfStatsHCOutRequests_get(ipIfStatsTable_rowreq_ctx * rowreq_ctx, +- U64 * ipIfStatsHCOutRequests_val_ptr) ++ struct counter64 *ipIfStatsHCOutRequests_val_ptr) + { + /** we should have a non-NULL pointer */ + netsnmp_assert(NULL != ipIfStatsHCOutRequests_val_ptr); +@@ -1532,7 +1532,7 @@ The number of datagrams for which this entity was not their + */ + int + ipIfStatsHCOutForwDatagrams_get(ipIfStatsTable_rowreq_ctx * rowreq_ctx, +- U64 * ipIfStatsHCOutForwDatagrams_val_ptr) ++ struct counter64 *ipIfStatsHCOutForwDatagrams_val_ptr) + { + /** we should have a non-NULL pointer */ + netsnmp_assert(NULL != ipIfStatsHCOutForwDatagrams_val_ptr); +@@ -1999,7 +1999,7 @@ The total number of IP datagrams that this entity supplied + */ + int + ipIfStatsHCOutTransmits_get(ipIfStatsTable_rowreq_ctx * rowreq_ctx, +- U64 * ipIfStatsHCOutTransmits_val_ptr) ++ struct counter64 *ipIfStatsHCOutTransmits_val_ptr) + { + /** we should have a non-NULL pointer */ + netsnmp_assert(NULL != ipIfStatsHCOutTransmits_val_ptr); +@@ -2123,7 +2123,7 @@ The total number of octets in IP datagrams delivered to the + */ + int + ipIfStatsHCOutOctets_get(ipIfStatsTable_rowreq_ctx * rowreq_ctx, +- U64 * ipIfStatsHCOutOctets_val_ptr) ++ struct counter64 *ipIfStatsHCOutOctets_val_ptr) + { + /** we should have a non-NULL pointer */ + netsnmp_assert(NULL != ipIfStatsHCOutOctets_val_ptr); +@@ -2245,7 +2245,7 @@ The number of IP multicast datagrams received. This object + */ + int + ipIfStatsHCInMcastPkts_get(ipIfStatsTable_rowreq_ctx * rowreq_ctx, +- U64 * ipIfStatsHCInMcastPkts_val_ptr) ++ struct counter64 *ipIfStatsHCInMcastPkts_val_ptr) + { + /** we should have a non-NULL pointer */ + netsnmp_assert(NULL != ipIfStatsHCInMcastPkts_val_ptr); +@@ -2372,7 +2372,7 @@ The total number of octets received in IP multicast + */ + int + ipIfStatsHCInMcastOctets_get(ipIfStatsTable_rowreq_ctx * rowreq_ctx, +- U64 * ipIfStatsHCInMcastOctets_val_ptr) ++ struct counter64 *ipIfStatsHCInMcastOctets_val_ptr) + { + /** we should have a non-NULL pointer */ + netsnmp_assert(NULL != ipIfStatsHCInMcastOctets_val_ptr); +@@ -2497,7 +2497,7 @@ The number of IP multicast datagrams transmitted. This + */ + int + ipIfStatsHCOutMcastPkts_get(ipIfStatsTable_rowreq_ctx * rowreq_ctx, +- U64 * ipIfStatsHCOutMcastPkts_val_ptr) ++ struct counter64 *ipIfStatsHCOutMcastPkts_val_ptr) + { + /** we should have a non-NULL pointer */ + netsnmp_assert(NULL != ipIfStatsHCOutMcastPkts_val_ptr); +@@ -2621,7 +2621,7 @@ The total number of octets transmitted in IP multicast + */ + int + ipIfStatsHCOutMcastOctets_get(ipIfStatsTable_rowreq_ctx * rowreq_ctx, +- U64 * ipIfStatsHCOutMcastOctets_val_ptr) ++ struct counter64 *ipIfStatsHCOutMcastOctets_val_ptr) + { + /** we should have a non-NULL pointer */ + netsnmp_assert(NULL != ipIfStatsHCOutMcastOctets_val_ptr); +@@ -2743,7 +2743,7 @@ The number of IP broadcast datagrams received. This object + */ + int + ipIfStatsHCInBcastPkts_get(ipIfStatsTable_rowreq_ctx * rowreq_ctx, +- U64 * ipIfStatsHCInBcastPkts_val_ptr) ++ struct counter64 *ipIfStatsHCInBcastPkts_val_ptr) + { + /** we should have a non-NULL pointer */ + netsnmp_assert(NULL != ipIfStatsHCInBcastPkts_val_ptr); +@@ -2865,7 +2865,7 @@ The number of IP broadcast datagrams transmitted. This + */ + int + ipIfStatsHCOutBcastPkts_get(ipIfStatsTable_rowreq_ctx * rowreq_ctx, +- U64 * ipIfStatsHCOutBcastPkts_val_ptr) ++ struct counter64 *ipIfStatsHCOutBcastPkts_val_ptr) + { + /** we should have a non-NULL pointer */ + netsnmp_assert(NULL != ipIfStatsHCOutBcastPkts_val_ptr); +diff --git a/agent/mibgroup/ip-mib/ipIfStatsTable/ipIfStatsTable_data_get.h b/agent/mibgroup/ip-mib/ipIfStatsTable/ipIfStatsTable_data_get.h +index 0cc7e47..ad5d8a0 100644 +--- a/agent/mibgroup/ip-mib/ipIfStatsTable/ipIfStatsTable_data_get.h ++++ b/agent/mibgroup/ip-mib/ipIfStatsTable/ipIfStatsTable_data_get.h +@@ -50,7 +50,7 @@ extern "C" { + ipIfStatsInReceives_val_ptr); + int ipIfStatsHCInReceives_get(ipIfStatsTable_rowreq_ctx * + rowreq_ctx, +- U64 * ++ struct counter64 * + ipIfStatsHCInReceives_val_ptr); + int ipIfStatsInOctets_get(ipIfStatsTable_rowreq_ctx * + rowreq_ctx, +@@ -58,7 +58,7 @@ extern "C" { + ipIfStatsInOctets_val_ptr); + int ipIfStatsHCInOctets_get(ipIfStatsTable_rowreq_ctx * + rowreq_ctx, +- U64 * ++ struct counter64 * + ipIfStatsHCInOctets_val_ptr); + int ipIfStatsInHdrErrors_get(ipIfStatsTable_rowreq_ctx * + rowreq_ctx, +@@ -87,7 +87,7 @@ extern "C" { + int + ipIfStatsHCInForwDatagrams_get(ipIfStatsTable_rowreq_ctx * + rowreq_ctx, +- U64 * ++ struct counter64 * + ipIfStatsHCInForwDatagrams_val_ptr); + int ipIfStatsReasmReqds_get(ipIfStatsTable_rowreq_ctx * + rowreq_ctx, +@@ -111,7 +111,7 @@ extern "C" { + ipIfStatsInDelivers_val_ptr); + int ipIfStatsHCInDelivers_get(ipIfStatsTable_rowreq_ctx * + rowreq_ctx, +- U64 * ++ struct counter64 * + ipIfStatsHCInDelivers_val_ptr); + int ipIfStatsOutRequests_get(ipIfStatsTable_rowreq_ctx * + rowreq_ctx, +@@ -119,7 +119,7 @@ extern "C" { + ipIfStatsOutRequests_val_ptr); + int ipIfStatsHCOutRequests_get(ipIfStatsTable_rowreq_ctx * + rowreq_ctx, +- U64 * ++ struct counter64 * + ipIfStatsHCOutRequests_val_ptr); + int ipIfStatsOutForwDatagrams_get(ipIfStatsTable_rowreq_ctx + * rowreq_ctx, +@@ -128,7 +128,7 @@ extern "C" { + int + ipIfStatsHCOutForwDatagrams_get(ipIfStatsTable_rowreq_ctx * + rowreq_ctx, +- U64 * ++ struct counter64 * + ipIfStatsHCOutForwDatagrams_val_ptr); + int ipIfStatsOutDiscards_get(ipIfStatsTable_rowreq_ctx * + rowreq_ctx, +@@ -156,7 +156,7 @@ extern "C" { + ipIfStatsOutTransmits_val_ptr); + int ipIfStatsHCOutTransmits_get(ipIfStatsTable_rowreq_ctx * + rowreq_ctx, +- U64 * ++ struct counter64 * + ipIfStatsHCOutTransmits_val_ptr); + int ipIfStatsOutOctets_get(ipIfStatsTable_rowreq_ctx * + rowreq_ctx, +@@ -164,7 +164,7 @@ extern "C" { + ipIfStatsOutOctets_val_ptr); + int ipIfStatsHCOutOctets_get(ipIfStatsTable_rowreq_ctx * + rowreq_ctx, +- U64 * ++ struct counter64 * + ipIfStatsHCOutOctets_val_ptr); + int ipIfStatsInMcastPkts_get(ipIfStatsTable_rowreq_ctx * + rowreq_ctx, +@@ -172,7 +172,7 @@ extern "C" { + ipIfStatsInMcastPkts_val_ptr); + int ipIfStatsHCInMcastPkts_get(ipIfStatsTable_rowreq_ctx * + rowreq_ctx, +- U64 * ++ struct counter64 * + ipIfStatsHCInMcastPkts_val_ptr); + int ipIfStatsInMcastOctets_get(ipIfStatsTable_rowreq_ctx * + rowreq_ctx, +@@ -180,7 +180,7 @@ extern "C" { + ipIfStatsInMcastOctets_val_ptr); + int ipIfStatsHCInMcastOctets_get(ipIfStatsTable_rowreq_ctx + * rowreq_ctx, +- U64 * ++ struct counter64 * + ipIfStatsHCInMcastOctets_val_ptr); + int ipIfStatsOutMcastPkts_get(ipIfStatsTable_rowreq_ctx * + rowreq_ctx, +@@ -188,7 +188,7 @@ extern "C" { + ipIfStatsOutMcastPkts_val_ptr); + int ipIfStatsHCOutMcastPkts_get(ipIfStatsTable_rowreq_ctx * + rowreq_ctx, +- U64 * ++ struct counter64 * + ipIfStatsHCOutMcastPkts_val_ptr); + int ipIfStatsOutMcastOctets_get(ipIfStatsTable_rowreq_ctx * + rowreq_ctx, +@@ -196,7 +196,7 @@ extern "C" { + ipIfStatsOutMcastOctets_val_ptr); + int ipIfStatsHCOutMcastOctets_get(ipIfStatsTable_rowreq_ctx + * rowreq_ctx, +- U64 * ++ struct counter64 * + ipIfStatsHCOutMcastOctets_val_ptr); + int ipIfStatsInBcastPkts_get(ipIfStatsTable_rowreq_ctx * + rowreq_ctx, +@@ -204,7 +204,7 @@ extern "C" { + ipIfStatsInBcastPkts_val_ptr); + int ipIfStatsHCInBcastPkts_get(ipIfStatsTable_rowreq_ctx * + rowreq_ctx, +- U64 * ++ struct counter64 * + ipIfStatsHCInBcastPkts_val_ptr); + int ipIfStatsOutBcastPkts_get(ipIfStatsTable_rowreq_ctx * + rowreq_ctx, +@@ -212,7 +212,7 @@ extern "C" { + ipIfStatsOutBcastPkts_val_ptr); + int ipIfStatsHCOutBcastPkts_get(ipIfStatsTable_rowreq_ctx * + rowreq_ctx, +- U64 * ++ struct counter64 * + ipIfStatsHCOutBcastPkts_val_ptr); + int + ipIfStatsDiscontinuityTime_get(ipIfStatsTable_rowreq_ctx * +diff --git a/agent/mibgroup/ip-mib/ipIfStatsTable/ipIfStatsTable_interface.c b/agent/mibgroup/ip-mib/ipIfStatsTable/ipIfStatsTable_interface.c +index 559d1c1..4955a8b 100644 +--- a/agent/mibgroup/ip-mib/ipIfStatsTable/ipIfStatsTable_interface.c ++++ b/agent/mibgroup/ip-mib/ipIfStatsTable/ipIfStatsTable_interface.c +@@ -722,10 +722,10 @@ _ipIfStatsTable_get_column(ipIfStatsTable_rowreq_ctx * rowreq_ctx, + * ipIfStatsHCInReceives(4)/COUNTER64/ASN_COUNTER64/U64(U64)//l/A/w/e/r/d/h + */ + case COLUMN_IPIFSTATSHCINRECEIVES: +- var->val_len = sizeof(U64); ++ var->val_len = sizeof(struct counter64); + var->type = ASN_COUNTER64; + rc = ipIfStatsHCInReceives_get(rowreq_ctx, +- (U64 *) var->val.string); ++ (struct counter64 *) var->val.string); + break; + + /* +@@ -741,9 +741,9 @@ _ipIfStatsTable_get_column(ipIfStatsTable_rowreq_ctx * rowreq_ctx, + * ipIfStatsHCInOctets(6)/COUNTER64/ASN_COUNTER64/U64(U64)//l/A/w/e/r/d/h + */ + case COLUMN_IPIFSTATSHCINOCTETS: +- var->val_len = sizeof(U64); ++ var->val_len = sizeof(struct counter64); + var->type = ASN_COUNTER64; +- rc = ipIfStatsHCInOctets_get(rowreq_ctx, (U64 *) var->val.string); ++ rc = ipIfStatsHCInOctets_get(rowreq_ctx, (struct counter64 *) var->val.string); + break; + + /* +@@ -810,10 +810,10 @@ _ipIfStatsTable_get_column(ipIfStatsTable_rowreq_ctx * rowreq_ctx, + * ipIfStatsHCInForwDatagrams(13)/COUNTER64/ASN_COUNTER64/U64(U64)//l/A/w/e/r/d/h + */ + case COLUMN_IPIFSTATSHCINFORWDATAGRAMS: +- var->val_len = sizeof(U64); ++ var->val_len = sizeof(struct counter64); + var->type = ASN_COUNTER64; + rc = ipIfStatsHCInForwDatagrams_get(rowreq_ctx, +- (U64 *) var->val.string); ++ (struct counter64 *) var->val.string); + break; + + /* +@@ -869,10 +869,10 @@ _ipIfStatsTable_get_column(ipIfStatsTable_rowreq_ctx * rowreq_ctx, + * ipIfStatsHCInDelivers(19)/COUNTER64/ASN_COUNTER64/U64(U64)//l/A/w/e/r/d/h + */ + case COLUMN_IPIFSTATSHCINDELIVERS: +- var->val_len = sizeof(U64); ++ var->val_len = sizeof(struct counter64); + var->type = ASN_COUNTER64; + rc = ipIfStatsHCInDelivers_get(rowreq_ctx, +- (U64 *) var->val.string); ++ (struct counter64 *) var->val.string); + break; + + /* +@@ -889,10 +889,10 @@ _ipIfStatsTable_get_column(ipIfStatsTable_rowreq_ctx * rowreq_ctx, + * ipIfStatsHCOutRequests(21)/COUNTER64/ASN_COUNTER64/U64(U64)//l/A/w/e/r/d/h + */ + case COLUMN_IPIFSTATSHCOUTREQUESTS: +- var->val_len = sizeof(U64); ++ var->val_len = sizeof(struct counter64); + var->type = ASN_COUNTER64; + rc = ipIfStatsHCOutRequests_get(rowreq_ctx, +- (U64 *) var->val.string); ++ (struct counter64 *) var->val.string); + break; + + /* +@@ -909,10 +909,10 @@ _ipIfStatsTable_get_column(ipIfStatsTable_rowreq_ctx * rowreq_ctx, + * ipIfStatsHCOutForwDatagrams(24)/COUNTER64/ASN_COUNTER64/U64(U64)//l/A/w/e/r/d/h + */ + case COLUMN_IPIFSTATSHCOUTFORWDATAGRAMS: +- var->val_len = sizeof(U64); ++ var->val_len = sizeof(struct counter64); + var->type = ASN_COUNTER64; + rc = ipIfStatsHCOutForwDatagrams_get(rowreq_ctx, +- (U64 *) var->val.string); ++ (struct counter64 *) var->val.string); + break; + + /* +@@ -979,10 +979,10 @@ _ipIfStatsTable_get_column(ipIfStatsTable_rowreq_ctx * rowreq_ctx, + * ipIfStatsHCOutTransmits(31)/COUNTER64/ASN_COUNTER64/U64(U64)//l/A/w/e/r/d/h + */ + case COLUMN_IPIFSTATSHCOUTTRANSMITS: +- var->val_len = sizeof(U64); ++ var->val_len = sizeof(struct counter64); + var->type = ASN_COUNTER64; + rc = ipIfStatsHCOutTransmits_get(rowreq_ctx, +- (U64 *) var->val.string); ++ (struct counter64 *) var->val.string); + break; + + /* +@@ -999,9 +999,9 @@ _ipIfStatsTable_get_column(ipIfStatsTable_rowreq_ctx * rowreq_ctx, + * ipIfStatsHCOutOctets(33)/COUNTER64/ASN_COUNTER64/U64(U64)//l/A/w/e/r/d/h + */ + case COLUMN_IPIFSTATSHCOUTOCTETS: +- var->val_len = sizeof(U64); ++ var->val_len = sizeof(struct counter64); + var->type = ASN_COUNTER64; +- rc = ipIfStatsHCOutOctets_get(rowreq_ctx, (U64 *) var->val.string); ++ rc = ipIfStatsHCOutOctets_get(rowreq_ctx, (struct counter64 *) var->val.string); + break; + + /* +@@ -1018,10 +1018,10 @@ _ipIfStatsTable_get_column(ipIfStatsTable_rowreq_ctx * rowreq_ctx, + * ipIfStatsHCInMcastPkts(35)/COUNTER64/ASN_COUNTER64/U64(U64)//l/A/w/e/r/d/h + */ + case COLUMN_IPIFSTATSHCINMCASTPKTS: +- var->val_len = sizeof(U64); ++ var->val_len = sizeof(struct counter64); + var->type = ASN_COUNTER64; + rc = ipIfStatsHCInMcastPkts_get(rowreq_ctx, +- (U64 *) var->val.string); ++ (struct counter64 *) var->val.string); + break; + + /* +@@ -1038,10 +1038,10 @@ _ipIfStatsTable_get_column(ipIfStatsTable_rowreq_ctx * rowreq_ctx, + * ipIfStatsHCInMcastOctets(37)/COUNTER64/ASN_COUNTER64/U64(U64)//l/A/w/e/r/d/h + */ + case COLUMN_IPIFSTATSHCINMCASTOCTETS: +- var->val_len = sizeof(U64); ++ var->val_len = sizeof(struct counter64); + var->type = ASN_COUNTER64; + rc = ipIfStatsHCInMcastOctets_get(rowreq_ctx, +- (U64 *) var->val.string); ++ (struct counter64 *) var->val.string); + break; + + /* +@@ -1058,10 +1058,10 @@ _ipIfStatsTable_get_column(ipIfStatsTable_rowreq_ctx * rowreq_ctx, + * ipIfStatsHCOutMcastPkts(39)/COUNTER64/ASN_COUNTER64/U64(U64)//l/A/w/e/r/d/h + */ + case COLUMN_IPIFSTATSHCOUTMCASTPKTS: +- var->val_len = sizeof(U64); ++ var->val_len = sizeof(struct counter64); + var->type = ASN_COUNTER64; + rc = ipIfStatsHCOutMcastPkts_get(rowreq_ctx, +- (U64 *) var->val.string); ++ (struct counter64 *) var->val.string); + break; + + /* +@@ -1078,10 +1078,10 @@ _ipIfStatsTable_get_column(ipIfStatsTable_rowreq_ctx * rowreq_ctx, + * ipIfStatsHCOutMcastOctets(41)/COUNTER64/ASN_COUNTER64/U64(U64)//l/A/w/e/r/d/h + */ + case COLUMN_IPIFSTATSHCOUTMCASTOCTETS: +- var->val_len = sizeof(U64); ++ var->val_len = sizeof(struct counter64); + var->type = ASN_COUNTER64; + rc = ipIfStatsHCOutMcastOctets_get(rowreq_ctx, +- (U64 *) var->val.string); ++ (struct counter64 *) var->val.string); + break; + + /* +@@ -1098,10 +1098,10 @@ _ipIfStatsTable_get_column(ipIfStatsTable_rowreq_ctx * rowreq_ctx, + * ipIfStatsHCInBcastPkts(43)/COUNTER64/ASN_COUNTER64/U64(U64)//l/A/w/e/r/d/h + */ + case COLUMN_IPIFSTATSHCINBCASTPKTS: +- var->val_len = sizeof(U64); ++ var->val_len = sizeof(struct counter64); + var->type = ASN_COUNTER64; + rc = ipIfStatsHCInBcastPkts_get(rowreq_ctx, +- (U64 *) var->val.string); ++ (struct counter64 *) var->val.string); + break; + + /* +@@ -1118,10 +1118,10 @@ _ipIfStatsTable_get_column(ipIfStatsTable_rowreq_ctx * rowreq_ctx, + * ipIfStatsHCOutBcastPkts(45)/COUNTER64/ASN_COUNTER64/U64(U64)//l/A/w/e/r/d/h + */ + case COLUMN_IPIFSTATSHCOUTBCASTPKTS: +- var->val_len = sizeof(U64); ++ var->val_len = sizeof(struct counter64); + var->type = ASN_COUNTER64; + rc = ipIfStatsHCOutBcastPkts_get(rowreq_ctx, +- (U64 *) var->val.string); ++ (struct counter64 *) var->val.string); + break; + + /* +diff --git a/agent/mibgroup/ip-mib/ipSystemStatsTable/ipSystemStatsTable.c b/agent/mibgroup/ip-mib/ipSystemStatsTable/ipSystemStatsTable.c +index 10587e2..5a9323f 100644 +--- a/agent/mibgroup/ip-mib/ipSystemStatsTable/ipSystemStatsTable.c ++++ b/agent/mibgroup/ip-mib/ipSystemStatsTable/ipSystemStatsTable.c +@@ -452,7 +452,7 @@ The total number of input IP datagrams received, including + */ + int + ipSystemStatsHCInReceives_get(ipSystemStatsTable_rowreq_ctx * rowreq_ctx, +- U64 * ipSystemStatsHCInReceives_val_ptr) ++ struct counter64 *ipSystemStatsHCInReceives_val_ptr) + { + /** we should have a non-NULL pointer */ + netsnmp_assert(NULL != ipSystemStatsHCInReceives_val_ptr); +@@ -579,7 +579,7 @@ The total number of octets received in input IP datagrams, + */ + int + ipSystemStatsHCInOctets_get(ipSystemStatsTable_rowreq_ctx * rowreq_ctx, +- U64 * ipSystemStatsHCInOctets_val_ptr) ++ struct counter64 *ipSystemStatsHCInOctets_val_ptr) + { + /** we should have a non-NULL pointer */ + netsnmp_assert(NULL != ipSystemStatsHCInOctets_val_ptr); +@@ -1058,7 +1058,7 @@ The number of input datagrams for which this entity was not + int + ipSystemStatsHCInForwDatagrams_get(ipSystemStatsTable_rowreq_ctx * + rowreq_ctx, +- U64 * ++ struct counter64 * + ipSystemStatsHCInForwDatagrams_val_ptr) + { + /** we should have a non-NULL pointer */ +@@ -1474,7 +1474,7 @@ The total number of datagrams successfully delivered to IP + */ + int + ipSystemStatsHCInDelivers_get(ipSystemStatsTable_rowreq_ctx * rowreq_ctx, +- U64 * ipSystemStatsHCInDelivers_val_ptr) ++ struct counter64 *ipSystemStatsHCInDelivers_val_ptr) + { + /** we should have a non-NULL pointer */ + netsnmp_assert(NULL != ipSystemStatsHCInDelivers_val_ptr); +@@ -1602,7 +1602,7 @@ The total number of IP datagrams which local IP user- + */ + int + ipSystemStatsHCOutRequests_get(ipSystemStatsTable_rowreq_ctx * rowreq_ctx, +- U64 * ipSystemStatsHCOutRequests_val_ptr) ++ struct counter64 *ipSystemStatsHCOutRequests_val_ptr) + { + /** we should have a non-NULL pointer */ + netsnmp_assert(NULL != ipSystemStatsHCOutRequests_val_ptr); +@@ -1809,7 +1809,7 @@ The number of datagrams for which this entity was not their + int + ipSystemStatsHCOutForwDatagrams_get(ipSystemStatsTable_rowreq_ctx * + rowreq_ctx, +- U64 * ++ struct counter64 * + ipSystemStatsHCOutForwDatagrams_val_ptr) + { + /** we should have a non-NULL pointer */ +@@ -2288,7 +2288,7 @@ The total number of IP datagrams that this entity supplied + */ + int + ipSystemStatsHCOutTransmits_get(ipSystemStatsTable_rowreq_ctx * rowreq_ctx, +- U64 * ipSystemStatsHCOutTransmits_val_ptr) ++ struct counter64 *ipSystemStatsHCOutTransmits_val_ptr) + { + /** we should have a non-NULL pointer */ + netsnmp_assert(NULL != ipSystemStatsHCOutTransmits_val_ptr); +@@ -2415,7 +2415,7 @@ The total number of octets in IP datagrams delivered to the + */ + int + ipSystemStatsHCOutOctets_get(ipSystemStatsTable_rowreq_ctx * rowreq_ctx, +- U64 * ipSystemStatsHCOutOctets_val_ptr) ++ struct counter64 *ipSystemStatsHCOutOctets_val_ptr) + { + /** we should have a non-NULL pointer */ + netsnmp_assert(NULL != ipSystemStatsHCOutOctets_val_ptr); +@@ -2539,7 +2539,7 @@ The number of IP multicast datagrams received. This object + */ + int + ipSystemStatsHCInMcastPkts_get(ipSystemStatsTable_rowreq_ctx * rowreq_ctx, +- U64 * ipSystemStatsHCInMcastPkts_val_ptr) ++ struct counter64 *ipSystemStatsHCInMcastPkts_val_ptr) + { + /** we should have a non-NULL pointer */ + netsnmp_assert(NULL != ipSystemStatsHCInMcastPkts_val_ptr); +@@ -2665,7 +2665,7 @@ The total number of octets received in IP multicast + int + ipSystemStatsHCInMcastOctets_get(ipSystemStatsTable_rowreq_ctx * + rowreq_ctx, +- U64 * ++ struct counter64 * + ipSystemStatsHCInMcastOctets_val_ptr) + { + /** we should have a non-NULL pointer */ +@@ -2790,7 +2790,7 @@ The number of IP multicast datagrams transmitted. This + */ + int + ipSystemStatsHCOutMcastPkts_get(ipSystemStatsTable_rowreq_ctx * rowreq_ctx, +- U64 * ipSystemStatsHCOutMcastPkts_val_ptr) ++ struct counter64 *ipSystemStatsHCOutMcastPkts_val_ptr) + { + /** we should have a non-NULL pointer */ + netsnmp_assert(NULL != ipSystemStatsHCOutMcastPkts_val_ptr); +@@ -2921,7 +2921,7 @@ The total number of octets transmitted in IP multicast + int + ipSystemStatsHCOutMcastOctets_get(ipSystemStatsTable_rowreq_ctx * + rowreq_ctx, +- U64 * ++ struct counter64 * + ipSystemStatsHCOutMcastOctets_val_ptr) + { + /** we should have a non-NULL pointer */ +@@ -3046,7 +3046,7 @@ The number of IP broadcast datagrams received. This object + */ + int + ipSystemStatsHCInBcastPkts_get(ipSystemStatsTable_rowreq_ctx * rowreq_ctx, +- U64 * ipSystemStatsHCInBcastPkts_val_ptr) ++ struct counter64 *ipSystemStatsHCInBcastPkts_val_ptr) + { + /** we should have a non-NULL pointer */ + netsnmp_assert(NULL != ipSystemStatsHCInBcastPkts_val_ptr); +@@ -3170,7 +3170,7 @@ The number of IP broadcast datagrams transmitted. This + */ + int + ipSystemStatsHCOutBcastPkts_get(ipSystemStatsTable_rowreq_ctx * rowreq_ctx, +- U64 * ipSystemStatsHCOutBcastPkts_val_ptr) ++ struct counter64 *ipSystemStatsHCOutBcastPkts_val_ptr) + { + /** we should have a non-NULL pointer */ + netsnmp_assert(NULL != ipSystemStatsHCOutBcastPkts_val_ptr); +diff --git a/agent/mibgroup/ip-mib/ipSystemStatsTable/ipSystemStatsTable.h b/agent/mibgroup/ip-mib/ipSystemStatsTable/ipSystemStatsTable.h +index ca1e1f3..5c3823e 100644 +--- a/agent/mibgroup/ip-mib/ipSystemStatsTable/ipSystemStatsTable.h ++++ b/agent/mibgroup/ip-mib/ipSystemStatsTable/ipSystemStatsTable.h +@@ -144,93 +144,22 @@ config_require(ip-mib/ipSystemStatsTable/ipSystemStatsTable_data_access) + ********************************************************************* + * function prototypes + */ +- int +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- ipSystemStatsTable_pre_request(ipSystemStatsTable_registration * ++ int ipSystemStatsTable_pre_request(ipSystemStatsTable_registration * + user_context); +- int +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- ipSystemStatsTable_post_request(ipSystemStatsTable_registration * ++ int ipSystemStatsTable_post_request(ipSystemStatsTable_registration * + user_context, int rc); + +- int +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- ipSystemStatsTable_rowreq_ctx_init(ipSystemStatsTable_rowreq_ctx * ++ int ipSystemStatsTable_rowreq_ctx_init(ipSystemStatsTable_rowreq_ctx * + rowreq_ctx, + void *user_init_ctx); + void +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- + ipSystemStatsTable_rowreq_ctx_cleanup(ipSystemStatsTable_rowreq_ctx + * rowreq_ctx); + + ipSystemStatsTable_data *ipSystemStatsTable_allocate_data(void); + void ipSystemStatsTable_release_data(ipSystemStatsTable_data + * data); +- +- +- +- +- +- +- +- +- ipSystemStatsTable_rowreq_ctx ++ ipSystemStatsTable_rowreq_ctx + * ipSystemStatsTable_row_find_by_mib_index + (ipSystemStatsTable_mib_index * mib_idx); + +@@ -265,226 +194,50 @@ config_require(ip-mib/ipSystemStatsTable/ipSystemStatsTable_data_access) + * indexes + */ + +- int +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- ipSystemStatsInReceives_get(ipSystemStatsTable_rowreq_ctx * ++ int ipSystemStatsInReceives_get(ipSystemStatsTable_rowreq_ctx * + rowreq_ctx, + u_long * + ipSystemStatsInReceives_val_ptr); +- int +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- ipSystemStatsHCInReceives_get(ipSystemStatsTable_rowreq_ctx * ++ int ipSystemStatsHCInReceives_get(ipSystemStatsTable_rowreq_ctx * + rowreq_ctx, +- U64 * ++ struct counter64 * + ipSystemStatsHCInReceives_val_ptr); + int ipSystemStatsInOctets_get(ipSystemStatsTable_rowreq_ctx + * rowreq_ctx, + u_long * + ipSystemStatsInOctets_val_ptr); +- int +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- ipSystemStatsHCInOctets_get(ipSystemStatsTable_rowreq_ctx * ++ int ipSystemStatsHCInOctets_get(ipSystemStatsTable_rowreq_ctx * + rowreq_ctx, +- U64 * ipSystemStatsHCInOctets_val_ptr); +- int +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- ipSystemStatsInHdrErrors_get(ipSystemStatsTable_rowreq_ctx * ++ struct counter64 *ipSystemStatsHCInOctets_val_ptr); ++ int ipSystemStatsInHdrErrors_get(ipSystemStatsTable_rowreq_ctx * + rowreq_ctx, + u_long * + ipSystemStatsInHdrErrors_val_ptr); +- int +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- ipSystemStatsInNoRoutes_get(ipSystemStatsTable_rowreq_ctx * ++ int ipSystemStatsInNoRoutes_get(ipSystemStatsTable_rowreq_ctx * + rowreq_ctx, + u_long * + ipSystemStatsInNoRoutes_val_ptr); +- int +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- ipSystemStatsInAddrErrors_get(ipSystemStatsTable_rowreq_ctx * ++ int ipSystemStatsInAddrErrors_get(ipSystemStatsTable_rowreq_ctx * + rowreq_ctx, + u_long * + ipSystemStatsInAddrErrors_val_ptr); +- int +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- ipSystemStatsInUnknownProtos_get(ipSystemStatsTable_rowreq_ctx * ++ int ipSystemStatsInUnknownProtos_get(ipSystemStatsTable_rowreq_ctx * + rowreq_ctx, + u_long * + ipSystemStatsInUnknownProtos_val_ptr); +- int +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- ipSystemStatsInTruncatedPkts_get(ipSystemStatsTable_rowreq_ctx * ++ int ipSystemStatsInTruncatedPkts_get(ipSystemStatsTable_rowreq_ctx * + rowreq_ctx, + u_long * + ipSystemStatsInTruncatedPkts_val_ptr); +- int +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- ipSystemStatsInForwDatagrams_get(ipSystemStatsTable_rowreq_ctx * ++ int ipSystemStatsInForwDatagrams_get(ipSystemStatsTable_rowreq_ctx * + rowreq_ctx, + u_long * + ipSystemStatsInForwDatagrams_val_ptr); +- int +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- ipSystemStatsHCInForwDatagrams_get(ipSystemStatsTable_rowreq_ctx * ++ int ipSystemStatsHCInForwDatagrams_get(ipSystemStatsTable_rowreq_ctx * + rowreq_ctx, +- U64 * ++ struct counter64 * + ipSystemStatsHCInForwDatagrams_val_ptr); +- int +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- ipSystemStatsReasmReqds_get(ipSystemStatsTable_rowreq_ctx * ++ int ipSystemStatsReasmReqds_get(ipSystemStatsTable_rowreq_ctx * + rowreq_ctx, + u_long * + ipSystemStatsReasmReqds_val_ptr); +@@ -492,690 +245,142 @@ config_require(ip-mib/ipSystemStatsTable/ipSystemStatsTable_data_access) + * rowreq_ctx, + u_long * + ipSystemStatsReasmOKs_val_ptr); +- int +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- ipSystemStatsReasmFails_get(ipSystemStatsTable_rowreq_ctx * ++ int ipSystemStatsReasmFails_get(ipSystemStatsTable_rowreq_ctx * + rowreq_ctx, + u_long * + ipSystemStatsReasmFails_val_ptr); +- int +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- ipSystemStatsInDiscards_get(ipSystemStatsTable_rowreq_ctx * ++ int ipSystemStatsInDiscards_get(ipSystemStatsTable_rowreq_ctx * + rowreq_ctx, + u_long * + ipSystemStatsInDiscards_val_ptr); +- int +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- ipSystemStatsInDelivers_get(ipSystemStatsTable_rowreq_ctx * ++ int ipSystemStatsInDelivers_get(ipSystemStatsTable_rowreq_ctx * + rowreq_ctx, + u_long * + ipSystemStatsInDelivers_val_ptr); +- int +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- ipSystemStatsHCInDelivers_get(ipSystemStatsTable_rowreq_ctx * ++ int ipSystemStatsHCInDelivers_get(ipSystemStatsTable_rowreq_ctx * + rowreq_ctx, +- U64 * ++ struct counter64 * + ipSystemStatsHCInDelivers_val_ptr); +- int +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- ipSystemStatsOutRequests_get(ipSystemStatsTable_rowreq_ctx * ++ int ipSystemStatsOutRequests_get(ipSystemStatsTable_rowreq_ctx * + rowreq_ctx, + u_long * + ipSystemStatsOutRequests_val_ptr); +- int +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- ipSystemStatsHCOutRequests_get(ipSystemStatsTable_rowreq_ctx * ++ int ipSystemStatsHCOutRequests_get(ipSystemStatsTable_rowreq_ctx * + rowreq_ctx, +- U64 * ++ struct counter64 * + ipSystemStatsHCOutRequests_val_ptr); +- int +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- ipSystemStatsOutNoRoutes_get(ipSystemStatsTable_rowreq_ctx * ++ int ipSystemStatsOutNoRoutes_get(ipSystemStatsTable_rowreq_ctx * + rowreq_ctx, + u_long * + ipSystemStatsOutNoRoutes_val_ptr); +- int +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- ipSystemStatsOutForwDatagrams_get(ipSystemStatsTable_rowreq_ctx * ++ int ipSystemStatsOutForwDatagrams_get(ipSystemStatsTable_rowreq_ctx * + rowreq_ctx, + u_long * + ipSystemStatsOutForwDatagrams_val_ptr); +- int +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- ipSystemStatsHCOutForwDatagrams_get(ipSystemStatsTable_rowreq_ctx * ++ int ipSystemStatsHCOutForwDatagrams_get(ipSystemStatsTable_rowreq_ctx * + rowreq_ctx, +- U64 * ++ struct counter64 * + ipSystemStatsHCOutForwDatagrams_val_ptr); +- int +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- ipSystemStatsOutDiscards_get(ipSystemStatsTable_rowreq_ctx * ++ int ipSystemStatsOutDiscards_get(ipSystemStatsTable_rowreq_ctx * + rowreq_ctx, + u_long * + ipSystemStatsOutDiscards_val_ptr); +- int +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- ipSystemStatsOutFragReqds_get(ipSystemStatsTable_rowreq_ctx * ++ int ipSystemStatsOutFragReqds_get(ipSystemStatsTable_rowreq_ctx * + rowreq_ctx, + u_long * + ipSystemStatsOutFragReqds_val_ptr); +- int +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- ipSystemStatsOutFragOKs_get(ipSystemStatsTable_rowreq_ctx * ++ int ipSystemStatsOutFragOKs_get(ipSystemStatsTable_rowreq_ctx * + rowreq_ctx, + u_long * + ipSystemStatsOutFragOKs_val_ptr); +- int +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- ipSystemStatsOutFragFails_get(ipSystemStatsTable_rowreq_ctx * ++ int ipSystemStatsOutFragFails_get(ipSystemStatsTable_rowreq_ctx * + rowreq_ctx, + u_long * + ipSystemStatsOutFragFails_val_ptr); +- int +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- ipSystemStatsOutFragCreates_get(ipSystemStatsTable_rowreq_ctx * ++ int ipSystemStatsOutFragCreates_get(ipSystemStatsTable_rowreq_ctx * + rowreq_ctx, + u_long * + ipSystemStatsOutFragCreates_val_ptr); +- int +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- ipSystemStatsOutTransmits_get(ipSystemStatsTable_rowreq_ctx * ++ int ipSystemStatsOutTransmits_get(ipSystemStatsTable_rowreq_ctx * + rowreq_ctx, + u_long * + ipSystemStatsOutTransmits_val_ptr); +- int +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- ipSystemStatsHCOutTransmits_get(ipSystemStatsTable_rowreq_ctx * ++ int ipSystemStatsHCOutTransmits_get(ipSystemStatsTable_rowreq_ctx * + rowreq_ctx, +- U64 * ++ struct counter64 * + ipSystemStatsHCOutTransmits_val_ptr); +- int +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- ipSystemStatsOutOctets_get(ipSystemStatsTable_rowreq_ctx * ++ int ipSystemStatsOutOctets_get(ipSystemStatsTable_rowreq_ctx * + rowreq_ctx, + u_long * + ipSystemStatsOutOctets_val_ptr); +- int +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- ipSystemStatsHCOutOctets_get(ipSystemStatsTable_rowreq_ctx * ++ int ipSystemStatsHCOutOctets_get(ipSystemStatsTable_rowreq_ctx * + rowreq_ctx, +- U64 * ++ struct counter64 * + ipSystemStatsHCOutOctets_val_ptr); +- int +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- ipSystemStatsInMcastPkts_get(ipSystemStatsTable_rowreq_ctx * ++ int ipSystemStatsInMcastPkts_get(ipSystemStatsTable_rowreq_ctx * + rowreq_ctx, + u_long * + ipSystemStatsInMcastPkts_val_ptr); +- int +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- ipSystemStatsHCInMcastPkts_get(ipSystemStatsTable_rowreq_ctx * ++ int ipSystemStatsHCInMcastPkts_get(ipSystemStatsTable_rowreq_ctx * + rowreq_ctx, +- U64 * ++ struct counter64 * + ipSystemStatsHCInMcastPkts_val_ptr); +- int +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- ipSystemStatsInMcastOctets_get(ipSystemStatsTable_rowreq_ctx * ++ int ipSystemStatsInMcastOctets_get(ipSystemStatsTable_rowreq_ctx * + rowreq_ctx, + u_long * + ipSystemStatsInMcastOctets_val_ptr); +- int +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- ipSystemStatsHCInMcastOctets_get(ipSystemStatsTable_rowreq_ctx * ++ int ipSystemStatsHCInMcastOctets_get(ipSystemStatsTable_rowreq_ctx * + rowreq_ctx, +- U64 * ++ struct counter64 * + ipSystemStatsHCInMcastOctets_val_ptr); +- int +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- ipSystemStatsOutMcastPkts_get(ipSystemStatsTable_rowreq_ctx * ++ int ipSystemStatsOutMcastPkts_get(ipSystemStatsTable_rowreq_ctx * + rowreq_ctx, + u_long * + ipSystemStatsOutMcastPkts_val_ptr); +- int +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- ipSystemStatsHCOutMcastPkts_get(ipSystemStatsTable_rowreq_ctx * ++ int ipSystemStatsHCOutMcastPkts_get(ipSystemStatsTable_rowreq_ctx * + rowreq_ctx, +- U64 * ++ struct counter64 * + ipSystemStatsHCOutMcastPkts_val_ptr); +- int +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- ipSystemStatsOutMcastOctets_get(ipSystemStatsTable_rowreq_ctx * ++ int ipSystemStatsOutMcastOctets_get(ipSystemStatsTable_rowreq_ctx * + rowreq_ctx, + u_long * + ipSystemStatsOutMcastOctets_val_ptr); +- int +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- ipSystemStatsHCOutMcastOctets_get(ipSystemStatsTable_rowreq_ctx * ++ int ipSystemStatsHCOutMcastOctets_get(ipSystemStatsTable_rowreq_ctx * + rowreq_ctx, +- U64 * ++ struct counter64 * + ipSystemStatsHCOutMcastOctets_val_ptr); +- int +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- ipSystemStatsInBcastPkts_get(ipSystemStatsTable_rowreq_ctx * ++ int ipSystemStatsInBcastPkts_get(ipSystemStatsTable_rowreq_ctx * + rowreq_ctx, + u_long * + ipSystemStatsInBcastPkts_val_ptr); +- int +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- ipSystemStatsHCInBcastPkts_get(ipSystemStatsTable_rowreq_ctx * ++ int ipSystemStatsHCInBcastPkts_get(ipSystemStatsTable_rowreq_ctx * + rowreq_ctx, +- U64 * ++ struct counter64 * + ipSystemStatsHCInBcastPkts_val_ptr); +- int +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- ipSystemStatsOutBcastPkts_get(ipSystemStatsTable_rowreq_ctx * ++ int ipSystemStatsOutBcastPkts_get(ipSystemStatsTable_rowreq_ctx * + rowreq_ctx, + u_long * + ipSystemStatsOutBcastPkts_val_ptr); +- int +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- ipSystemStatsHCOutBcastPkts_get(ipSystemStatsTable_rowreq_ctx * ++ int ipSystemStatsHCOutBcastPkts_get(ipSystemStatsTable_rowreq_ctx * + rowreq_ctx, +- U64 * ++ struct counter64 * + ipSystemStatsHCOutBcastPkts_val_ptr); +- int +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- ipSystemStatsDiscontinuityTime_get(ipSystemStatsTable_rowreq_ctx * ++ int ipSystemStatsDiscontinuityTime_get(ipSystemStatsTable_rowreq_ctx * + rowreq_ctx, + u_long * + ipSystemStatsDiscontinuityTime_val_ptr); +- int +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- ipSystemStatsRefreshRate_get(ipSystemStatsTable_rowreq_ctx * ++ int ipSystemStatsRefreshRate_get(ipSystemStatsTable_rowreq_ctx * + rowreq_ctx, + u_long * + ipSystemStatsRefreshRate_val_ptr); +- +- +- int +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- ipSystemStatsTable_indexes_set_tbl_idx(ipSystemStatsTable_mib_index ++ int ipSystemStatsTable_indexes_set_tbl_idx(ipSystemStatsTable_mib_index + * tbl_idx, + u_long + ipSystemStatsIPVersion_val); +- int +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- ipSystemStatsTable_indexes_set(ipSystemStatsTable_rowreq_ctx * ++ int ipSystemStatsTable_indexes_set(ipSystemStatsTable_rowreq_ctx * + rowreq_ctx, + u_long ipSystemStatsIPVersion_val); + +- +- + /* + ********************************************************************* + * SET function declarations +diff --git a/agent/mibgroup/ip-mib/ipSystemStatsTable/ipSystemStatsTable_interface.c b/agent/mibgroup/ip-mib/ipSystemStatsTable/ipSystemStatsTable_interface.c +index e1ca2cb..09c061f 100644 +--- a/agent/mibgroup/ip-mib/ipSystemStatsTable/ipSystemStatsTable_interface.c ++++ b/agent/mibgroup/ip-mib/ipSystemStatsTable/ipSystemStatsTable_interface.c +@@ -674,10 +674,10 @@ _ipSystemStatsTable_get_column(ipSystemStatsTable_rowreq_ctx * rowreq_ctx, + * ipSystemStatsHCInReceives(4)/COUNTER64/ASN_COUNTER64/U64(U64)//l/A/w/e/r/d/h + */ + case COLUMN_IPSYSTEMSTATSHCINRECEIVES: +- var->val_len = sizeof(U64); ++ var->val_len = sizeof(struct counter64); + var->type = ASN_COUNTER64; + rc = ipSystemStatsHCInReceives_get(rowreq_ctx, +- (U64 *) var->val.string); ++ (struct counter64 *) var->val.string); + break; + + /* +@@ -694,10 +694,10 @@ _ipSystemStatsTable_get_column(ipSystemStatsTable_rowreq_ctx * rowreq_ctx, + * ipSystemStatsHCInOctets(6)/COUNTER64/ASN_COUNTER64/U64(U64)//l/A/w/e/r/d/h + */ + case COLUMN_IPSYSTEMSTATSHCINOCTETS: +- var->val_len = sizeof(U64); ++ var->val_len = sizeof(struct counter64); + var->type = ASN_COUNTER64; + rc = ipSystemStatsHCInOctets_get(rowreq_ctx, +- (U64 *) var->val.string); ++ (struct counter64 *) var->val.string); + break; + + /* +@@ -764,10 +764,10 @@ _ipSystemStatsTable_get_column(ipSystemStatsTable_rowreq_ctx * rowreq_ctx, + * ipSystemStatsHCInForwDatagrams(13)/COUNTER64/ASN_COUNTER64/U64(U64)//l/A/w/e/r/d/h + */ + case COLUMN_IPSYSTEMSTATSHCINFORWDATAGRAMS: +- var->val_len = sizeof(U64); ++ var->val_len = sizeof(struct counter64); + var->type = ASN_COUNTER64; + rc = ipSystemStatsHCInForwDatagrams_get(rowreq_ctx, +- (U64 *) var->val.string); ++ (struct counter64 *) var->val.string); + break; + + /* +@@ -824,10 +824,10 @@ _ipSystemStatsTable_get_column(ipSystemStatsTable_rowreq_ctx * rowreq_ctx, + * ipSystemStatsHCInDelivers(19)/COUNTER64/ASN_COUNTER64/U64(U64)//l/A/w/e/r/d/h + */ + case COLUMN_IPSYSTEMSTATSHCINDELIVERS: +- var->val_len = sizeof(U64); ++ var->val_len = sizeof(struct counter64); + var->type = ASN_COUNTER64; + rc = ipSystemStatsHCInDelivers_get(rowreq_ctx, +- (U64 *) var->val.string); ++ (struct counter64 *) var->val.string); + break; + + /* +@@ -844,10 +844,10 @@ _ipSystemStatsTable_get_column(ipSystemStatsTable_rowreq_ctx * rowreq_ctx, + * ipSystemStatsHCOutRequests(21)/COUNTER64/ASN_COUNTER64/U64(U64)//l/A/w/e/r/d/h + */ + case COLUMN_IPSYSTEMSTATSHCOUTREQUESTS: +- var->val_len = sizeof(U64); ++ var->val_len = sizeof(struct counter64); + var->type = ASN_COUNTER64; + rc = ipSystemStatsHCOutRequests_get(rowreq_ctx, +- (U64 *) var->val.string); ++ (struct counter64 *) var->val.string); + break; + + /* +@@ -874,10 +874,10 @@ _ipSystemStatsTable_get_column(ipSystemStatsTable_rowreq_ctx * rowreq_ctx, + * ipSystemStatsHCOutForwDatagrams(24)/COUNTER64/ASN_COUNTER64/U64(U64)//l/A/w/e/r/d/h + */ + case COLUMN_IPSYSTEMSTATSHCOUTFORWDATAGRAMS: +- var->val_len = sizeof(U64); ++ var->val_len = sizeof(struct counter64); + var->type = ASN_COUNTER64; + rc = ipSystemStatsHCOutForwDatagrams_get(rowreq_ctx, +- (U64 *) var->val.string); ++ (struct counter64 *) var->val.string); + break; + + /* +@@ -944,10 +944,10 @@ _ipSystemStatsTable_get_column(ipSystemStatsTable_rowreq_ctx * rowreq_ctx, + * ipSystemStatsHCOutTransmits(31)/COUNTER64/ASN_COUNTER64/U64(U64)//l/A/w/e/r/d/h + */ + case COLUMN_IPSYSTEMSTATSHCOUTTRANSMITS: +- var->val_len = sizeof(U64); ++ var->val_len = sizeof(struct counter64); + var->type = ASN_COUNTER64; + rc = ipSystemStatsHCOutTransmits_get(rowreq_ctx, +- (U64 *) var->val.string); ++ (struct counter64 *) var->val.string); + break; + + /* +@@ -964,10 +964,10 @@ _ipSystemStatsTable_get_column(ipSystemStatsTable_rowreq_ctx * rowreq_ctx, + * ipSystemStatsHCOutOctets(33)/COUNTER64/ASN_COUNTER64/U64(U64)//l/A/w/e/r/d/h + */ + case COLUMN_IPSYSTEMSTATSHCOUTOCTETS: +- var->val_len = sizeof(U64); ++ var->val_len = sizeof(struct counter64); + var->type = ASN_COUNTER64; + rc = ipSystemStatsHCOutOctets_get(rowreq_ctx, +- (U64 *) var->val.string); ++ (struct counter64 *) var->val.string); + break; + + /* +@@ -984,10 +984,10 @@ _ipSystemStatsTable_get_column(ipSystemStatsTable_rowreq_ctx * rowreq_ctx, + * ipSystemStatsHCInMcastPkts(35)/COUNTER64/ASN_COUNTER64/U64(U64)//l/A/w/e/r/d/h + */ + case COLUMN_IPSYSTEMSTATSHCINMCASTPKTS: +- var->val_len = sizeof(U64); ++ var->val_len = sizeof(struct counter64); + var->type = ASN_COUNTER64; + rc = ipSystemStatsHCInMcastPkts_get(rowreq_ctx, +- (U64 *) var->val.string); ++ (struct counter64 *) var->val.string); + break; + + /* +@@ -1004,10 +1004,10 @@ _ipSystemStatsTable_get_column(ipSystemStatsTable_rowreq_ctx * rowreq_ctx, + * ipSystemStatsHCInMcastOctets(37)/COUNTER64/ASN_COUNTER64/U64(U64)//l/A/w/e/r/d/h + */ + case COLUMN_IPSYSTEMSTATSHCINMCASTOCTETS: +- var->val_len = sizeof(U64); ++ var->val_len = sizeof(struct counter64); + var->type = ASN_COUNTER64; + rc = ipSystemStatsHCInMcastOctets_get(rowreq_ctx, +- (U64 *) var->val.string); ++ (struct counter64 *) var->val.string); + break; + + /* +@@ -1024,10 +1024,10 @@ _ipSystemStatsTable_get_column(ipSystemStatsTable_rowreq_ctx * rowreq_ctx, + * ipSystemStatsHCOutMcastPkts(39)/COUNTER64/ASN_COUNTER64/U64(U64)//l/A/w/e/r/d/h + */ + case COLUMN_IPSYSTEMSTATSHCOUTMCASTPKTS: +- var->val_len = sizeof(U64); ++ var->val_len = sizeof(struct counter64); + var->type = ASN_COUNTER64; + rc = ipSystemStatsHCOutMcastPkts_get(rowreq_ctx, +- (U64 *) var->val.string); ++ (struct counter64 *) var->val.string); + break; + + /* +@@ -1044,10 +1044,10 @@ _ipSystemStatsTable_get_column(ipSystemStatsTable_rowreq_ctx * rowreq_ctx, + * ipSystemStatsHCOutMcastOctets(41)/COUNTER64/ASN_COUNTER64/U64(U64)//l/A/w/e/r/d/h + */ + case COLUMN_IPSYSTEMSTATSHCOUTMCASTOCTETS: +- var->val_len = sizeof(U64); ++ var->val_len = sizeof(struct counter64); + var->type = ASN_COUNTER64; + rc = ipSystemStatsHCOutMcastOctets_get(rowreq_ctx, +- (U64 *) var->val.string); ++ (struct counter64 *) var->val.string); + break; + + /* +@@ -1064,10 +1064,10 @@ _ipSystemStatsTable_get_column(ipSystemStatsTable_rowreq_ctx * rowreq_ctx, + * ipSystemStatsHCInBcastPkts(43)/COUNTER64/ASN_COUNTER64/U64(U64)//l/A/w/e/r/d/h + */ + case COLUMN_IPSYSTEMSTATSHCINBCASTPKTS: +- var->val_len = sizeof(U64); ++ var->val_len = sizeof(struct counter64); + var->type = ASN_COUNTER64; + rc = ipSystemStatsHCInBcastPkts_get(rowreq_ctx, +- (U64 *) var->val.string); ++ (struct counter64 *) var->val.string); + break; + + /* +@@ -1084,10 +1084,10 @@ _ipSystemStatsTable_get_column(ipSystemStatsTable_rowreq_ctx * rowreq_ctx, + * ipSystemStatsHCOutBcastPkts(45)/COUNTER64/ASN_COUNTER64/U64(U64)//l/A/w/e/r/d/h + */ + case COLUMN_IPSYSTEMSTATSHCOUTBCASTPKTS: +- var->val_len = sizeof(U64); ++ var->val_len = sizeof(struct counter64); + var->type = ASN_COUNTER64; + rc = ipSystemStatsHCOutBcastPkts_get(rowreq_ctx, +- (U64 *) var->val.string); ++ (struct counter64 *) var->val.string); + break; + + /* +diff --git a/include/net-snmp/data_access/ipstats.h b/include/net-snmp/data_access/ipstats.h +index f782459..f0df46b 100644 +--- a/include/net-snmp/data_access/ipstats.h ++++ b/include/net-snmp/data_access/ipstats.h +@@ -58,45 +58,45 @@ typedef struct netsnmp_ipstats_s { + * other columns, when underlying OS does not provide them. + * Always fill at least 32 bits, the table is periodically polled -> 32 bit + * overflow shall be detected and 64 bit value should be computed automatically. */ +- U64 HCInReceives; +- U64 HCInOctets; ++ struct counter64 HCInReceives; ++ struct counter64 HCInOctets; + u_long InHdrErrors; +- U64 HCInNoRoutes; ++ struct counter64 HCInNoRoutes; + u_long InAddrErrors; + u_long InUnknownProtos; + u_long InTruncatedPkts; + + /* optional, can be computed from HCInNoRoutes and HCOutForwDatagrams */ +- U64 HCInForwDatagrams; ++ struct counter64 HCInForwDatagrams; + + u_long ReasmReqds; + u_long ReasmOKs; + u_long ReasmFails; + u_long InDiscards; +- U64 HCInDelivers; +- U64 HCOutRequests; +- U64 HCOutNoRoutes; +- U64 HCOutForwDatagrams; +- U64 HCOutDiscards; ++ struct counter64 HCInDelivers; ++ struct counter64 HCOutRequests; ++ struct counter64 HCOutNoRoutes; ++ struct counter64 HCOutForwDatagrams; ++ struct counter64 HCOutDiscards; + + /* optional, can be computed from HCOutFragOKs + HCOutFragFails*/ +- U64 HCOutFragReqds; +- U64 HCOutFragOKs; +- U64 HCOutFragFails; +- U64 HCOutFragCreates; ++ struct counter64 HCOutFragReqds; ++ struct counter64 HCOutFragOKs; ++ struct counter64 HCOutFragFails; ++ struct counter64 HCOutFragCreates; + + /* optional, can be computed from + * HCOutRequests +HCOutForwDatagrams + HCOutFragCreates + * - HCOutFragReqds - HCOutNoRoutes - HCOutDiscards */ +- U64 HCOutTransmits; ++ struct counter64 HCOutTransmits; + +- U64 HCOutOctets; +- U64 HCInMcastPkts; +- U64 HCInMcastOctets; +- U64 HCOutMcastPkts; +- U64 HCOutMcastOctets; +- U64 HCInBcastPkts; +- U64 HCOutBcastPkts; ++ struct counter64 HCOutOctets; ++ struct counter64 HCInMcastPkts; ++ struct counter64 HCInMcastOctets; ++ struct counter64 HCOutMcastPkts; ++ struct counter64 HCOutMcastOctets; ++ struct counter64 HCInBcastPkts; ++ struct counter64 HCOutBcastPkts; + + /* Array of available columns.*/ + int columnAvail[IPSYSTEMSTATSTABLE_LAST+1]; +diff --git a/include/net-snmp/library/int64.h b/include/net-snmp/library/int64.h +index 9c7c894..3a85213 100644 +--- a/include/net-snmp/library/int64.h ++++ b/include/net-snmp/library/int64.h +@@ -5,31 +5,29 @@ + extern "C" { + #endif + +- typedef struct counter64 U64; +- + #define I64CHARSZ 21 + +- void divBy10(U64, U64 *, unsigned int *); +- void multBy10(U64, U64 *); +- void incrByU16(U64 *, unsigned int); +- void incrByU32(U64 *, unsigned int); ++ void divBy10(struct counter64, struct counter64 *, unsigned int *); ++ void multBy10(struct counter64, struct counter64 *); ++ void incrByU16(struct counter64 *, unsigned int); ++ void incrByU32(struct counter64 *, unsigned int); + NETSNMP_IMPORT +- void zeroU64(U64 *); +- int isZeroU64(const U64 *); ++ void zeroU64(struct counter64 *); ++ int isZeroU64(const struct counter64 *); + NETSNMP_IMPORT +- void printU64(char *, const U64 *); ++ void printU64(char *, const struct counter64 *); + NETSNMP_IMPORT +- void printI64(char *, const U64 *); +- int read64(U64 *, const char *); ++ void printI64(char *, const struct counter64 *); ++ int read64(struct counter64 *, const char *); + NETSNMP_IMPORT +- void u64Subtract(const U64 * pu64one, const U64 * pu64two, +- U64 * pu64out); +- void u64Incr(U64 * pu64out, const U64 * pu64one); +- void u64UpdateCounter(U64 * pu64out, const U64 * pu64one, +- const U64 * pu64two); +- void u64Copy(U64 * pu64one, const U64 * pu64two); ++ void u64Subtract(const struct counter64 *pu64one, const struct counter64 *pu64two, ++ struct counter64 *pu64out); ++ void u64Incr(struct counter64 *pu64out, const struct counter64 *pu64one); ++ void u64UpdateCounter(struct counter64 *pu64out, const struct counter64 *pu64one, ++ const struct counter64 *pu64two); ++ void u64Copy(struct counter64 *pu64one, const struct counter64 *pu64two); + +- int netsnmp_c64_check_for_32bit_wrap(U64 *old_val, U64 *new_val, ++ int netsnmp_c64_check_for_32bit_wrap(struct counter64 *old_val, struct counter64 *new_val, + int adjust); + NETSNMP_IMPORT + int netsnmp_c64_check32_and_update(struct counter64 *prev_val, +diff --git a/snmplib/int64.c b/snmplib/int64.c +index 51f1f32..951f813 100644 +--- a/snmplib/int64.c ++++ b/snmplib/int64.c +@@ -33,7 +33,7 @@ + * @param[out] puR Remainder. + */ + void +-divBy10(U64 u64, U64 * pu64Q, unsigned int *puR) ++divBy10(struct counter64 u64, struct counter64 *pu64Q, unsigned int *puR) + { + unsigned long ulT; + unsigned long ulQ; +@@ -83,7 +83,7 @@ divBy10(U64 u64, U64 * pu64Q, unsigned int *puR) + * @param[out] pu64P Product. + */ + void +-multBy10(U64 u64, U64 * pu64P) ++multBy10(struct counter64 u64, struct counter64 *pu64P) + { + unsigned long ulT; + unsigned long ulP; +@@ -130,7 +130,7 @@ multBy10(U64 u64, U64 * pu64P) + * + */ + void +-incrByU16(U64 * pu64, unsigned int u16) ++incrByU16(struct counter64 *pu64, unsigned int u16) + { + incrByU32(pu64, u16); + } +@@ -143,7 +143,7 @@ incrByU16(U64 * pu64, unsigned int u16) + * + */ + void +-incrByU32(U64 * pu64, unsigned int u32) ++incrByU32(struct counter64 *pu64, unsigned int u32) + { + uint32_t tmp; + +@@ -161,7 +161,7 @@ incrByU32(U64 * pu64, unsigned int u32) + * @param[out] pu64out pu64one - pu64two. + */ + void +-u64Subtract(const U64 * pu64one, const U64 * pu64two, U64 * pu64out) ++u64Subtract(const struct counter64 *pu64one, const struct counter64 *pu64two, struct counter64 *pu64out) + { + int carry; + +@@ -177,7 +177,7 @@ u64Subtract(const U64 * pu64one, const U64 * pu64two, U64 * pu64out) + * @param[in,out] pu64out pu64out += pu64one. + */ + void +-u64Incr(U64 * pu64out, const U64 * pu64one) ++u64Incr(struct counter64 *pu64out, const struct counter64 *pu64one) + { + pu64out->high = (uint32_t)(pu64out->high + pu64one->high); + incrByU32(pu64out, pu64one->low); +@@ -191,9 +191,9 @@ u64Incr(U64 * pu64out, const U64 * pu64one) + * @param[out] pu64out pu64out += (pu64one - pu64two) + */ + void +-u64UpdateCounter(U64 * pu64out, const U64 * pu64one, const U64 * pu64two) ++u64UpdateCounter(struct counter64 *pu64out, const struct counter64 *pu64one, const struct counter64 *pu64two) + { +- U64 tmp; ++ struct counter64 tmp; + + u64Subtract(pu64one, pu64two, &tmp); + u64Incr(pu64out, &tmp); +@@ -208,7 +208,7 @@ netsnmp_feature_child_of(u64copy, netsnmp_unused) + * @param[out] pu64one Where to store the copy - *pu64one = *pu64two. + */ + void +-u64Copy(U64 * pu64one, const U64 * pu64two) ++u64Copy(struct counter64 *pu64one, const struct counter64 *pu64two) + { + *pu64one = *pu64two; + } +@@ -220,7 +220,7 @@ u64Copy(U64 * pu64one, const U64 * pu64two) + * @param[in] pu64 Number to be zeroed. + */ + void +-zeroU64(U64 * pu64) ++zeroU64(struct counter64 *pu64) + { + pu64->low = 0; + pu64->high = 0; +@@ -232,7 +232,7 @@ zeroU64(U64 * pu64) + * @param[in] pu64 Number to be checked. + */ + int +-isZeroU64(const U64 * pu64) ++isZeroU64(const struct counter64 *pu64) + { + return pu64->low == 0 && pu64->high == 0; + } +@@ -390,10 +390,10 @@ netsnmp_c64_check32_and_update(struct counter64 *prev_val, struct counter64 *new + /** Convert an unsigned 64-bit number to ASCII. */ + void + printU64(char *buf, /* char [I64CHARSZ+1]; */ +- const U64 * pu64) ++ const struct counter64 *pu64) + { +- U64 u64a; +- U64 u64b; ++ struct counter64 u64a; ++ struct counter64 u64b; + + char aRes[I64CHARSZ + 1]; + unsigned int u; +@@ -414,9 +414,9 @@ printU64(char *buf, /* char [I64CHARSZ+1]; */ + /** Convert a signed 64-bit number to ASCII. */ + void + printI64(char *buf, /* char [I64CHARSZ+1]; */ +- const U64 * pu64) ++ const struct counter64 *pu64) + { +- U64 u64a; ++ struct counter64 u64a; + + if (pu64->high & 0x80000000) { + u64a.high = (uint32_t) ~pu64->high; +@@ -429,11 +429,11 @@ printI64(char *buf, /* char [I64CHARSZ+1]; */ + } + } + +-/** Convert a signed 64-bit integer from ASCII to U64. */ ++/** Convert a signed 64-bit integer from ASCII to struct counter64. */ + int +-read64(U64 * i64, const char *str) ++read64(struct counter64 *i64, const char *str) + { +- U64 i64p; ++ struct counter64 i64p; + unsigned int u; + int sign = 0; + int ok = 0; +diff --git a/snmplib/read_config.c b/snmplib/read_config.c +index e159c27..ab5b6a3 100644 +--- a/snmplib/read_config.c ++++ b/snmplib/read_config.c +@@ -2279,10 +2279,10 @@ read_config_read_memory(int type, char *readfrom, + return readfrom; + + case ASN_COUNTER64: +- if (*len < sizeof(U64)) ++ if (*len < sizeof(struct counter64)) + return NULL; +- *len = sizeof(U64); +- read64((U64 *) dataptr, readfrom); ++ *len = sizeof(struct counter64); ++ read64((struct counter64 *) dataptr, readfrom); + readfrom = skip_token(readfrom); + return readfrom; + } +diff --git a/testing/fulltests/unit-tests/T015int64_clib.c b/testing/fulltests/unit-tests/T015int64_clib.c +index 5f5f4b6..66f66b7 100644 +--- a/testing/fulltests/unit-tests/T015int64_clib.c ++++ b/testing/fulltests/unit-tests/T015int64_clib.c +@@ -1,4 +1,4 @@ +-/* HEADER Testing 64-bit integer operations (U64). */ ++/* HEADER Testing 64-bit integer operations (struct counter64). */ + + int i, j; + char buf[22]; +@@ -15,7 +15,7 @@ static const int64_t intval[] = { + }; + + for (i = 0; i < sizeof(intval)/sizeof(intval[0]); ++i) { +- U64 a, b; ++ struct counter64 a, b; + a.low = (uint32_t)intval[i]; + a.high = (uint32_t)(intval[i] >> 32); + printI64(buf, &a); +@@ -27,7 +27,7 @@ for (i = 0; i < sizeof(intval)/sizeof(intval[0]); ++i) { + + for (i = 0; i < sizeof(intval)/sizeof(intval[0]); ++i) { + for (j = i; j < sizeof(intval)/sizeof(intval[0]); ++j) { +- U64 a, b; ++ struct counter64 a, b; + uint64_t d; + a.low = (uint32_t)intval[i]; + a.high = (uint32_t)(intval[i] >> 32); +@@ -43,7 +43,7 @@ for (i = 0; i < sizeof(intval)/sizeof(intval[0]); ++i) { + + for (i = 0; i < sizeof(intval)/sizeof(intval[0]); ++i) { + for (j = i; j < sizeof(intval)/sizeof(intval[0]); ++j) { +- U64 a, b, c; ++ struct counter64 a, b, c; + uint64_t d; + a.low = (uint32_t)intval[i]; + a.high = (uint32_t)(intval[i] >> 32); +@@ -58,7 +58,7 @@ for (i = 0; i < sizeof(intval)/sizeof(intval[0]); ++i) { + } + + { +- U64 old_val, new_val; ++ struct counter64 old_val, new_val; + old_val.low = 7; + old_val.high = 0; + new_val = old_val; +-- +2.8.1 + diff --git a/user/net-snmp/snmpd.confd b/user/net-snmp/snmpd.confd new file mode 100644 index 000000000..849517574 --- /dev/null +++ b/user/net-snmp/snmpd.confd @@ -0,0 +1,14 @@ +# Initial (empty) options. +OPTS="" + +# Enable connection logging. +#OPTS="${OPTS} -a" + +# Enable syslog and disable file log. +OPTS="${OPTS} -LSwd -Lf /dev/null" + +# Enable agentx socket as /var/agentx/master +# *NOTE* Before uncommenting this, make sure +# the /var/agentx directory exists. +#OPTS="${OPTS} -x /var/agentx/master" + diff --git a/user/net-snmp/snmpd.initd b/user/net-snmp/snmpd.initd new file mode 100644 index 000000000..5d509cc3d --- /dev/null +++ b/user/net-snmp/snmpd.initd @@ -0,0 +1,24 @@ +#!/sbin/openrc-run + +# for backward compat +case "$SVCNAME" in +snmpd) : ${OPTS:=$SNMPD_FLAGS} ;; +esac + +pidfile="/var/run/${SVCNAME}.pid" +command="/usr/sbin/${SVCNAME}" +command_args="-p ${pidfile} ${OPTS}" +required_files="/etc/snmp/${SVCNAME}.conf" +extra_started_commands="reload" + +depend() { + use logger + need net + after firewall +} + +reload() { + ebegin "Reloading ${SVCNAME}" + start-stop-daemon --signal HUP --pidfile ${pidfile} --name ${SVCNAME} + eend $? +} diff --git a/user/net-snmp/snmptrapd.confd b/user/net-snmp/snmptrapd.confd new file mode 100644 index 000000000..7f10cfeee --- /dev/null +++ b/user/net-snmp/snmptrapd.confd @@ -0,0 +1,12 @@ +# extra flags to pass to snmptrapd +OPTS="" + +# ignore authentication failure traps +#OPTS="${OPTS} -a" + +# log messages to specified file +#OPTS="${OPTS} -Lf /var/log/snmptrapd.log" + +# log messages to syslog with the specified facility +# where facility is: 'd' = LOG_DAEMON, 'u' = LOG_USER, [0-7] = LOG_LOCAL[0-7] +#OPTS="${OPTS} -Ls d" |