Separate out top-level "public API" library header files from the "internal"
library header files.  These are still available for use by application
developers, but this split makes it clearer what may change in the future
and what can be relied upon to be stable.


git-svn-id: file:///home/hardaker/lib/sf-bkups/net-snmp-convert-svnrepo/trunk@6330 06827809-a52a-0410-b366-d66718629ded
diff --git a/include/net-snmp/config_api.h b/include/net-snmp/config_api.h
index bcbbb0c..a1b18b3 100644
--- a/include/net-snmp/config_api.h
+++ b/include/net-snmp/config_api.h
@@ -18,14 +18,14 @@
      *  But for the time being, this header file is a placeholder,
      *  to allow application writers to adopt the new header file names.
      */
-#include <net-snmp/snmp_api.h>
+#include <net-snmp/library/snmp_api.h>
 
-#include <net-snmp/read_config.h>
-#include <net-snmp/default_store.h>
+#include <net-snmp/library/read_config.h>
+#include <net-snmp/library/default_store.h>
 
 #include <stdio.h>	/* for FILE definition */
-#include <net-snmp/snmp_parse_args.h>
-#include <net-snmp/snmp_enum.h>
-#include <net-snmp/vacm.h>
+#include <net-snmp/library/snmp_parse_args.h>
+#include <net-snmp/library/snmp_enum.h>
+#include <net-snmp/library/vacm.h>
 
 #endif /* NET_SNMP_CONFIG_API_H */
diff --git a/include/net-snmp/definitions.h b/include/net-snmp/definitions.h
index 0b3d4fa..538bcb0 100644
--- a/include/net-snmp/definitions.h
+++ b/include/net-snmp/definitions.h
@@ -21,11 +21,11 @@
      */
 
 #include <net-snmp/types.h>	/* for oid */
-#include <net-snmp/snmp_api.h>
-#include <net-snmp/asn1.h>
-#include <net-snmp/snmp_impl.h>
-#include <net-snmp/snmp.h>
-#include <net-snmp/snmp-tc.h>
-/* #include <net-snmp/libsnmp.h> */
+#include <net-snmp/library/snmp_api.h>
+#include <net-snmp/library/asn1.h>
+#include <net-snmp/library/snmp_impl.h>
+#include <net-snmp/library/snmp.h>
+#include <net-snmp/library/snmp-tc.h>
+/* #include <net-snmp/library/libsnmp.h> */
 
 #endif /* NET_SNMP_DEFINITIONS_H */
diff --git a/include/net-snmp/library/README b/include/net-snmp/library/README
new file mode 100644
index 0000000..daac670
--- /dev/null
+++ b/include/net-snmp/library/README
@@ -0,0 +1,67 @@
+One of the goals of the Net-SNMP v5 development line, is to try and
+clarify the distinction between the "public" library API, and routines
+that are regarded as being more "internal" to the library.
+
+  This doesn't mean that application writers are discouraged from
+making use of such internal routines.  There is a strong feeling
+within the development team that as much as possible of the library
+should be made externally visible, to support writing as wide a
+range of applications as possible.  To that end, most routines
+will be declared within an installed header file, rather than
+privately within the library code files themselves.
+
+  The public/internal categorisation is rather concerned with issues
+of documentation, stability, and ease of programming.  The public
+API routines have been selected as those covering the more common
+requirements (e.g. creating SNMP requests, sending them to other SNMP
+agents, and interpreting the results), together with certain supporting
+activities (e.g. run-time configuration).
+
+  The intention is that these routines should be properly documented,
+and remain relatively stable.  We will attempt to avoid changing the
+profile of these interfaces, and would normally provide some mechanism
+to retain backward compatability if need be.
+
+  On the other hand, the internal API routines are regarded as just
+that - "internal" - so may legitimately be changed without providing
+any compatability mechanism.  You are perfectly free to make use of
+these routines, but be aware that you do so "at your own risk".
+
+[This statement is in no way intended to challenge or amend the status
+ of the disclaimers in the top-level 'COPYING' file, which remain
+ unchanged  as the legal basis for using this code]
+
+
+  There are (currently) eight main "public API" header files, relating
+to various areas of SNMP programming, plus a combined "all-in-one"
+header file (net-snmp-includes.h).
+  Currently these simply include the relevant library header files
+following the UCD-SNMP organisation.  However, the intention is for
+future releases to declare the public API calls directly within these
+top-level header files, and use the 'library/*.h' files for the more
+internal calls.  (i.e. those that are more likely to change over time).
+
+  Until this process can be started, the best approximation to the
+"public API" list is probably those routines that are documented
+in manual pages.  Apologies for any confusion, but hopefully this
+process will result in a clearer end result than at present.
+
+Applications writers are encouraged to start #including the new header
+files as soon as possible - either individually, or using the combined
+wrapper file.  Hopefully, with only a handful of top-level files, it
+will be reasonably clear which file(s) might be appropriate for any
+particular programming requirement.
+
+
+
+  One final disclaimer:  The above description represents my own
+personal aims and understanding of the likely development of the
+library API.  While I have every confidence in having the support of
+the other developers (or being able to persuade them of the benefits
+of this approach!), it may turn out that things actually take a different
+route.  Anyone wishing to influence the organisation of the eventual
+library API is encouraged to subscribe to the net-snmp-coders mailing
+list, and contribute to the discussions there.
+
+Dave Shield
+February 2002
diff --git a/include/net-snmp/asn1.h b/include/net-snmp/library/asn1.h
similarity index 100%
rename from include/net-snmp/asn1.h
rename to include/net-snmp/library/asn1.h
diff --git a/include/net-snmp/callback.h b/include/net-snmp/library/callback.h
similarity index 100%
rename from include/net-snmp/callback.h
rename to include/net-snmp/library/callback.h
diff --git a/include/net-snmp/cmu_compat.h b/include/net-snmp/library/cmu_compat.h
similarity index 100%
rename from include/net-snmp/cmu_compat.h
rename to include/net-snmp/library/cmu_compat.h
diff --git a/include/net-snmp/data_list.h b/include/net-snmp/library/data_list.h
similarity index 100%
rename from include/net-snmp/data_list.h
rename to include/net-snmp/library/data_list.h
diff --git a/include/net-snmp/default_store.h b/include/net-snmp/library/default_store.h
similarity index 100%
rename from include/net-snmp/default_store.h
rename to include/net-snmp/library/default_store.h
diff --git a/include/net-snmp/getopt.h b/include/net-snmp/library/getopt.h
similarity index 100%
rename from include/net-snmp/getopt.h
rename to include/net-snmp/library/getopt.h
diff --git a/include/net-snmp/int64.h b/include/net-snmp/library/int64.h
similarity index 100%
rename from include/net-snmp/int64.h
rename to include/net-snmp/library/int64.h
diff --git a/include/net-snmp/keytools.h b/include/net-snmp/library/keytools.h
similarity index 100%
rename from include/net-snmp/keytools.h
rename to include/net-snmp/library/keytools.h
diff --git a/include/net-snmp/lcd_time.h b/include/net-snmp/library/lcd_time.h
similarity index 100%
rename from include/net-snmp/lcd_time.h
rename to include/net-snmp/library/lcd_time.h
diff --git a/include/net-snmp/libsnmp.h b/include/net-snmp/library/libsnmp.h
similarity index 100%
rename from include/net-snmp/libsnmp.h
rename to include/net-snmp/library/libsnmp.h
diff --git a/include/net-snmp/md5.h b/include/net-snmp/library/md5.h
similarity index 100%
rename from include/net-snmp/md5.h
rename to include/net-snmp/library/md5.h
diff --git a/include/net-snmp/mib.h b/include/net-snmp/library/mib.h
similarity index 100%
rename from include/net-snmp/mib.h
rename to include/net-snmp/library/mib.h
diff --git a/include/net-snmp/mt_support.h b/include/net-snmp/library/mt_support.h
similarity index 100%
rename from include/net-snmp/mt_support.h
rename to include/net-snmp/library/mt_support.h
diff --git a/include/net-snmp/oid_array.h b/include/net-snmp/library/oid_array.h
similarity index 100%
rename from include/net-snmp/oid_array.h
rename to include/net-snmp/library/oid_array.h
diff --git a/include/net-snmp/oid_stash.h b/include/net-snmp/library/oid_stash.h
similarity index 100%
rename from include/net-snmp/oid_stash.h
rename to include/net-snmp/library/oid_stash.h
diff --git a/include/net-snmp/parse.h b/include/net-snmp/library/parse.h
similarity index 100%
rename from include/net-snmp/parse.h
rename to include/net-snmp/library/parse.h
diff --git a/include/net-snmp/read_config.h b/include/net-snmp/library/read_config.h
similarity index 100%
rename from include/net-snmp/read_config.h
rename to include/net-snmp/library/read_config.h
diff --git a/include/net-snmp/scapi.h b/include/net-snmp/library/scapi.h
similarity index 100%
rename from include/net-snmp/scapi.h
rename to include/net-snmp/library/scapi.h
diff --git a/include/net-snmp/snmp-tc.h b/include/net-snmp/library/snmp-tc.h
similarity index 100%
rename from include/net-snmp/snmp-tc.h
rename to include/net-snmp/library/snmp-tc.h
diff --git a/include/net-snmp/snmp.h b/include/net-snmp/library/snmp.h
similarity index 100%
rename from include/net-snmp/snmp.h
rename to include/net-snmp/library/snmp.h
diff --git a/include/net-snmp/snmpAAL5PVCDomain.h b/include/net-snmp/library/snmpAAL5PVCDomain.h
similarity index 100%
rename from include/net-snmp/snmpAAL5PVCDomain.h
rename to include/net-snmp/library/snmpAAL5PVCDomain.h
diff --git a/include/net-snmp/snmpCallbackDomain.h b/include/net-snmp/library/snmpCallbackDomain.h
similarity index 100%
rename from include/net-snmp/snmpCallbackDomain.h
rename to include/net-snmp/library/snmpCallbackDomain.h
diff --git a/include/net-snmp/snmpIPXDomain.h b/include/net-snmp/library/snmpIPXDomain.h
similarity index 100%
rename from include/net-snmp/snmpIPXDomain.h
rename to include/net-snmp/library/snmpIPXDomain.h
diff --git a/include/net-snmp/snmpTCPDomain.h b/include/net-snmp/library/snmpTCPDomain.h
similarity index 100%
rename from include/net-snmp/snmpTCPDomain.h
rename to include/net-snmp/library/snmpTCPDomain.h
diff --git a/include/net-snmp/snmpTCPIPv6Domain.h b/include/net-snmp/library/snmpTCPIPv6Domain.h
similarity index 100%
rename from include/net-snmp/snmpTCPIPv6Domain.h
rename to include/net-snmp/library/snmpTCPIPv6Domain.h
diff --git a/include/net-snmp/snmpUDPDomain.h b/include/net-snmp/library/snmpUDPDomain.h
similarity index 100%
rename from include/net-snmp/snmpUDPDomain.h
rename to include/net-snmp/library/snmpUDPDomain.h
diff --git a/include/net-snmp/snmpUDPIPv6Domain.h b/include/net-snmp/library/snmpUDPIPv6Domain.h
similarity index 100%
rename from include/net-snmp/snmpUDPIPv6Domain.h
rename to include/net-snmp/library/snmpUDPIPv6Domain.h
diff --git a/include/net-snmp/snmpUnixDomain.h b/include/net-snmp/library/snmpUnixDomain.h
similarity index 100%
rename from include/net-snmp/snmpUnixDomain.h
rename to include/net-snmp/library/snmpUnixDomain.h
diff --git a/include/net-snmp/snmp_alarm.h b/include/net-snmp/library/snmp_alarm.h
similarity index 100%
rename from include/net-snmp/snmp_alarm.h
rename to include/net-snmp/library/snmp_alarm.h
diff --git a/include/net-snmp/snmp_api.h b/include/net-snmp/library/snmp_api.h
similarity index 100%
rename from include/net-snmp/snmp_api.h
rename to include/net-snmp/library/snmp_api.h
diff --git a/include/net-snmp/snmp_client.h b/include/net-snmp/library/snmp_client.h
similarity index 100%
rename from include/net-snmp/snmp_client.h
rename to include/net-snmp/library/snmp_client.h
diff --git a/include/net-snmp/snmp_debug.h b/include/net-snmp/library/snmp_debug.h
similarity index 100%
rename from include/net-snmp/snmp_debug.h
rename to include/net-snmp/library/snmp_debug.h
diff --git a/include/net-snmp/snmp_enum.h b/include/net-snmp/library/snmp_enum.h
similarity index 100%
rename from include/net-snmp/snmp_enum.h
rename to include/net-snmp/library/snmp_enum.h
diff --git a/include/net-snmp/snmp_impl.h b/include/net-snmp/library/snmp_impl.h
similarity index 100%
rename from include/net-snmp/snmp_impl.h
rename to include/net-snmp/library/snmp_impl.h
diff --git a/include/net-snmp/snmp_locking.h b/include/net-snmp/library/snmp_locking.h
similarity index 100%
rename from include/net-snmp/snmp_locking.h
rename to include/net-snmp/library/snmp_locking.h
diff --git a/include/net-snmp/snmp_logging.h b/include/net-snmp/library/snmp_logging.h
similarity index 100%
rename from include/net-snmp/snmp_logging.h
rename to include/net-snmp/library/snmp_logging.h
diff --git a/include/net-snmp/snmp_parse_args.h b/include/net-snmp/library/snmp_parse_args.h
similarity index 100%
rename from include/net-snmp/snmp_parse_args.h
rename to include/net-snmp/library/snmp_parse_args.h
diff --git a/include/net-snmp/snmp_secmod.h b/include/net-snmp/library/snmp_secmod.h
similarity index 100%
rename from include/net-snmp/snmp_secmod.h
rename to include/net-snmp/library/snmp_secmod.h
diff --git a/include/net-snmp/snmp_transport.h b/include/net-snmp/library/snmp_transport.h
similarity index 100%
rename from include/net-snmp/snmp_transport.h
rename to include/net-snmp/library/snmp_transport.h
diff --git a/include/net-snmp/snmpksm.h b/include/net-snmp/library/snmpksm.h
similarity index 100%
rename from include/net-snmp/snmpksm.h
rename to include/net-snmp/library/snmpksm.h
diff --git a/include/net-snmp/snmpusm.h b/include/net-snmp/library/snmpusm.h
similarity index 100%
rename from include/net-snmp/snmpusm.h
rename to include/net-snmp/library/snmpusm.h
diff --git a/include/net-snmp/snmpv3.h b/include/net-snmp/library/snmpv3.h
similarity index 100%
rename from include/net-snmp/snmpv3.h
rename to include/net-snmp/library/snmpv3.h
diff --git a/include/net-snmp/system.h b/include/net-snmp/library/system.h
similarity index 100%
rename from include/net-snmp/system.h
rename to include/net-snmp/library/system.h
diff --git a/include/net-snmp/tools.h b/include/net-snmp/library/tools.h
similarity index 100%
rename from include/net-snmp/tools.h
rename to include/net-snmp/library/tools.h
diff --git a/include/net-snmp/transform_oids.h b/include/net-snmp/library/transform_oids.h
similarity index 100%
rename from include/net-snmp/transform_oids.h
rename to include/net-snmp/library/transform_oids.h
diff --git a/include/net-snmp/ucd_compat.h b/include/net-snmp/library/ucd_compat.h
similarity index 100%
rename from include/net-snmp/ucd_compat.h
rename to include/net-snmp/library/ucd_compat.h
diff --git a/include/net-snmp/vacm.h b/include/net-snmp/library/vacm.h
similarity index 100%
rename from include/net-snmp/vacm.h
rename to include/net-snmp/library/vacm.h
diff --git a/include/net-snmp/version.h b/include/net-snmp/library/version.h
similarity index 100%
rename from include/net-snmp/version.h
rename to include/net-snmp/library/version.h
diff --git a/include/net-snmp/mib_api.h b/include/net-snmp/mib_api.h
index b66a8bc..c5f05fb 100644
--- a/include/net-snmp/mib_api.h
+++ b/include/net-snmp/mib_api.h
@@ -18,12 +18,12 @@
      *  to allow application writers to adopt the new header file names.
      */
 
-#include <net-snmp/snmp_api.h>
+#include <net-snmp/library/snmp_api.h>
 
-#include <net-snmp/mib.h>
-#include <net-snmp/parse.h>
-#include <net-snmp/oid_array.h>
-#include <net-snmp/oid_stash.h>
-#include <net-snmp/ucd_compat.h>
+#include <net-snmp/library/mib.h>
+#include <net-snmp/library/parse.h>
+#include <net-snmp/library/oid_array.h>
+#include <net-snmp/library/oid_stash.h>
+#include <net-snmp/library/ucd_compat.h>
 
 #endif /* NET_SNMP_MIB_API_H */
diff --git a/include/net-snmp/net-snmp-includes.h b/include/net-snmp/net-snmp-includes.h
index 747f67f..7cd84ec 100644
--- a/include/net-snmp/net-snmp-includes.h
+++ b/include/net-snmp/net-snmp-includes.h
@@ -64,7 +64,7 @@
 #include <net-snmp/snmpv3_api.h>
 
 #ifdef CMU_COMPATIBLE
-#include <net-snmp/cmu_compat.h>
+#include <net-snmp/library/cmu_compat.h>
 #endif
 
 #endif /* NET_SNMP_INCLUDES_H */
diff --git a/include/net-snmp/output_api.h b/include/net-snmp/output_api.h
index 70fe68a..b6dc86d 100644
--- a/include/net-snmp/output_api.h
+++ b/include/net-snmp/output_api.h
@@ -19,9 +19,9 @@
      *  to allow application writers to adopt the new header file names.
      */
 
-#include <net-snmp/snmp_client.h>
-#include <net-snmp/snmp_debug.h>
-#include <net-snmp/snmp_logging.h>
+#include <net-snmp/library/snmp_client.h>
+#include <net-snmp/library/snmp_debug.h>
+#include <net-snmp/library/snmp_logging.h>
 
 #ifndef ERROR_MSG
 #define ERROR_MSG(string)	snmp_set_detail(string)
diff --git a/include/net-snmp/pdu_api.h b/include/net-snmp/pdu_api.h
index 13a2d26..b68b827 100644
--- a/include/net-snmp/pdu_api.h
+++ b/include/net-snmp/pdu_api.h
@@ -18,8 +18,8 @@
      *  to allow application writers to adopt the new header file names.
      */
 
-#include <net-snmp/snmp_api.h>
-#include <net-snmp/snmp_client.h>
-#include <net-snmp/asn1.h>
+#include <net-snmp/library/snmp_api.h>
+#include <net-snmp/library/snmp_client.h>
+#include <net-snmp/library/asn1.h>
 
 #endif /* NET_SNMP_PDU_API_H */
diff --git a/include/net-snmp/session_api.h b/include/net-snmp/session_api.h
index 89fd6be..3b902f1 100644
--- a/include/net-snmp/session_api.h
+++ b/include/net-snmp/session_api.h
@@ -19,35 +19,35 @@
      *  to allow application writers to adopt the new header file names.
      */
 
-#include <net-snmp/snmp_api.h>
-#include <net-snmp/snmp_client.h>
-#include <net-snmp/asn1.h>
-#include <net-snmp/callback.h>
+#include <net-snmp/library/snmp_api.h>
+#include <net-snmp/library/snmp_client.h>
+#include <net-snmp/library/asn1.h>
+#include <net-snmp/library/callback.h>
 
-#include <net-snmp/snmp_transport.h>
-#include <net-snmp/snmpCallbackDomain.h>
+#include <net-snmp/library/snmp_transport.h>
+#include <net-snmp/library/snmpCallbackDomain.h>
 #ifdef SNMP_TRANSPORT_UNIX_DOMAIN
-#include <net-snmp/snmpUnixDomain.h>
+#include <net-snmp/library/snmpUnixDomain.h>
 #endif
 #ifdef SNMP_TRANSPORT_UDP_DOMAIN
-#include <net-snmp/snmpUDPDomain.h>
+#include <net-snmp/library/snmpUDPDomain.h>
 #endif
 #ifdef SNMP_TRANSPORT_TCP_DOMAIN
-#include <net-snmp/snmpTCPDomain.h>
+#include <net-snmp/library/snmpTCPDomain.h>
 #endif
 #ifdef SNMP_TRANSPORT_UDPIPV6_DOMAIN
-#include <net-snmp/snmpUDPIPv6Domain.h>
+#include <net-snmp/library/snmpUDPIPv6Domain.h>
 #endif
 #ifdef SNMP_TRANSPORT_TCPIPV6_DOMAIN
-#include <net-snmp/snmpTCPIPv6Domain.h>
+#include <net-snmp/library/snmpTCPIPv6Domain.h>
 #endif
 #ifdef SNMP_TRANSPORT_IPX_DOMAIN
-#include <net-snmp/snmpIPXDomain.h>
+#include <net-snmp/library/snmpIPXDomain.h>
 #endif
 #ifdef SNMP_TRANSPORT_AAL5PVC_DOMAIN
-#include <net-snmp/snmpAAL5PVCDomain.h>
+#include <net-snmp/library/snmpAAL5PVCDomain.h>
 #endif
 
-#include <net-snmp/ucd_compat.h>
+#include <net-snmp/library/ucd_compat.h>
 
 #endif /* NET_SNMP_SESSION_API_H */
diff --git a/include/net-snmp/snmpv3_api.h b/include/net-snmp/snmpv3_api.h
index 9c285b1..8e50a55 100644
--- a/include/net-snmp/snmpv3_api.h
+++ b/include/net-snmp/snmpv3_api.h
@@ -21,20 +21,20 @@
      *  to allow application writers to adopt the new header file names.
      */
 
-#include <net-snmp/snmp_api.h>
+#include <net-snmp/library/snmp_api.h>
 
-#include <net-snmp/callback.h>
-#include <net-snmp/snmpv3.h>
-#include <net-snmp/transform_oids.h>
-#include <net-snmp/keytools.h>
-#include <net-snmp/scapi.h>
-#include <net-snmp/lcd_time.h>
+#include <net-snmp/library/callback.h>
+#include <net-snmp/library/snmpv3.h>
+#include <net-snmp/library/transform_oids.h>
+#include <net-snmp/library/keytools.h>
+#include <net-snmp/library/scapi.h>
+#include <net-snmp/library/lcd_time.h>
 #ifdef USE_INTERNAL_MD5
-#include <net-snmp/md5.h>
+#include <net-snmp/library/md5.h>
 #endif
 
-#include <net-snmp/snmp_secmod.h>
-#include <net-snmp/snmpksm.h>
-#include <net-snmp/snmpusm.h>
+#include <net-snmp/library/snmp_secmod.h>
+#include <net-snmp/library/snmpksm.h>
+#include <net-snmp/library/snmpusm.h>
 
 #endif /* NET_SNMP_SNMPV3_H */
diff --git a/include/net-snmp/types.h b/include/net-snmp/types.h
index 2b72d52..b0803fa 100644
--- a/include/net-snmp/types.h
+++ b/include/net-snmp/types.h
@@ -30,7 +30,7 @@
      */
 
 #include <net-snmp/definitions.h>
-#include <net-snmp/snmp_api.h>
-/* #include <net-snmp/libsnmp.h> */
+#include <net-snmp/library/snmp_api.h>
+/* #include <net-snmp/library/libsnmp.h> */
 
 #endif /* NET_SNMP_TYPES_H */
diff --git a/include/net-snmp/utilities.h b/include/net-snmp/utilities.h
index 4f56000..d17cbae 100644
--- a/include/net-snmp/utilities.h
+++ b/include/net-snmp/utilities.h
@@ -22,26 +22,26 @@
      *  to allow application writers to adopt the new header file names.
      */
 
-#include <net-snmp/snmp_api.h>
-#include <net-snmp/snmp_client.h>
-#include <net-snmp/getopt.h>
+#include <net-snmp/library/snmp_api.h>
+#include <net-snmp/library/snmp_client.h>
+#include <net-snmp/library/getopt.h>
 
 #ifdef HAVE_NETINET_IN_H
 #include <netinet/in.h>			/* for in_addr_t */
 #endif
-#include <net-snmp/system.h>
-#include <net-snmp/tools.h>
-#include <net-snmp/asn1.h>		/* for counter64 */
-#include <net-snmp/int64.h>
+#include <net-snmp/library/system.h>
+#include <net-snmp/library/tools.h>
+#include <net-snmp/library/asn1.h>		/* for counter64 */
+#include <net-snmp/library/int64.h>
 
-#include <net-snmp/mt_support.h>
-#include <net-snmp/snmp_locking.h>
-#include <net-snmp/snmp_alarm.h>
-#include <net-snmp/data_list.h>
-#include <net-snmp/snmp.h>
-#include <net-snmp/snmp_impl.h>
-#include <net-snmp/snmp-tc.h>
+#include <net-snmp/library/mt_support.h>
+#include <net-snmp/library/snmp_locking.h>
+#include <net-snmp/library/snmp_alarm.h>
+#include <net-snmp/library/data_list.h>
+#include <net-snmp/library/snmp.h>
+#include <net-snmp/library/snmp_impl.h>
+#include <net-snmp/library/snmp-tc.h>
 
-#include <net-snmp/version.h>
+#include <net-snmp/library/version.h>
 
 #endif /* NET_SNMP_UTILITIES_H */
diff --git a/include/net-snmp/varbind_api.h b/include/net-snmp/varbind_api.h
index 318e10e..00ddc60 100644
--- a/include/net-snmp/varbind_api.h
+++ b/include/net-snmp/varbind_api.h
@@ -18,8 +18,8 @@
      *  to allow application writers to adopt the new header file names.
      */
 
-#include <net-snmp/snmp_api.h>
-#include <net-snmp/snmp_client.h>
-#include <net-snmp/mib.h>
+#include <net-snmp/library/snmp_api.h>
+#include <net-snmp/library/snmp_client.h>
+#include <net-snmp/library/mib.h>
 
 #endif /* NET_SNMP_VARBIND_API_H */
diff --git a/include/ucd-snmp/asn1.h b/include/ucd-snmp/asn1.h
index f689a33..64033c3 100644
--- a/include/ucd-snmp/asn1.h
+++ b/include/ucd-snmp/asn1.h
@@ -1,6 +1,6 @@
 #ifdef UCD_COMPATIBLE
 
-#include <net-snmp/asn1.h>
+#include <net-snmp/library/asn1.h>
 
 #else
 
diff --git a/include/ucd-snmp/callback.h b/include/ucd-snmp/callback.h
index 87f5186..62ee0d0 100644
--- a/include/ucd-snmp/callback.h
+++ b/include/ucd-snmp/callback.h
@@ -1,6 +1,6 @@
 #ifdef UCD_COMPATIBLE
 
-#include <net-snmp/callback.h>
+#include <net-snmp/library/callback.h>
 
 #else
 
diff --git a/include/ucd-snmp/default_store.h b/include/ucd-snmp/default_store.h
index 75cfeb8..c174fdb 100644
--- a/include/ucd-snmp/default_store.h
+++ b/include/ucd-snmp/default_store.h
@@ -1,6 +1,6 @@
 #ifdef UCD_COMPATIBLE
 
-#include <net-snmp/default_store.h>
+#include <net-snmp/library/default_store.h>
 
 #else
 
diff --git a/include/ucd-snmp/int64.h b/include/ucd-snmp/int64.h
index d335f95..40d9300 100644
--- a/include/ucd-snmp/int64.h
+++ b/include/ucd-snmp/int64.h
@@ -1,6 +1,6 @@
 #ifdef UCD_COMPATIBLE
 
-#include <net-snmp/int64.h>
+#include <net-snmp/library/int64.h>
 
 #else
 
diff --git a/include/ucd-snmp/keytools.h b/include/ucd-snmp/keytools.h
index 51c0db9..957ad81 100644
--- a/include/ucd-snmp/keytools.h
+++ b/include/ucd-snmp/keytools.h
@@ -1,6 +1,6 @@
 #ifdef UCD_COMPATIBLE
 
-#include <net-snmp/keytools.h>
+#include <net-snmp/library/keytools.h>
 
 #else
 
diff --git a/include/ucd-snmp/mib.h b/include/ucd-snmp/mib.h
index 9265ea7..c044866 100644
--- a/include/ucd-snmp/mib.h
+++ b/include/ucd-snmp/mib.h
@@ -1,6 +1,6 @@
 #ifdef UCD_COMPATIBLE
 
-#include <net-snmp/mib.h>
+#include <net-snmp/library/mib.h>
 
 #else
 
diff --git a/include/ucd-snmp/mibincl.h b/include/ucd-snmp/mibincl.h
index b64c724..75825fc 100644
--- a/include/ucd-snmp/mibincl.h
+++ b/include/ucd-snmp/mibincl.h
@@ -1,6 +1,6 @@
 #ifdef UCD_COMPATIBLE
 
-#include <net-snmp/mibincl.h>
+#include <net-snmp/library/mibincl.h>
 
 #else
 
diff --git a/include/ucd-snmp/parse.h b/include/ucd-snmp/parse.h
index 13576c1..e3336d4 100644
--- a/include/ucd-snmp/parse.h
+++ b/include/ucd-snmp/parse.h
@@ -1,6 +1,6 @@
 #ifdef UCD_COMPATIBLE
 
-#include <net-snmp/parse.h>
+#include <net-snmp/library/parse.h>
 
 #else
 
diff --git a/include/ucd-snmp/read_config.h b/include/ucd-snmp/read_config.h
index 6663304..f5b1f7b 100644
--- a/include/ucd-snmp/read_config.h
+++ b/include/ucd-snmp/read_config.h
@@ -1,6 +1,6 @@
 #ifdef UCD_COMPATIBLE
 
-#include <net-snmp/read_config.h>
+#include <net-snmp/library/read_config.h>
 
 #else
 
diff --git a/include/ucd-snmp/scapi.h b/include/ucd-snmp/scapi.h
index 962fe6b..eb0c516 100644
--- a/include/ucd-snmp/scapi.h
+++ b/include/ucd-snmp/scapi.h
@@ -1,6 +1,6 @@
 #ifdef UCD_COMPATIBLE
 
-#include <net-snmp/scapi.h>
+#include <net-snmp/library/scapi.h>
 
 #else
 
diff --git a/include/ucd-snmp/snmp-tc.h b/include/ucd-snmp/snmp-tc.h
index 4886cfc..85c5b6e 100644
--- a/include/ucd-snmp/snmp-tc.h
+++ b/include/ucd-snmp/snmp-tc.h
@@ -1,6 +1,6 @@
 #ifdef UCD_COMPATIBLE
 
-#include <net-snmp/snmp-tc.h>
+#include <net-snmp/library/snmp-tc.h>
 
 #else
 
diff --git a/include/ucd-snmp/snmp.h b/include/ucd-snmp/snmp.h
index 7996eff..94de11f 100644
--- a/include/ucd-snmp/snmp.h
+++ b/include/ucd-snmp/snmp.h
@@ -1,6 +1,6 @@
 #ifdef UCD_COMPATIBLE
 
-#include <net-snmp/snmp.h>
+#include <net-snmp/library/snmp.h>
 
 #else
 
diff --git a/include/ucd-snmp/snmp_alarm.h b/include/ucd-snmp/snmp_alarm.h
index e4bda4d..fa70fda 100644
--- a/include/ucd-snmp/snmp_alarm.h
+++ b/include/ucd-snmp/snmp_alarm.h
@@ -1,6 +1,6 @@
 #ifdef UCD_COMPATIBLE
 
-#include <net-snmp/snmp_alarm.h>
+#include <net-snmp/library/snmp_alarm.h>
 
 #else
 
diff --git a/include/ucd-snmp/snmp_api.h b/include/ucd-snmp/snmp_api.h
index 53c0f65..f535322 100644
--- a/include/ucd-snmp/snmp_api.h
+++ b/include/ucd-snmp/snmp_api.h
@@ -1,6 +1,6 @@
 #ifdef UCD_COMPATIBLE
 
-#include <net-snmp/snmp_api.h>
+#include <net-snmp/library/snmp_api.h>
 
 #else
 
diff --git a/include/ucd-snmp/snmp_client.h b/include/ucd-snmp/snmp_client.h
index a9f8d60..5b93981 100644
--- a/include/ucd-snmp/snmp_client.h
+++ b/include/ucd-snmp/snmp_client.h
@@ -1,6 +1,6 @@
 #ifdef UCD_COMPATIBLE
 
-#include <net-snmp/snmp_client.h>
+#include <net-snmp/library/snmp_client.h>
 
 #else
 
diff --git a/include/ucd-snmp/snmp_debug.h b/include/ucd-snmp/snmp_debug.h
index e112e2a..ee7f4a1 100644
--- a/include/ucd-snmp/snmp_debug.h
+++ b/include/ucd-snmp/snmp_debug.h
@@ -1,6 +1,6 @@
 #ifdef UCD_COMPATIBLE
 
-#include <net-snmp/snmp_debug.h>
+#include <net-snmp/library/snmp_debug.h>
 
 #else
 
diff --git a/include/ucd-snmp/snmp_impl.h b/include/ucd-snmp/snmp_impl.h
index ada52ad..73d0a3a 100644
--- a/include/ucd-snmp/snmp_impl.h
+++ b/include/ucd-snmp/snmp_impl.h
@@ -1,6 +1,6 @@
 #ifdef UCD_COMPATIBLE
 
-#include <net-snmp/snmp_impl.h>
+#include <net-snmp/library/snmp_impl.h>
 
 #else
 
diff --git a/include/ucd-snmp/snmp_logging.h b/include/ucd-snmp/snmp_logging.h
index 2059072..a6a704d 100644
--- a/include/ucd-snmp/snmp_logging.h
+++ b/include/ucd-snmp/snmp_logging.h
@@ -1,6 +1,6 @@
 #ifdef UCD_COMPATIBLE
 
-#include <net-snmp/snmp_logging.h>
+#include <net-snmp/library/snmp_logging.h>
 
 #else
 
diff --git a/include/ucd-snmp/snmp_parse_args.h b/include/ucd-snmp/snmp_parse_args.h
index 37abd9e..02b4903 100644
--- a/include/ucd-snmp/snmp_parse_args.h
+++ b/include/ucd-snmp/snmp_parse_args.h
@@ -1,6 +1,6 @@
 #ifdef UCD_COMPATIBLE
 
-#include <net-snmp/snmp_parse_args.h>
+#include <net-snmp/library/snmp_parse_args.h>
 
 #else
 
diff --git a/include/ucd-snmp/snmp_vars.h b/include/ucd-snmp/snmp_vars.h
index 68c5ad3..63930ed 100644
--- a/include/ucd-snmp/snmp_vars.h
+++ b/include/ucd-snmp/snmp_vars.h
@@ -1,6 +1,6 @@
 #ifdef UCD_COMPATIBLE
 
-#include <net-snmp/snmp_vars.h>
+#include <net-snmp/library/snmp_vars.h>
 
 #else
 
diff --git a/include/ucd-snmp/snmpusm.h b/include/ucd-snmp/snmpusm.h
index e1f53ee..a95e149 100644
--- a/include/ucd-snmp/snmpusm.h
+++ b/include/ucd-snmp/snmpusm.h
@@ -1,6 +1,6 @@
 #ifdef UCD_COMPATIBLE
 
-#include <net-snmp/snmpusm.h>
+#include <net-snmp/library/snmpusm.h>
 
 #else
 
diff --git a/include/ucd-snmp/snmpv3.h b/include/ucd-snmp/snmpv3.h
index 9afc00c..ed4fbb7 100644
--- a/include/ucd-snmp/snmpv3.h
+++ b/include/ucd-snmp/snmpv3.h
@@ -1,6 +1,6 @@
 #ifdef UCD_COMPATIBLE
 
-#include <net-snmp/snmpv3.h>
+#include <net-snmp/library/snmpv3.h>
 
 #else
 
diff --git a/include/ucd-snmp/system.h b/include/ucd-snmp/system.h
index 99d7fef..1965512 100644
--- a/include/ucd-snmp/system.h
+++ b/include/ucd-snmp/system.h
@@ -1,6 +1,6 @@
 #ifdef UCD_COMPATIBLE
 
-#include <net-snmp/system.h>
+#include <net-snmp/library/system.h>
 
 #else
 
diff --git a/include/ucd-snmp/tools.h b/include/ucd-snmp/tools.h
index 6c5b3bc..cb82b1e 100644
--- a/include/ucd-snmp/tools.h
+++ b/include/ucd-snmp/tools.h
@@ -1,6 +1,6 @@
 #ifdef UCD_COMPATIBLE
 
-#include <net-snmp/tools.h>
+#include <net-snmp/library/tools.h>
 
 #else
 
diff --git a/include/ucd-snmp/transform_oids.h b/include/ucd-snmp/transform_oids.h
index 5584c53..8276fba 100644
--- a/include/ucd-snmp/transform_oids.h
+++ b/include/ucd-snmp/transform_oids.h
@@ -1,6 +1,6 @@
 #ifdef UCD_COMPATIBLE
 
-#include <net-snmp/transform_oids.h>
+#include <net-snmp/library/transform_oids.h>
 
 #else
 
diff --git a/include/ucd-snmp/version.h b/include/ucd-snmp/version.h
index 844a51a..b73cb67 100644
--- a/include/ucd-snmp/version.h
+++ b/include/ucd-snmp/version.h
@@ -1,6 +1,6 @@
 #ifdef UCD_COMPATIBLE
 
-#include <net-snmp/version.h>
+#include <net-snmp/library/version.h>
 
 static const char *VersionInfo=NetSnmpVersionInfo;
 
diff --git a/snmplib/asn1.c b/snmplib/asn1.c
index 9a4428d..470f5a5 100644
--- a/snmplib/asn1.c
+++ b/snmplib/asn1.c
@@ -63,15 +63,15 @@
 #include <net-snmp/output_api.h>
 #include <net-snmp/utilities.h>
 
-#include <net-snmp/asn1.h>
-#include <net-snmp/int64.h>
-#include <net-snmp/mib.h>
+#include <net-snmp/library/asn1.h>
+#include <net-snmp/library/int64.h>
+#include <net-snmp/library/mib.h>
 
 #ifndef NULL
 #define NULL	0
 #endif
 
-#include <net-snmp/snmp_api.h>
+#include <net-snmp/library/snmp_api.h>
 
 static
 void _asn_size_err(const char *str, size_t wrongsize, size_t rightsize)
diff --git a/snmplib/callback.c b/snmplib/callback.c
index c8cce1e..079bf2f 100644
--- a/snmplib/callback.c
+++ b/snmplib/callback.c
@@ -26,8 +26,8 @@
 #include <net-snmp/output_api.h>
 #include <net-snmp/utilities.h>
 
-#include <net-snmp/callback.h>
-#include <net-snmp/snmp_api.h>
+#include <net-snmp/library/callback.h>
+#include <net-snmp/library/snmp_api.h>
 
 static struct snmp_gen_callback *thecallbacks[MAX_CALLBACK_IDS][MAX_CALLBACK_SUBIDS];
 
diff --git a/snmplib/data_list.c b/snmplib/data_list.c
index df519a2..8a826a0 100644
--- a/snmplib/data_list.c
+++ b/snmplib/data_list.c
@@ -11,7 +11,7 @@
 #include <string.h>
 #endif
 
-#include <net-snmp/data_list.h>
+#include <net-snmp/library/data_list.h>
 
 /***********************************************************************/
 /* New Handler based API */
diff --git a/snmplib/default_store.c b/snmplib/default_store.c
index c48fd93..cc9957f 100644
--- a/snmplib/default_store.c
+++ b/snmplib/default_store.c
@@ -30,7 +30,7 @@
 #include <net-snmp/default_store.h>	/* for "internal" definitions */
 #include <net-snmp/utilities.h>
 
-#include <net-snmp/snmp_api.h>
+#include <net-snmp/library/snmp_api.h>
 
 struct ds_read_config *ds_configs = NULL;
 
diff --git a/snmplib/int64.c b/snmplib/int64.c
index 54b6974..3caed51 100644
--- a/snmplib/int64.c
+++ b/snmplib/int64.c
@@ -20,7 +20,7 @@
 #endif
 
 #include <net-snmp/types.h>	
-#include <net-snmp/int64.h>
+#include <net-snmp/library/int64.h>
 
 #define TRUE 1
 #define FALSE 0
diff --git a/snmplib/keytools.c b/snmplib/keytools.c
index 9132b14..91961d2 100644
--- a/snmplib/keytools.c
+++ b/snmplib/keytools.c
@@ -29,19 +29,19 @@
 #include <net-snmp/output_api.h>
 #include <net-snmp/utilities.h>
 
-#include <net-snmp/snmp_api.h>
+#include <net-snmp/library/snmp_api.h>
 #ifdef USE_OPENSSL
 #	include <openssl/hmac.h>
 #else 
 #ifdef USE_INTERNAL_MD5
-#include <net-snmp/md5.h>
+#include <net-snmp/library/md5.h>
 #endif
 #endif
 
-#include <net-snmp/scapi.h>
-#include <net-snmp/keytools.h>
+#include <net-snmp/library/scapi.h>
+#include <net-snmp/library/keytools.h>
 
-#include <net-snmp/transform_oids.h>
+#include <net-snmp/library/transform_oids.h>
 
 /*******************************************************************-o-******
  * generate_Ku
diff --git a/snmplib/lcd_time.c b/snmplib/lcd_time.c
index 5111e67..cfa90f3 100644
--- a/snmplib/lcd_time.c
+++ b/snmplib/lcd_time.c
@@ -46,14 +46,14 @@
 #include <net-snmp/output_api.h>
 #include <net-snmp/utilities.h>
 
-#include <net-snmp/snmp_api.h>
-#include <net-snmp/callback.h>
-#include <net-snmp/snmp_secmod.h>
-#include <net-snmp/snmpusm.h>
-#include <net-snmp/lcd_time.h>
-#include <net-snmp/scapi.h>
+#include <net-snmp/library/snmp_api.h>
+#include <net-snmp/library/callback.h>
+#include <net-snmp/library/snmp_secmod.h>
+#include <net-snmp/library/snmpusm.h>
+#include <net-snmp/library/lcd_time.h>
+#include <net-snmp/library/scapi.h>
 
-#include <net-snmp/transform_oids.h>
+#include <net-snmp/library/transform_oids.h>
 
 
 /*
diff --git a/snmplib/md5.c b/snmplib/md5.c
index 7a943b7..0d6ee63 100644
--- a/snmplib/md5.c
+++ b/snmplib/md5.c
@@ -58,7 +58,7 @@
 #endif
 
 #include <net-snmp/utilities.h>
-#include <net-snmp/md5.h>
+#include <net-snmp/library/md5.h>
 
 /* Compile-time declarations of MD5 ``magic constants''.
 */
diff --git a/snmplib/mib.c b/snmplib/mib.c
index b5bb277..5f25a5b 100644
--- a/snmplib/mib.c
+++ b/snmplib/mib.c
@@ -73,12 +73,12 @@
 #include <net-snmp/config_api.h>
 #include <net-snmp/utilities.h>
 
-#include <net-snmp/asn1.h>
-#include <net-snmp/snmp_api.h>
-#include <net-snmp/mib.h>
-#include <net-snmp/parse.h>
-#include <net-snmp/int64.h>
-#include <net-snmp/snmp_client.h>
+#include <net-snmp/library/asn1.h>
+#include <net-snmp/library/snmp_api.h>
+#include <net-snmp/library/mib.h>
+#include <net-snmp/library/parse.h>
+#include <net-snmp/library/int64.h>
+#include <net-snmp/library/snmp_client.h>
 
 static struct tree * _sprint_objid(char *buf,const oid *objid,size_t objidlen);
 
diff --git a/snmplib/mt_support.c b/snmplib/mt_support.c
index a2c48b7..6cd9c38 100644
--- a/snmplib/mt_support.c
+++ b/snmplib/mt_support.c
@@ -10,7 +10,7 @@
 
 #include <net-snmp/net-snmp-config.h>
 #include <errno.h>
-#include <net-snmp/mt_support.h>
+#include <net-snmp/library/mt_support.h>
 
 #ifdef __cplusplus
 extern "C" {
diff --git a/snmplib/oid_array.c b/snmplib/oid_array.c
index 33ce594..c13a819 100644
--- a/snmplib/oid_array.c
+++ b/snmplib/oid_array.c
@@ -20,8 +20,8 @@
 #endif
 #include <sys/types.h>
 
-#include <net-snmp/oid_array.h>
-#include <net-snmp/snmp_api.h>
+#include <net-snmp/library/oid_array.h>
+#include <net-snmp/library/snmp_api.h>
 
 typedef struct oid_array_table_s {
     int             max_size;   /* Size of the current data table */
diff --git a/snmplib/oid_stash.c b/snmplib/oid_stash.c
index 17ecece..2e47e49 100644
--- a/snmplib/oid_stash.c
+++ b/snmplib/oid_stash.c
@@ -8,8 +8,8 @@
 #include <net-snmp/types.h>	
 #include <net-snmp/utilities.h>
 
-#include <net-snmp/snmp_api.h>
-#include <net-snmp/oid_stash.h>
+#include <net-snmp/library/snmp_api.h>
+#include <net-snmp/library/oid_stash.h>
 
 oid_stash_node *
 oid_stash_create_sized_node(size_t mysize) 
diff --git a/snmplib/parse.c b/snmplib/parse.c
index 5e6faf9..6c8e1eb 100644
--- a/snmplib/parse.c
+++ b/snmplib/parse.c
@@ -102,9 +102,9 @@
 #include <net-snmp/config_api.h>
 #include <net-snmp/utilities.h>
 
-#include <net-snmp/parse.h>
-#include <net-snmp/mib.h>
-#include <net-snmp/snmp_api.h>
+#include <net-snmp/library/parse.h>
+#include <net-snmp/library/mib.h>
+#include <net-snmp/library/snmp_api.h>
 
 /*
  * This is one element of an object identifier with either an integer
diff --git a/snmplib/read_config.c b/snmplib/read_config.c
index 56d2fa6..6b348d0 100644
--- a/snmplib/read_config.c
+++ b/snmplib/read_config.c
@@ -68,10 +68,10 @@
 #include <net-snmp/read_config.h>	/* for "internal" definitions */
 #include <net-snmp/utilities.h>
 
-#include <net-snmp/mib.h>
-#include <net-snmp/parse.h>
-#include <net-snmp/snmp_api.h>
-#include <net-snmp/callback.h>
+#include <net-snmp/library/mib.h>
+#include <net-snmp/library/parse.h>
+#include <net-snmp/library/snmp_api.h>
+#include <net-snmp/library/callback.h>
 
 static int config_errors;
 
diff --git a/snmplib/scapi.c b/snmplib/scapi.c
index bcc6466..d6cf1b8 100644
--- a/snmplib/scapi.c
+++ b/snmplib/scapi.c
@@ -40,16 +40,16 @@
 #include <net-snmp/utilities.h>
 
 #ifdef USE_INTERNAL_MD5
-#include <net-snmp/md5.h>
+#include <net-snmp/library/md5.h>
 #endif
-#include <net-snmp/snmp_api.h>
-#include <net-snmp/callback.h>
-#include <net-snmp/snmp_secmod.h>
-#include <net-snmp/snmpusm.h>
-#include <net-snmp/keytools.h>
-#include <net-snmp/scapi.h>
-#include <net-snmp/mib.h>
-#include <net-snmp/transform_oids.h>
+#include <net-snmp/library/snmp_api.h>
+#include <net-snmp/library/callback.h>
+#include <net-snmp/library/snmp_secmod.h>
+#include <net-snmp/library/snmpusm.h>
+#include <net-snmp/library/keytools.h>
+#include <net-snmp/library/scapi.h>
+#include <net-snmp/library/mib.h>
+#include <net-snmp/library/transform_oids.h>
 
 #ifdef USE_OPENSSL
 #include <openssl/hmac.h>
diff --git a/snmplib/snmp-tc.c b/snmplib/snmp-tc.c
index aa1ae73..d1e3943 100644
--- a/snmplib/snmp-tc.c
+++ b/snmplib/snmp-tc.c
@@ -32,8 +32,8 @@
 #endif
 
 #include <net-snmp/types.h>	
-#include <net-snmp/snmp-tc.h>	/* for "internal" definitions */
-#include <net-snmp/snmp_api.h>
+#include <net-snmp/library/snmp-tc.h>	/* for "internal" definitions */
+#include <net-snmp/library/snmp_api.h>
 
 u_char *
 date_n_time ( time_t *when, size_t  *length)
diff --git a/snmplib/snmp.c b/snmplib/snmp.c
index b20135f..49c8ad6 100644
--- a/snmplib/snmp.c
+++ b/snmplib/snmp.c
@@ -69,10 +69,10 @@
 #include <net-snmp/types.h>	
 #include <net-snmp/output_api.h>
 
-#include <net-snmp/asn1.h>
-#include <net-snmp/snmp.h>	/* for "internal" definitions */
-#include <net-snmp/snmp_api.h>
-#include <net-snmp/mib.h>
+#include <net-snmp/library/asn1.h>
+#include <net-snmp/library/snmp.h>	/* for "internal" definitions */
+#include <net-snmp/library/snmp_api.h>
+#include <net-snmp/library/mib.h>
 
 void
 xdump(const u_char *cp,
diff --git a/snmplib/snmpAAL5PVCDomain.c b/snmplib/snmpAAL5PVCDomain.c
index 269f911..e958b53 100644
--- a/snmplib/snmpAAL5PVCDomain.c
+++ b/snmplib/snmpAAL5PVCDomain.c
@@ -25,8 +25,8 @@
 #include <net-snmp/output_api.h>
 #include <net-snmp/config_api.h>
 
-#include <net-snmp/snmp_transport.h>
-#include <net-snmp/snmpAAL5PVCDomain.h>
+#include <net-snmp/library/snmp_transport.h>
+#include <net-snmp/library/snmpAAL5PVCDomain.h>
 
 
 const oid ucdSnmpAAL5PVCDomain[9] = { UCDAVIS_MIB, 251, 3 };
diff --git a/snmplib/snmpCallbackDomain.c b/snmplib/snmpCallbackDomain.c
index 75e93f2..f8b2d43 100644
--- a/snmplib/snmpCallbackDomain.c
+++ b/snmplib/snmpCallbackDomain.c
@@ -28,11 +28,11 @@
 #include <net-snmp/config_api.h>
 #include <net-snmp/utilities.h>
 
-#include <net-snmp/snmp_transport.h>
-#include <net-snmp/snmpUnixDomain.h>
-#include <net-snmp/snmp_api.h>
-#include <net-snmp/snmp_client.h>
-#include <net-snmp/snmpCallbackDomain.h>
+#include <net-snmp/library/snmp_transport.h>
+#include <net-snmp/library/snmpUnixDomain.h>
+#include <net-snmp/library/snmp_api.h>
+#include <net-snmp/library/snmp_client.h>
+#include <net-snmp/library/snmpCallbackDomain.h>
 
 #ifndef SNMP_STREAM_QUEUE_LEN
 #define SNMP_STREAM_QUEUE_LEN  5
diff --git a/snmplib/snmpIPXDomain.c b/snmplib/snmpIPXDomain.c
index 257bb3a..68767a8 100644
--- a/snmplib/snmpIPXDomain.c
+++ b/snmplib/snmpIPXDomain.c
@@ -26,8 +26,8 @@
 #include <net-snmp/output_api.h>
 #include <net-snmp/config_api.h>
 
-#include <net-snmp/snmp_transport.h>
-#include <net-snmp/snmpIPXDomain.h>
+#include <net-snmp/library/snmp_transport.h>
+#include <net-snmp/library/snmpIPXDomain.h>
 
 #define SNMP_IPX_DEFAULT_PORT	36879		/*  Specified in RFC 1420.  */
 static snmp_tdomain ipxDomain;
diff --git a/snmplib/snmpTCPDomain.c b/snmplib/snmpTCPDomain.c
index df99518..7677065 100644
--- a/snmplib/snmpTCPDomain.c
+++ b/snmplib/snmpTCPDomain.c
@@ -31,9 +31,9 @@
 #include <net-snmp/types.h>	
 #include <net-snmp/output_api.h>
 
-#include <net-snmp/snmp_transport.h>
-#include <net-snmp/snmpUDPDomain.h>
-#include <net-snmp/snmpTCPDomain.h>
+#include <net-snmp/library/snmp_transport.h>
+#include <net-snmp/library/snmpUDPDomain.h>
+#include <net-snmp/library/snmpTCPDomain.h>
 
 
 const oid snmpTCPDomain[8] = { 1, 3, 6, 1, 3, 91, 1, 1 };
diff --git a/snmplib/snmpTCPIPv6Domain.c b/snmplib/snmpTCPIPv6Domain.c
index 5aaff39..28260e9 100644
--- a/snmplib/snmpTCPIPv6Domain.c
+++ b/snmplib/snmpTCPIPv6Domain.c
@@ -35,9 +35,9 @@
 #include <net-snmp/output_api.h>
 #include <net-snmp/config_api.h>
 
-#include <net-snmp/snmp_transport.h>
-#include <net-snmp/snmpUDPIPv6Domain.h>
-#include <net-snmp/snmpTCPIPv6Domain.h>
+#include <net-snmp/library/snmp_transport.h>
+#include <net-snmp/library/snmpUDPIPv6Domain.h>
+#include <net-snmp/library/snmpTCPIPv6Domain.h>
 
 const oid ucdSnmpTCPIPv6Domain[9] = { UCDAVIS_MIB, 251, 5 };
 static snmp_tdomain tcp6Domain;
diff --git a/snmplib/snmpUDPDomain.c b/snmplib/snmpUDPDomain.c
index b9eeb21..9a8a82f 100644
--- a/snmplib/snmpUDPDomain.c
+++ b/snmplib/snmpUDPDomain.c
@@ -33,8 +33,8 @@
 #include <net-snmp/output_api.h>
 #include <net-snmp/config_api.h>
 
-#include <net-snmp/snmp_transport.h>
-#include <net-snmp/snmpUDPDomain.h>
+#include <net-snmp/library/snmp_transport.h>
+#include <net-snmp/library/snmpUDPDomain.h>
 
 #ifndef INADDR_NONE
 #define INADDR_NONE	-1
diff --git a/snmplib/snmpUDPIPv6Domain.c b/snmplib/snmpUDPIPv6Domain.c
index 99c123b..c032ff6 100644
--- a/snmplib/snmpUDPIPv6Domain.c
+++ b/snmplib/snmpUDPIPv6Domain.c
@@ -33,8 +33,8 @@
 #include <net-snmp/output_api.h>
 #include <net-snmp/config_api.h>
 
-#include <net-snmp/snmp_transport.h>
-#include <net-snmp/snmpUDPIPv6Domain.h>
+#include <net-snmp/library/snmp_transport.h>
+#include <net-snmp/library/snmpUDPIPv6Domain.h>
 
 const oid ucdSnmpUDPIPv6Domain[9] = { UCDAVIS_MIB, 251, 4 };
 static snmp_tdomain udp6Domain;
diff --git a/snmplib/snmpUnixDomain.c b/snmplib/snmpUnixDomain.c
index 083f8ef..71c54b3 100644
--- a/snmplib/snmpUnixDomain.c
+++ b/snmplib/snmpUnixDomain.c
@@ -27,8 +27,8 @@
 #include <net-snmp/output_api.h>
 #include <net-snmp/config_api.h>
 
-#include <net-snmp/snmp_transport.h>
-#include <net-snmp/snmpUnixDomain.h>
+#include <net-snmp/library/snmp_transport.h>
+#include <net-snmp/library/snmpUnixDomain.h>
 
 
 #ifndef SNMP_STREAM_QUEUE_LEN
diff --git a/snmplib/snmp_alarm.c b/snmplib/snmp_alarm.c
index 96f3037..3c56920 100644
--- a/snmplib/snmp_alarm.c
+++ b/snmplib/snmp_alarm.c
@@ -42,9 +42,9 @@
 #include <net-snmp/config_api.h>
 #include <net-snmp/utilities.h>
 
-#include <net-snmp/snmp_api.h>
-#include <net-snmp/callback.h>
-#include <net-snmp/snmp_alarm.h>
+#include <net-snmp/library/snmp_api.h>
+#include <net-snmp/library/callback.h>
+#include <net-snmp/library/snmp_alarm.h>
 
 static struct snmp_alarm *thealarms;
 static int start_alarms = 0;
diff --git a/snmplib/snmp_api.c b/snmplib/snmp_api.c
index 1506522..049acd2 100644
--- a/snmplib/snmp_api.c
+++ b/snmplib/snmp_api.c
@@ -102,30 +102,30 @@
 #include <net-snmp/config_api.h>
 #include <net-snmp/utilities.h>
 
-#include <net-snmp/asn1.h>
-#include <net-snmp/snmp.h>	/* for xdump & {build,parse}_var_op */
-#include <net-snmp/snmp_api.h>
-#include <net-snmp/snmp_client.h>
-#include <net-snmp/parse.h>
-#include <net-snmp/mib.h>
-#include <net-snmp/int64.h>
-#include <net-snmp/snmpv3.h>
-#include <net-snmp/callback.h>
-#include <net-snmp/snmp_secmod.h>
+#include <net-snmp/library/asn1.h>
+#include <net-snmp/library/snmp.h>	/* for xdump & {build,parse}_var_op */
+#include <net-snmp/library/snmp_api.h>
+#include <net-snmp/library/snmp_client.h>
+#include <net-snmp/library/parse.h>
+#include <net-snmp/library/mib.h>
+#include <net-snmp/library/int64.h>
+#include <net-snmp/library/snmpv3.h>
+#include <net-snmp/library/callback.h>
+#include <net-snmp/library/snmp_secmod.h>
 #ifdef SNMP_SECMOD_USM
-#include <net-snmp/snmpusm.h>
+#include <net-snmp/library/snmpusm.h>
 #endif
 #ifdef SNMP_SECMOD_KSM
-#include <net-snmp/snmpksm.h>
+#include <net-snmp/library/snmpksm.h>
 #endif
-#include <net-snmp/keytools.h>
-#include <net-snmp/lcd_time.h>
-#include <net-snmp/snmp_alarm.h>
-#include <net-snmp/snmp_transport.h>
+#include <net-snmp/library/keytools.h>
+#include <net-snmp/library/lcd_time.h>
+#include <net-snmp/library/snmp_alarm.h>
+#include <net-snmp/library/snmp_transport.h>
 
 static void _init_snmp (void);
 
-#include <net-snmp/transform_oids.h>
+#include <net-snmp/library/transform_oids.h>
 #ifndef timercmp
 #define	timercmp(tvp, uvp, cmp) \
 	/* CSTYLED */ \
diff --git a/snmplib/snmp_auth.c b/snmplib/snmp_auth.c
index 9b08f25..8350bf3 100644
--- a/snmplib/snmp_auth.c
+++ b/snmplib/snmp_auth.c
@@ -79,11 +79,11 @@
 #include <net-snmp/output_api.h>
 #include <net-snmp/utilities.h>
 
-#include <net-snmp/asn1.h>
-#include <net-snmp/snmp_api.h>
-#include <net-snmp/mib.h>
-#include <net-snmp/md5.h>
-#include <net-snmp/scapi.h>
+#include <net-snmp/library/asn1.h>
+#include <net-snmp/library/snmp_api.h>
+#include <net-snmp/library/mib.h>
+#include <net-snmp/library/md5.h>
+#include <net-snmp/library/scapi.h>
 
 /*
  * Globals.
diff --git a/snmplib/snmp_client.c b/snmplib/snmp_client.c
index 1e9666e..8513c99 100644
--- a/snmplib/snmp_client.c
+++ b/snmplib/snmp_client.c
@@ -77,10 +77,10 @@
 
 #include <net-snmp/types.h>	
 
-#include <net-snmp/snmp_api.h>
-#include <net-snmp/snmp_client.h>
-#include <net-snmp/snmp_secmod.h>
-#include <net-snmp/mib.h>
+#include <net-snmp/library/snmp_api.h>
+#include <net-snmp/library/snmp_client.h>
+#include <net-snmp/library/snmp_secmod.h>
+#include <net-snmp/library/mib.h>
 
 
 #ifndef BSD4_3
diff --git a/snmplib/snmp_debug.c b/snmplib/snmp_debug.c
index 264cd2d..9838379 100644
--- a/snmplib/snmp_debug.c
+++ b/snmplib/snmp_debug.c
@@ -32,8 +32,8 @@
 #include <net-snmp/config_api.h>
 #include <net-snmp/utilities.h>
 
-#include <net-snmp/mib.h>
-#include <net-snmp/snmp_api.h>
+#include <net-snmp/library/mib.h>
+#include <net-snmp/library/snmp_api.h>
 
 static int   dodebug = SNMP_ALWAYS_DEBUG;
 static int   debug_num_tokens=0;
diff --git a/snmplib/snmp_enum.c b/snmplib/snmp_enum.c
index 46354c3..091ad7d 100644
--- a/snmplib/snmp_enum.c
+++ b/snmplib/snmp_enum.c
@@ -9,7 +9,7 @@
 #include <strings.h>
 #endif
 
-#include <net-snmp/snmp_enum.h>
+#include <net-snmp/library/snmp_enum.h>
 
 struct snmp_enum_list_str {
    char *name;
diff --git a/snmplib/snmp_logging.c b/snmplib/snmp_logging.c
index 47be4a0..1814a12 100644
--- a/snmplib/snmp_logging.c
+++ b/snmplib/snmp_logging.c
@@ -66,7 +66,7 @@
 #include <net-snmp/config_api.h>
 #include <net-snmp/utilities.h>
 
-#include <net-snmp/callback.h>
+#include <net-snmp/library/callback.h>
 #define LOGLENGTH 1024
 
 static int do_syslogging=0;
diff --git a/snmplib/snmp_parse_args.c b/snmplib/snmp_parse_args.c
index 2add7b5..346ba43 100644
--- a/snmplib/snmp_parse_args.c
+++ b/snmplib/snmp_parse_args.c
@@ -57,15 +57,15 @@
 #include <net-snmp/snmp_parse_args.h>	/* for "internal" definitions */
 #include <net-snmp/utilities.h>
 
-#include <net-snmp/snmp_api.h>
-#include <net-snmp/snmp_client.h>
-#include <net-snmp/mib.h>
-#include <net-snmp/scapi.h>
-#include <net-snmp/keytools.h>
+#include <net-snmp/library/snmp_api.h>
+#include <net-snmp/library/snmp_client.h>
+#include <net-snmp/library/mib.h>
+#include <net-snmp/library/scapi.h>
+#include <net-snmp/library/keytools.h>
 
-#include <net-snmp/version.h>
-#include <net-snmp/parse.h>
-#include <net-snmp/snmpv3.h>
+#include <net-snmp/library/version.h>
+#include <net-snmp/library/parse.h>
+#include <net-snmp/library/snmpv3.h>
 
 int random_access = 0;
 
diff --git a/snmplib/snmp_secmod.c b/snmplib/snmp_secmod.c
index c63f230..7d006c4 100644
--- a/snmplib/snmp_secmod.c
+++ b/snmplib/snmp_secmod.c
@@ -20,11 +20,11 @@
 #include <net-snmp/config_api.h>
 #include <net-snmp/utilities.h>
 
-#include <net-snmp/snmp_api.h>
-#include <net-snmp/snmp_enum.h>
-#include <net-snmp/callback.h>
-#include <net-snmp/snmp_secmod.h>
-#include <net-snmp/snmpusm.h>
+#include <net-snmp/library/snmp_api.h>
+#include <net-snmp/library/snmp_enum.h>
+#include <net-snmp/library/callback.h>
+#include <net-snmp/library/snmp_secmod.h>
+#include <net-snmp/library/snmpusm.h>
 
 static struct snmp_secmod_list *registered_services = NULL;
 
diff --git a/snmplib/snmp_transport.c b/snmplib/snmp_transport.c
index eb47907..d3735c5 100644
--- a/snmplib/snmp_transport.c
+++ b/snmplib/snmp_transport.c
@@ -15,27 +15,27 @@
 #include <net-snmp/output_api.h>
 #include <net-snmp/utilities.h>
 
-#include <net-snmp/snmp_transport.h>
-#include <net-snmp/snmpUDPDomain.h>
+#include <net-snmp/library/snmp_transport.h>
+#include <net-snmp/library/snmpUDPDomain.h>
 #ifdef SNMP_TRANSPORT_TCP_DOMAIN
-#include <net-snmp/snmpTCPDomain.h>
+#include <net-snmp/library/snmpTCPDomain.h>
 #endif
 #ifdef SNMP_TRANSPORT_IPX_DOMAIN
-#include <net-snmp/snmpIPXDomain.h>
+#include <net-snmp/library/snmpIPXDomain.h>
 #endif
 #ifdef SNMP_TRANSPORT_UNIX_DOMAIN
-#include <net-snmp/snmpUnixDomain.h>
+#include <net-snmp/library/snmpUnixDomain.h>
 #endif
 #ifdef SNMP_TRANSPORT_AAL5PVC_DOMAIN
-#include <net-snmp/snmpAAL5PVCDomain.h>
+#include <net-snmp/library/snmpAAL5PVCDomain.h>
 #endif
 #ifdef SNMP_TRANSPORT_UDPIPV6_DOMAIN
-#include <net-snmp/snmpUDPIPv6Domain.h>
+#include <net-snmp/library/snmpUDPIPv6Domain.h>
 #endif
 #ifdef SNMP_TRANSPORT_TCPIPV6_DOMAIN
-#include <net-snmp/snmpTCPIPv6Domain.h>
+#include <net-snmp/library/snmpTCPIPv6Domain.h>
 #endif
-#include <net-snmp/snmp_api.h>
+#include <net-snmp/library/snmp_api.h>
 
 
 /*  Our list of supported transport domains.  */
diff --git a/snmplib/snmp_version.c b/snmplib/snmp_version.c
index 2572fc6..9116c6d 100644
--- a/snmplib/snmp_version.c
+++ b/snmplib/snmp_version.c
@@ -1,4 +1,4 @@
-#include <net-snmp/version.h>
+#include <net-snmp/library/version.h>
 
 const char *NetSnmpVersionInfo="5.0.pre1";
 
diff --git a/snmplib/snmpksm.c b/snmplib/snmpksm.c
index 2da45aa..fc955f4 100644
--- a/snmplib/snmpksm.c
+++ b/snmplib/snmpksm.c
@@ -52,16 +52,16 @@
 #include <net-snmp/config_api.h>
 #include <net-snmp/utilities.h>
 
-#include <net-snmp/asn1.h>
-#include <net-snmp/snmp_api.h>
-#include <net-snmp/callback.h>
-#include <net-snmp/keytools.h>
-#include <net-snmp/snmpv3.h>
-#include <net-snmp/lcd_time.h>
-#include <net-snmp/scapi.h>
-#include <net-snmp/callback.h>
-#include <net-snmp/snmp_secmod.h>
-#include <net-snmp/snmpksm.h>
+#include <net-snmp/library/asn1.h>
+#include <net-snmp/library/snmp_api.h>
+#include <net-snmp/library/callback.h>
+#include <net-snmp/library/keytools.h>
+#include <net-snmp/library/snmpv3.h>
+#include <net-snmp/library/lcd_time.h>
+#include <net-snmp/library/scapi.h>
+#include <net-snmp/library/callback.h>
+#include <net-snmp/library/snmp_secmod.h>
+#include <net-snmp/library/snmpksm.h>
 
 static krb5_context kcontext = NULL;
 static krb5_rcache rcache = NULL;
diff --git a/snmplib/snmpusm.c b/snmplib/snmpusm.c
index 529fb94..1406f2b 100644
--- a/snmplib/snmpusm.c
+++ b/snmplib/snmpusm.c
@@ -53,16 +53,16 @@
 #include <net-snmp/config_api.h>
 #include <net-snmp/utilities.h>
 
-#include <net-snmp/asn1.h>
-#include <net-snmp/snmp_api.h>
-#include <net-snmp/callback.h>
-#include <net-snmp/keytools.h>
-#include <net-snmp/snmpv3.h>
-#include <net-snmp/lcd_time.h>
-#include <net-snmp/scapi.h>
-#include <net-snmp/callback.h>
-#include <net-snmp/snmp_secmod.h>
-#include <net-snmp/snmpusm.h>
+#include <net-snmp/library/asn1.h>
+#include <net-snmp/library/snmp_api.h>
+#include <net-snmp/library/callback.h>
+#include <net-snmp/library/keytools.h>
+#include <net-snmp/library/snmpv3.h>
+#include <net-snmp/library/lcd_time.h>
+#include <net-snmp/library/scapi.h>
+#include <net-snmp/library/callback.h>
+#include <net-snmp/library/snmp_secmod.h>
+#include <net-snmp/library/snmpusm.h>
 
 const oid usmNoAuthProtocol[10]		= { 1,3,6,1,6,3,10,1,1,1 };
 const oid usmHMACMD5AuthProtocol[10]	= { 1,3,6,1,6,3,10,1,1,2 };
diff --git a/snmplib/snmpv3.c b/snmplib/snmpv3.c
index 9d41c16..25ce15f 100644
--- a/snmplib/snmpv3.c
+++ b/snmplib/snmpv3.c
@@ -61,17 +61,17 @@
 #include <net-snmp/config_api.h>
 #include <net-snmp/utilities.h>
 
-#include <net-snmp/snmpv3.h>
-#include <net-snmp/callback.h>
-#include <net-snmp/snmp_api.h>
-#include <net-snmp/lcd_time.h>
-#include <net-snmp/scapi.h>
-#include <net-snmp/keytools.h>
-#include <net-snmp/lcd_time.h>
-#include <net-snmp/snmp_secmod.h>
-#include <net-snmp/snmpusm.h>
+#include <net-snmp/library/snmpv3.h>
+#include <net-snmp/library/callback.h>
+#include <net-snmp/library/snmp_api.h>
+#include <net-snmp/library/lcd_time.h>
+#include <net-snmp/library/scapi.h>
+#include <net-snmp/library/keytools.h>
+#include <net-snmp/library/lcd_time.h>
+#include <net-snmp/library/snmp_secmod.h>
+#include <net-snmp/library/snmpusm.h>
 
-#include <net-snmp/transform_oids.h>
+#include <net-snmp/library/transform_oids.h>
 
 static u_long		 engineBoots	   = 1;
 static unsigned int	 engineIDType	   = ENGINEID_TYPE_UCD_RND;
diff --git a/snmplib/system.c b/snmplib/system.c
index c29d880..5fd9196 100644
--- a/snmplib/system.c
+++ b/snmplib/system.c
@@ -114,7 +114,7 @@
 #include <net-snmp/utilities.h>
 #include <net-snmp/system.h>		/* for "internal" definitions */
 
-#include <net-snmp/snmp_api.h>
+#include <net-snmp/library/snmp_api.h>
 
 #ifndef IFF_LOOPBACK
 #	define IFF_LOOPBACK 0
diff --git a/snmplib/tools.c b/snmplib/tools.c
index 2ddc1c8..d0e92ee 100644
--- a/snmplib/tools.c
+++ b/snmplib/tools.c
@@ -51,9 +51,9 @@
 #include <net-snmp/utilities.h>
 #include <net-snmp/tools.h>		/* for "internal" definitions */
 
-#include <net-snmp/snmp_api.h>
-#include <net-snmp/mib.h>
-#include <net-snmp/scapi.h> 
+#include <net-snmp/library/snmp_api.h>
+#include <net-snmp/library/mib.h>
+#include <net-snmp/library/scapi.h> 
 
 
 /*  snmp_realloc:
diff --git a/snmplib/vacm.c b/snmplib/vacm.c
index fc44df1..48736f5 100644
--- a/snmplib/vacm.c
+++ b/snmplib/vacm.c
@@ -50,8 +50,8 @@
 #include <net-snmp/output_api.h>
 #include <net-snmp/config_api.h>
 
-#include <net-snmp/snmp_api.h>
-#include <net-snmp/vacm.h>
+#include <net-snmp/library/snmp_api.h>
+#include <net-snmp/library/vacm.h>
 
 static struct vacm_viewEntry *viewList = NULL, *viewScanPtr = NULL;
 static struct vacm_accessEntry *accessList = NULL, *accessScanPtr = NULL;