public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] dev/dilfridge:master commit in: net-analyzer/net-snmp/files/, net-analyzer/net-snmp/
@ 2016-05-15 11:24 Andreas Hüttel
  0 siblings, 0 replies; 2+ messages in thread
From: Andreas Hüttel @ 2016-05-15 11:24 UTC (permalink / raw
  To: gentoo-commits

commit:     947ed74a707e1eb8916856507bf18461537d8aa3
Author:     Andreas K. Hüttel <dilfridge <AT> gentoo <DOT> org>
AuthorDate: Sun May 15 11:23:46 2016 +0000
Commit:     Andreas Hüttel <dilfridge <AT> gentoo <DOT> org>
CommitDate: Sun May 15 11:24:25 2016 +0000
URL:        https://gitweb.gentoo.org/dev/dilfridge.git/commit/?id=947ed74a

net-analyzer/net-snmp: Add version fixed for Perl 5.24

 net-analyzer/net-snmp/Manifest                     |    2 +
 .../files/net-snmp-5.1.2-snmpconf-selinux.patch    |   12 +
 .../net-snmp/files/net-snmp-5.7.3-perl524.patch    | 2519 ++++++++++++++++++++
 net-analyzer/net-snmp/files/snmpd.conf             |   20 +
 net-analyzer/net-snmp/files/snmpd.init.2           |   35 +
 net-analyzer/net-snmp/files/snmpd.service          |    9 +
 net-analyzer/net-snmp/files/snmptrapd.conf         |   16 +
 net-analyzer/net-snmp/files/snmptrapd.init.2       |   14 +
 net-analyzer/net-snmp/files/snmptrapd.service      |    9 +
 net-analyzer/net-snmp/metadata.xml                 |   20 +
 net-analyzer/net-snmp/net-snmp-5.7.3-r5.ebuild     |  188 ++
 11 files changed, 2844 insertions(+)

diff --git a/net-analyzer/net-snmp/Manifest b/net-analyzer/net-snmp/Manifest
new file mode 100644
index 0000000..f261269
--- /dev/null
+++ b/net-analyzer/net-snmp/Manifest
@@ -0,0 +1,2 @@
+DIST net-snmp-5.7.3-patches-2.tar.xz 3312 SHA256 a72732f9e40988ef1d79b6750c7ef7f56accbf5a32543dd15c000e58b1e9054c SHA512 22ca6cc4dd1fd58a8cff53881d248155dbfdab765e9a3664320c8c4a5cfa35e741adfb0304bb38be7719ba1c7418f9b0f9178719951b82d70257c3c944c450ad WHIRLPOOL 509da418db4c380f431af1d2d342bea4bd18caad99f2fb8120466ffcbbe8d2e09702a28b43b59d2a633ae3566d599a82a221eae4e9ac601a545445c614d3459f
+DIST net-snmp-5.7.3.tar.gz 6382428 SHA256 12ef89613c7707dc96d13335f153c1921efc9d61d3708ef09f3fc4a7014fb4f0 SHA512 0758bba5844cfd6c80959ac16b83906a2f830ba49fd0ab1bf9e191dc6a79d312a2e4760bd53b3e1a1c82759481f0064d088d5a3cf475d84b25679a6bd0f049bb WHIRLPOOL ee741c1278206dd8dae00e085629e7c13ce518ad1911af804872ccaba576ab4d234f7801dbb447ae1ddba8196d43d1dbcd46c4bd8f69aa9dc9eb1662ce5e718a

diff --git a/net-analyzer/net-snmp/files/net-snmp-5.1.2-snmpconf-selinux.patch b/net-analyzer/net-snmp/files/net-snmp-5.1.2-snmpconf-selinux.patch
new file mode 100644
index 0000000..d2e3721
--- /dev/null
+++ b/net-analyzer/net-snmp/files/net-snmp-5.1.2-snmpconf-selinux.patch
@@ -0,0 +1,12 @@
+https://bugzilla.redhat.com/show_bug.cgi?id=248329
+
+--- a/local/snmpconf.in
++++ b/local/snmpconf.in
+@@ -680,6 +680,7 @@
+ 	    }
+ 	}
+ 	close(O);
++	system("restorecon $outputf");
+     }
+ }
+ 

diff --git a/net-analyzer/net-snmp/files/net-snmp-5.7.3-perl524.patch b/net-analyzer/net-snmp/files/net-snmp-5.7.3-perl524.patch
new file mode 100644
index 0000000..40e5402
--- /dev/null
+++ b/net-analyzer/net-snmp/files/net-snmp-5.7.3-perl524.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.2
+

diff --git a/net-analyzer/net-snmp/files/snmpd.conf b/net-analyzer/net-snmp/files/snmpd.conf
new file mode 100644
index 0000000..ba8ba66
--- /dev/null
+++ b/net-analyzer/net-snmp/files/snmpd.conf
@@ -0,0 +1,20 @@
+# Copyright 1999-2004 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+# Initial (empty) options.
+SNMPD_FLAGS=""
+
+# Disable smux by default
+SNMPD_FLAGS="${SNMPD_FLAGS} -I -smux"
+
+# Enable connection logging.
+#SNMPD_FLAGS="${SNMPD_FLAGS} -a"
+
+# Enable syslog and disable file log.
+#SNMPD_FLAGS="${SNMPD_FLAGS} -Lsd -Lf /dev/null"
+
+# Enable agentx socket as /var/agentx/master
+# *NOTE* Before uncommenting this, make sure
+#        the /var/agentx directory exists.
+#SNMPD_FLAGS="${SNMPD_FLAGS} -x /var/agentx/master"

diff --git a/net-analyzer/net-snmp/files/snmpd.init.2 b/net-analyzer/net-snmp/files/snmpd.init.2
new file mode 100644
index 0000000..6b923dd
--- /dev/null
+++ b/net-analyzer/net-snmp/files/snmpd.init.2
@@ -0,0 +1,35 @@
+#!/sbin/runscript
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+SNMPD_PIDFILE="${SNMPD_PIDFILE:-/var/run/snmpd.pid}"
+
+extra_started_commands="reload"
+
+command="/usr/sbin/snmpd"
+command_args="-p ${SNMPD_PIDFILE} ${SNMPD_FLAGS}"
+pidfile="${SNMPD_PIDFILE}"
+
+depend() {
+	use logger
+}
+
+checkconfig() {
+	if [ ! -e /etc/snmp/snmpd.conf ] ; then
+		eerror "${SVCNAME} requires an /etc/snmp/snmpd.conf configuration file"
+		return 1
+	fi
+}
+
+start_pre() {
+	checkconfig || return 1
+}
+
+reload() {
+	checkconfig || return 1
+
+	ebegin "Reloading ${SVCNAME} configuration"
+	kill -HUP $(cat ${SNMPD_PIDFILE}) 2>&1 > /dev/null
+	eend $?
+}

diff --git a/net-analyzer/net-snmp/files/snmpd.service b/net-analyzer/net-snmp/files/snmpd.service
new file mode 100644
index 0000000..8150d7b
--- /dev/null
+++ b/net-analyzer/net-snmp/files/snmpd.service
@@ -0,0 +1,9 @@
+[Unit]
+Description=Simple Network Management Protocol (SNMP) Daemon
+After=syslog.target network.target
+
+[Service]
+ExecStart=/usr/sbin/snmpd -f
+
+[Install]
+WantedBy=multi-user.target

diff --git a/net-analyzer/net-snmp/files/snmptrapd.conf b/net-analyzer/net-snmp/files/snmptrapd.conf
new file mode 100644
index 0000000..775f358
--- /dev/null
+++ b/net-analyzer/net-snmp/files/snmptrapd.conf
@@ -0,0 +1,16 @@
+# Copyright 1999-2005 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+# extra flags to pass to snmptrapd
+SNMPTRAPD_FLAGS=""
+
+# ignore authentication failure traps
+#SNMPTRAPD_FLAGS="${SNMPTRAPD_FLAGS} -a"
+
+# log messages to specified file
+#SNMPTRAPD_FLAGS="${SNMPTRAPD_FLAGS} -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]
+#SNMPTRAPD_FLAGS="${SNMPTRAPD_FLAGS} -Ls d"

diff --git a/net-analyzer/net-snmp/files/snmptrapd.init.2 b/net-analyzer/net-snmp/files/snmptrapd.init.2
new file mode 100644
index 0000000..27b501a
--- /dev/null
+++ b/net-analyzer/net-snmp/files/snmptrapd.init.2
@@ -0,0 +1,14 @@
+#!/sbin/runscript
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+SNMPTRAPD_PIDFILE="${SNMPTRAPD_PIDFILE:-/var/run/snmptrapd.pid}"
+
+command="/usr/sbin/snmptrapd"
+command_args="-p ${SNMPTRAPD_PIDFILE} ${SNMPTRAPD_FLAGS}"
+pidfile="${SNMPTRAPD_PIDFILE}"
+
+depend() {
+	use logger
+}

diff --git a/net-analyzer/net-snmp/files/snmptrapd.service b/net-analyzer/net-snmp/files/snmptrapd.service
new file mode 100644
index 0000000..7d19444
--- /dev/null
+++ b/net-analyzer/net-snmp/files/snmptrapd.service
@@ -0,0 +1,9 @@
+[Unit]
+Description=Simple Network Management Protocol (SNMP) TRAP Daemon
+After=syslog.target network.target
+
+[Service]
+ExecStart=/usr/sbin/snmptrapd -f
+
+[Install]
+WantedBy=multi-user.target

diff --git a/net-analyzer/net-snmp/metadata.xml b/net-analyzer/net-snmp/metadata.xml
new file mode 100644
index 0000000..9946231
--- /dev/null
+++ b/net-analyzer/net-snmp/metadata.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer type="project">
+<email>netmon@gentoo.org</email>
+<name>Gentoo network monitoring and analysis project</name>
+</maintainer>
+<use>
+<flag name="elf">Enable the use of elf utils to check uptime on some systems</flag>
+<flag name="mfd-rewrites">Use MFD rewrites of mib modules where available</flag>
+<flag name="netlink">Use <pkg>dev-libs/libnl</pkg> to fetch TCP statistics instead of using /proc/net/tcp (Linux only).</flag>
+<flag name="pci">Use libpci (from <pkg>sys-apps/pciutils</pkg>) to look up network interface description. This feature is only available on Linux.</flag>
+<flag name="rpm">Enable monitoring of <pkg>app-arch/rpm</pkg>. This flag requires the bzip2 and zlib flags to be enabled as well.</flag>
+<flag name="ucd-compat">Build UCD compatibility library. Increases significantly the install size.</flag>
+<flag name="smux">Enable support for the legacy smux protocol (superseded by agentx)</flag>
+</use>
+<upstream>
+<remote-id type="sourceforge">net-snmp</remote-id>
+</upstream>
+</pkgmetadata>

diff --git a/net-analyzer/net-snmp/net-snmp-5.7.3-r5.ebuild b/net-analyzer/net-snmp/net-snmp-5.7.3-r5.ebuild
new file mode 100644
index 0000000..f2931c6
--- /dev/null
+++ b/net-analyzer/net-snmp/net-snmp-5.7.3-r5.ebuild
@@ -0,0 +1,188 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+PYTHON_COMPAT=( python2_7 )
+DISTUTILS_SINGLE_IMPL=yesplz
+DISTUTILS_OPTIONAL=yesplz
+WANT_AUTOMAKE=none
+PATCHSET=2
+GENTOO_DEPEND_ON_PERL=no
+
+inherit autotools distutils-r1 eutils perl-module systemd
+
+DESCRIPTION="Software for generating and retrieving SNMP data"
+HOMEPAGE="http://net-snmp.sourceforge.net/"
+SRC_URI="
+	mirror://sourceforge/project/${PN}/${PN}/${PV}/${P}.tar.gz
+	https://dev.gentoo.org/~jer/${PN}-5.7.3-patches-${PATCHSET}.tar.xz
+"
+
+S=${WORKDIR}/${P/_/.}
+
+# GPL-2 for the init scripts
+LICENSE="HPND BSD GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
+IUSE="X bzip2 doc elf ipv6 libressl lm_sensors mfd-rewrites minimal mysql netlink pci perl python rpm selinux smux ssl tcpd ucd-compat zlib"
+
+COMMON_DEPEND="
+	ssl? (
+		!libressl? ( >=dev-libs/openssl-0.9.6d:0 )
+		libressl? ( dev-libs/libressl )
+	)
+	tcpd? ( >=sys-apps/tcp-wrappers-7.6 )
+	rpm? (
+		app-arch/rpm
+		dev-libs/popt
+	)
+	bzip2? ( app-arch/bzip2 )
+	zlib? ( >=sys-libs/zlib-1.1.4 )
+	elf? ( dev-libs/elfutils )
+	python? (
+		dev-python/setuptools[${PYTHON_USEDEP}]
+		${PYTHON_DEPS}
+	)
+	pci? ( sys-apps/pciutils )
+	lm_sensors? ( sys-apps/lm_sensors )
+	netlink? ( dev-libs/libnl:3 )
+	mysql? ( virtual/mysql )
+	perl? ( dev-lang/perl:= )
+"
+DEPEND="
+	${COMMON_DEPEND}
+	doc? ( app-doc/doxygen )
+"
+RDEPEND="
+	${COMMON_DEPEND}
+	perl? (
+		X? ( dev-perl/Tk )
+		!minimal? ( dev-perl/TermReadKey )
+	)
+	selinux? ( sec-policy/selinux-snmp )
+"
+
+REQUIRED_USE="
+	python? ( ${PYTHON_REQUIRED_USE} )
+	rpm? ( bzip2 zlib )
+"
+
+RESTRICT=test
+
+pkg_setup() {
+	use python && python-single-r1_pkg_setup
+}
+
+src_prepare() {
+	# snmpconf generates config files with proper selinux context
+	use selinux && epatch "${FILESDIR}"/${PN}-5.1.2-snmpconf-selinux.patch
+	epatch "${FILESDIR}"/${P}-perl524.patch
+
+	epatch "${WORKDIR}"/patches/*.patch
+
+	epatch_user
+
+	eautoconf
+}
+
+src_configure() {
+	# keep this in the same line, configure.ac arguments are passed down to config.h
+	local mibs="host ucd-snmp/dlmod ucd-snmp/diskio ucd-snmp/extensible mibII/mta_sendmail etherlike-mib/dot3StatsTable"
+	use lm_sensors && mibs="${mibs} ucd-snmp/lmsensorsMib"
+	use smux && mibs="${mibs} smux"
+
+	# Assume /etc/mtab is not present with a recent baselayout/openrc (bug #565136)
+	use kernel_linux && export ac_cv_ETC_MNTTAB=/etc/mtab
+
+	econf \
+		$(use_enable !ssl internal-md5) \
+		$(use_enable ipv6) \
+		$(use_enable mfd-rewrites) \
+		$(use_enable perl embedded-perl) \
+		$(use_enable ucd-compat ucd-snmp-compatibility) \
+		$(use_with bzip2) \
+		$(use_with elf) \
+		$(use_with mysql) \
+		$(use_with netlink nl) \
+		$(use_with pci) \
+		$(use_with perl perl-modules INSTALLDIRS=vendor) \
+		$(use_with python python-modules) \
+		$(use_with rpm) \
+		$(use_with ssl openssl) \
+		$(use_with tcpd libwrap) \
+		$(use_with zlib) \
+		--enable-shared --disable-static \
+		--with-default-snmp-version="3" \
+		--with-install-prefix="${D}" \
+		--with-ldflags="${LDFLAGS}" \
+		--with-logfile="/var/log/net-snmpd.log" \
+		--with-mib-modules="${mibs}" \
+		--with-persistent-directory="/var/lib/net-snmp" \
+		--with-sys-contact="root@Unknown" \
+		--with-sys-location="Unknown"
+}
+
+src_compile() {
+	emake \
+		OTHERLDFLAGS="${LDFLAGS}" \
+		sedscript all
+
+	use doc && emake docsdox
+}
+
+src_install () {
+	# bug #317965
+	emake -j1 DESTDIR="${D}" install
+
+	if use perl ; then
+		perl_delete_localpod
+		if ! use X; then
+			rm "${D}"/usr/bin/tkmib || die
+		fi
+	else
+		rm -f \
+			"${D}"/usr/bin/fixproc \
+			"${D}"/usr/bin/ipf-mod.pl \
+			"${D}"/usr/bin/mib2c \
+			"${D}"/usr/bin/net-snmp-cert \
+			"${D}"/usr/bin/snmp-bridge-mib \
+			"${D}"/usr/bin/snmpcheck \
+			"${D}"/usr/bin/snmpconf \
+			"${D}"/usr/bin/tkmib \
+			"${D}"/usr/bin/traptoemail \
+			"${D}"/usr/share/snmp/mib2c.perl.conf \
+			"${D}"/usr/share/snmp/snmp_perl_trapd.pl \
+			|| die
+	fi
+
+	dodoc AGENT.txt ChangeLog FAQ INSTALL NEWS PORTING README* TODO
+	newdoc EXAMPLE.conf.def EXAMPLE.conf
+
+	use doc && dohtml docs/html/*
+
+	keepdir /var/lib/net-snmp
+
+	newinitd "${FILESDIR}"/snmpd.init.2 snmpd
+	newconfd "${FILESDIR}"/snmpd.conf snmpd
+
+	newinitd "${FILESDIR}"/snmptrapd.init.2 snmptrapd
+	newconfd "${FILESDIR}"/snmptrapd.conf snmptrapd
+
+	systemd_dounit "${FILESDIR}"/snmpd.service
+	systemd_dounit "${FILESDIR}"/snmptrapd.service
+
+	insinto /etc/snmp
+	newins "${S}"/EXAMPLE.conf snmpd.conf.example
+
+	# Remove everything not required for an agent.
+	# Keep only the snmpd, snmptrapd, MIBs, headers and libraries.
+	if use minimal; then
+		rm -rf \
+			"${D}"/**/*.pl \
+			"${D}"/usr/bin/{encode_keychange,snmp{get,getnext,set,usm,walk,bulkwalk,table,trap,bulkget,translate,status,delta,test,df,vacm,netstat,inform,check,conf},fixproc,traptoemail} \
+			"${D}"/usr/share/snmp/*.conf \
+			"${D}"/usr/share/snmp/snmpconf-data \
+			|| die
+	fi
+}


^ permalink raw reply related	[flat|nested] 2+ messages in thread

* [gentoo-commits] dev/dilfridge:master commit in: net-analyzer/net-snmp/files/, net-analyzer/net-snmp/
@ 2016-05-21  1:10 Andreas Hüttel
  0 siblings, 0 replies; 2+ messages in thread
From: Andreas Hüttel @ 2016-05-21  1:10 UTC (permalink / raw
  To: gentoo-commits

commit:     3730369bdad6484faef48833dfd145dad278f744
Author:     Andreas K. Hüttel <dilfridge <AT> gentoo <DOT> org>
AuthorDate: Sat May 21 01:10:27 2016 +0000
Commit:     Andreas Hüttel <dilfridge <AT> gentoo <DOT> org>
CommitDate: Sat May 21 01:10:27 2016 +0000
URL:        https://gitweb.gentoo.org/dev/dilfridge.git/commit/?id=3730369b

net-analyzer/net-snmp: Move large patches to distfiles

Package-Manager: portage-2.3.0_rc1

 net-analyzer/net-snmp/Manifest                     |    2 +
 .../net-snmp/files/net-snmp-5.7.3-perl524-2.patch  |   74 -
 .../net-snmp/files/net-snmp-5.7.3-perl524.patch    | 2519 --------------------
 net-analyzer/net-snmp/net-snmp-5.7.3-r5.ebuild     |    7 +-
 4 files changed, 7 insertions(+), 2595 deletions(-)

diff --git a/net-analyzer/net-snmp/Manifest b/net-analyzer/net-snmp/Manifest
index f261269..021996c 100644
--- a/net-analyzer/net-snmp/Manifest
+++ b/net-analyzer/net-snmp/Manifest
@@ -1,2 +1,4 @@
 DIST net-snmp-5.7.3-patches-2.tar.xz 3312 SHA256 a72732f9e40988ef1d79b6750c7ef7f56accbf5a32543dd15c000e58b1e9054c SHA512 22ca6cc4dd1fd58a8cff53881d248155dbfdab765e9a3664320c8c4a5cfa35e741adfb0304bb38be7719ba1c7418f9b0f9178719951b82d70257c3c944c450ad WHIRLPOOL 509da418db4c380f431af1d2d342bea4bd18caad99f2fb8120466ffcbbe8d2e09702a28b43b59d2a633ae3566d599a82a221eae4e9ac601a545445c614d3459f
+DIST net-snmp-5.7.3-perl524-2.patch.gz 523 SHA256 237e34a5de032c2173de836ef694583d144717b3441903a7c52f409c0038ca08 SHA512 bede47234b809d67f33c46654f3d09d0b255d835fb97eea23bfa888922dfb80ad287c305596a6b041ed03ec91dc7c647ecd54c3c79e0b4ce08978332de3cc007 WHIRLPOOL c81e8dd2234b090c48e1adfa075d5817263364ade0e39e59c2ecf99e1a3862e6eac70cbfc7eef592de12ecc02d66baf9ae651e2f085936dde4d38f975aef0aed
+DIST net-snmp-5.7.3-perl524.patch.gz 9072 SHA256 e8dfa8546aafc4afa03f8e26d330b92f22ded0674c68a4083bd3c8fb9ad5a418 SHA512 2d3184ac7c96f75af5bf8c8d23f33d5636c701e052a638e5403a8d5aa34985abc38f6a366ba09a1d8499a05fd71d939a7ed4d530661e56a726386603b6f6e6a4 WHIRLPOOL de180f600feeb94ae1cfd6b2e74f96c59618bc0696938e96d93163cd3b0a33c5426bbc2e6523b75cdaadf10018c07806cc8bd79f9c94593633915b33a2d6278a
 DIST net-snmp-5.7.3.tar.gz 6382428 SHA256 12ef89613c7707dc96d13335f153c1921efc9d61d3708ef09f3fc4a7014fb4f0 SHA512 0758bba5844cfd6c80959ac16b83906a2f830ba49fd0ab1bf9e191dc6a79d312a2e4760bd53b3e1a1c82759481f0064d088d5a3cf475d84b25679a6bd0f049bb WHIRLPOOL ee741c1278206dd8dae00e085629e7c13ce518ad1911af804872ccaba576ab4d234f7801dbb447ae1ddba8196d43d1dbcd46c4bd8f69aa9dc9eb1662ce5e718a

diff --git a/net-analyzer/net-snmp/files/net-snmp-5.7.3-perl524-2.patch b/net-analyzer/net-snmp/files/net-snmp-5.7.3-perl524-2.patch
deleted file mode 100644
index 3a3ea40..0000000
--- a/net-analyzer/net-snmp/files/net-snmp-5.7.3-perl524-2.patch
+++ /dev/null
@@ -1,74 +0,0 @@
-Adapted from
-https://rt.perl.org/Public/Bug/Display.html?id=125907
-https://svnweb.freebsd.org/ports/head/net-mgmt/net-snmp/files/patch-perl5.23?view=markup
-
---- perl/ASN/Makefile.PL.orig	2014-12-08 20:23:22 UTC
-+++ perl/ASN/Makefile.PL
-@@ -1,3 +1,4 @@
-+package ASN;
- use ExtUtils::MakeMaker;
- require 5;
- use Config;
---- perl/AnyData_SNMP/Makefile.PL.orig	2015-09-03 22:27:45 UTC
-+++ perl/AnyData_SNMP/Makefile.PL
-@@ -1,3 +1,4 @@
-+package AnyData_SNMP;
- use ExtUtils::MakeMaker;
- # See lib/ExtUtils/MakeMaker.pm for details of how to influence
- # the contents of the Makefile that is written.
---- perl/OID/Makefile.PL.orig	2014-12-08 20:23:22 UTC
-+++ perl/OID/Makefile.PL
-@@ -1,3 +1,4 @@
-+package OID;
- # See lib/ExtUtils/MakeMaker.pm for details of how to influence
- # the contents of the Makefile that is written.
- 
---- perl/SNMP/Makefile.PL.orig	2014-12-08 20:23:22 UTC
-+++ perl/SNMP/Makefile.PL
-@@ -1,3 +1,4 @@
-+package SNMP;
- use ExtUtils::MakeMaker;
- require 5;
- use Config;
---- perl/TrapReceiver/Makefile.PL.orig	2014-12-08 20:23:22 UTC
-+++ perl/TrapReceiver/Makefile.PL
-@@ -1,3 +1,4 @@
-+package TrapReceiver;
- use ExtUtils::MakeMaker;
- require 5;
- use Config;
---- perl/agent/Makefile.PL.orig	2014-12-08 20:23:22 UTC
-+++ perl/agent/Makefile.PL
-@@ -1,3 +1,4 @@
-+package agent;
- use ExtUtils::MakeMaker;
- require 5;
- use Config;
---- perl/agent/Support/Makefile.PL.orig	2014-12-08 20:23:22 UTC
-+++ perl/agent/Support/Makefile.PL
-@@ -1,3 +1,4 @@
-+package agent_Support;
- use ExtUtils::MakeMaker;
- require 5;
- use Config;
---- perl/agent/default_store/Makefile.PL.orig	2014-12-08 20:23:22 UTC
-+++ perl/agent/default_store/Makefile.PL
-@@ -1,3 +1,4 @@
-+package agent_default_store;
- use ExtUtils::MakeMaker;
- require 5;
- use Config;
---- perl/default_store/Makefile.PL.orig	2014-12-08 20:23:22 UTC
-+++ perl/default_store/Makefile.PL
-@@ -1,3 +1,4 @@
-+package default_store;
- use ExtUtils::MakeMaker;
- require 5;
- use Config;
---- perl/manager/Makefile.PL.orig	2014-12-08 20:23:22 UTC
-+++ perl/manager/Makefile.PL
-@@ -1,3 +1,4 @@
-+package manager;
- use ExtUtils::MakeMaker;
- # See lib/ExtUtils/MakeMaker.pm for details of how to influence
- # the contents of the Makefile that is written.

diff --git a/net-analyzer/net-snmp/files/net-snmp-5.7.3-perl524.patch b/net-analyzer/net-snmp/files/net-snmp-5.7.3-perl524.patch
deleted file mode 100644
index 40e5402..0000000
--- a/net-analyzer/net-snmp/files/net-snmp-5.7.3-perl524.patch
+++ /dev/null
@@ -1,2519 +0,0 @@
-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.2
-

diff --git a/net-analyzer/net-snmp/net-snmp-5.7.3-r5.ebuild b/net-analyzer/net-snmp/net-snmp-5.7.3-r5.ebuild
index 1f71424..e3f672e 100644
--- a/net-analyzer/net-snmp/net-snmp-5.7.3-r5.ebuild
+++ b/net-analyzer/net-snmp/net-snmp-5.7.3-r5.ebuild
@@ -17,6 +17,8 @@ HOMEPAGE="http://net-snmp.sourceforge.net/"
 SRC_URI="
 	mirror://sourceforge/project/${PN}/${PN}/${PV}/${P}.tar.gz
 	https://dev.gentoo.org/~jer/${PN}-5.7.3-patches-${PATCHSET}.tar.xz
+	https://dev.gentoo.org/~dilfridge/distfiles/${P}-perl524.patch.gz
+	https://dev.gentoo.org/~dilfridge/distfiles/${P}-perl524-2.patch.gz
 "
 
 S=${WORKDIR}/${P/_/.}
@@ -77,8 +79,9 @@ pkg_setup() {
 src_prepare() {
 	# snmpconf generates config files with proper selinux context
 	use selinux && epatch "${FILESDIR}"/${PN}-5.1.2-snmpconf-selinux.patch
-	epatch "${FILESDIR}"/${P}-perl524.patch
-	epatch "${FILESDIR}"/${P}-perl524-2.patch
+
+	epatch "${WORKDIR}"/${P}-perl524.patch
+	epatch "${WORKDIR}"/${P}-perl524-2.patch
 
 	epatch "${WORKDIR}"/patches/*.patch
 


^ permalink raw reply related	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2016-05-21  1:10 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-05-15 11:24 [gentoo-commits] dev/dilfridge:master commit in: net-analyzer/net-snmp/files/, net-analyzer/net-snmp/ Andreas Hüttel
  -- strict thread matches above, loose matches on Subject: below --
2016-05-21  1:10 Andreas Hüttel

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox