guohui ca9677edc6 add smartpdupro files 2 vuotta sitten
..
README ca9677edc6 add smartpdupro files 2 vuotta sitten
asn1.h ca9677edc6 add smartpdupro files 2 vuotta sitten
callback.h ca9677edc6 add smartpdupro files 2 vuotta sitten
cert_util.h ca9677edc6 add smartpdupro files 2 vuotta sitten
check_varbind.h ca9677edc6 add smartpdupro files 2 vuotta sitten
container.h ca9677edc6 add smartpdupro files 2 vuotta sitten
container_binary_array.h ca9677edc6 add smartpdupro files 2 vuotta sitten
container_iterator.h ca9677edc6 add smartpdupro files 2 vuotta sitten
container_list_ssll.h ca9677edc6 add smartpdupro files 2 vuotta sitten
container_null.h ca9677edc6 add smartpdupro files 2 vuotta sitten
data_list.h ca9677edc6 add smartpdupro files 2 vuotta sitten
default_store.h ca9677edc6 add smartpdupro files 2 vuotta sitten
dir_utils.h ca9677edc6 add smartpdupro files 2 vuotta sitten
factory.h ca9677edc6 add smartpdupro files 2 vuotta sitten
fd_event_manager.h ca9677edc6 add smartpdupro files 2 vuotta sitten
file_utils.h ca9677edc6 add smartpdupro files 2 vuotta sitten
getopt.h ca9677edc6 add smartpdupro files 2 vuotta sitten
int64.h ca9677edc6 add smartpdupro files 2 vuotta sitten
keytools.h ca9677edc6 add smartpdupro files 2 vuotta sitten
large_fd_set.h ca9677edc6 add smartpdupro files 2 vuotta sitten
lcd_time.h ca9677edc6 add smartpdupro files 2 vuotta sitten
libsnmp.h ca9677edc6 add smartpdupro files 2 vuotta sitten
md5.h ca9677edc6 add smartpdupro files 2 vuotta sitten
mib.h ca9677edc6 add smartpdupro files 2 vuotta sitten
mt_support.h ca9677edc6 add smartpdupro files 2 vuotta sitten
netsnmp-attribute-format.h ca9677edc6 add smartpdupro files 2 vuotta sitten
oid.h ca9677edc6 add smartpdupro files 2 vuotta sitten
oid_stash.h ca9677edc6 add smartpdupro files 2 vuotta sitten
openssl_aes.h ca9677edc6 add smartpdupro files 2 vuotta sitten
openssl_des.h ca9677edc6 add smartpdupro files 2 vuotta sitten
openssl_md5.h ca9677edc6 add smartpdupro files 2 vuotta sitten
openssl_sha.h ca9677edc6 add smartpdupro files 2 vuotta sitten
parse.h ca9677edc6 add smartpdupro files 2 vuotta sitten
read_config.h ca9677edc6 add smartpdupro files 2 vuotta sitten
scapi.h ca9677edc6 add smartpdupro files 2 vuotta sitten
sd-daemon.h ca9677edc6 add smartpdupro files 2 vuotta sitten
snmp-tc.h ca9677edc6 add smartpdupro files 2 vuotta sitten
snmp.h ca9677edc6 add smartpdupro files 2 vuotta sitten
snmpAAL5PVCDomain.h ca9677edc6 add smartpdupro files 2 vuotta sitten
snmpAliasDomain.h ca9677edc6 add smartpdupro files 2 vuotta sitten
snmpCallbackDomain.h ca9677edc6 add smartpdupro files 2 vuotta sitten
snmpDTLSUDPDomain.h ca9677edc6 add smartpdupro files 2 vuotta sitten
snmpIPXDomain.h ca9677edc6 add smartpdupro files 2 vuotta sitten
snmpIPv4BaseDomain.h ca9677edc6 add smartpdupro files 2 vuotta sitten
snmpIPv6BaseDomain.h ca9677edc6 add smartpdupro files 2 vuotta sitten
snmpSSHDomain.h ca9677edc6 add smartpdupro files 2 vuotta sitten
snmpSTDDomain.h ca9677edc6 add smartpdupro files 2 vuotta sitten
snmpSocketBaseDomain.h ca9677edc6 add smartpdupro files 2 vuotta sitten
snmpTCPBaseDomain.h ca9677edc6 add smartpdupro files 2 vuotta sitten
snmpTCPDomain.h ca9677edc6 add smartpdupro files 2 vuotta sitten
snmpTCPIPv6Domain.h ca9677edc6 add smartpdupro files 2 vuotta sitten
snmpTLSBaseDomain.h ca9677edc6 add smartpdupro files 2 vuotta sitten
snmpTLSTCPDomain.h ca9677edc6 add smartpdupro files 2 vuotta sitten
snmpUDPBaseDomain.h ca9677edc6 add smartpdupro files 2 vuotta sitten
snmpUDPDomain.h ca9677edc6 add smartpdupro files 2 vuotta sitten
snmpUDPIPv4BaseDomain.h ca9677edc6 add smartpdupro files 2 vuotta sitten
snmpUDPIPv6Domain.h ca9677edc6 add smartpdupro files 2 vuotta sitten
snmpUDPsharedDomain.h ca9677edc6 add smartpdupro files 2 vuotta sitten
snmpUnixDomain.h ca9677edc6 add smartpdupro files 2 vuotta sitten
snmp_alarm.h ca9677edc6 add smartpdupro files 2 vuotta sitten
snmp_api.h ca9677edc6 add smartpdupro files 2 vuotta sitten
snmp_assert.h ca9677edc6 add smartpdupro files 2 vuotta sitten
snmp_client.h ca9677edc6 add smartpdupro files 2 vuotta sitten
snmp_debug.h ca9677edc6 add smartpdupro files 2 vuotta sitten
snmp_enum.h ca9677edc6 add smartpdupro files 2 vuotta sitten
snmp_impl.h ca9677edc6 add smartpdupro files 2 vuotta sitten
snmp_logging.h ca9677edc6 add smartpdupro files 2 vuotta sitten
snmp_openssl.h ca9677edc6 add smartpdupro files 2 vuotta sitten
snmp_parse_args.h ca9677edc6 add smartpdupro files 2 vuotta sitten
snmp_secmod.h ca9677edc6 add smartpdupro files 2 vuotta sitten
snmp_service.h ca9677edc6 add smartpdupro files 2 vuotta sitten
snmp_transport.h ca9677edc6 add smartpdupro files 2 vuotta sitten
snmpksm.h ca9677edc6 add smartpdupro files 2 vuotta sitten
snmptsm.h ca9677edc6 add smartpdupro files 2 vuotta sitten
snmpusm.h ca9677edc6 add smartpdupro files 2 vuotta sitten
snmpv3-security-includes.h ca9677edc6 add smartpdupro files 2 vuotta sitten
snmpv3.h ca9677edc6 add smartpdupro files 2 vuotta sitten
system.h ca9677edc6 add smartpdupro files 2 vuotta sitten
testing.h ca9677edc6 add smartpdupro files 2 vuotta sitten
text_utils.h ca9677edc6 add smartpdupro files 2 vuotta sitten
tools.h ca9677edc6 add smartpdupro files 2 vuotta sitten
transform_oids.h ca9677edc6 add smartpdupro files 2 vuotta sitten
types.h ca9677edc6 add smartpdupro files 2 vuotta sitten
ucd_compat.h ca9677edc6 add smartpdupro files 2 vuotta sitten
vacm.h ca9677edc6 add smartpdupro files 2 vuotta sitten
winpipe.h ca9677edc6 add smartpdupro files 2 vuotta sitten
winservice.h ca9677edc6 add smartpdupro files 2 vuotta sitten

README

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