diff options
author | nobody <nobody@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 1999-01-18 06:26:26 +0000 |
---|---|---|
committer | nobody <nobody@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 1999-01-18 06:26:26 +0000 |
commit | d360daade3092325ef5f52ce3c47dcf0c8203420 (patch) | |
tree | e5b68dd2438d5cfa38e6e8ce86141eab5649ffd4 /ASNMP/examples | |
parent | ed67745cca9e57fed8a39610d930a9d6fda6fa44 (diff) | |
download | ATCD-TAO-0_2_52.tar.gz |
This commit was manufactured by cvs2svn to create tag 'TAO-0_2_52'.TAO-0_2_52
Diffstat (limited to 'ASNMP/examples')
-rw-r--r-- | ASNMP/examples/Makefile | 28 | ||||
-rw-r--r-- | ASNMP/examples/get/Makefile | 40 | ||||
-rw-r--r-- | ASNMP/examples/get/get.cpp | 195 | ||||
-rw-r--r-- | ASNMP/examples/get/get_async.cpp | 204 | ||||
-rw-r--r-- | ASNMP/examples/next/Makefile | 41 | ||||
-rw-r--r-- | ASNMP/examples/next/next.cpp | 193 | ||||
-rw-r--r-- | ASNMP/examples/set/Makefile | 41 | ||||
-rw-r--r-- | ASNMP/examples/set/set.cpp | 263 | ||||
-rw-r--r-- | ASNMP/examples/trap/Makefile | 41 | ||||
-rw-r--r-- | ASNMP/examples/trap/purify4.1.txt | 117 | ||||
-rw-r--r-- | ASNMP/examples/trap/trap.cpp | 182 | ||||
-rw-r--r-- | ASNMP/examples/walk/Makefile | 41 | ||||
-rw-r--r-- | ASNMP/examples/walk/walk.cpp | 260 |
13 files changed, 0 insertions, 1646 deletions
diff --git a/ASNMP/examples/Makefile b/ASNMP/examples/Makefile deleted file mode 100644 index 64ca08c687c..00000000000 --- a/ASNMP/examples/Makefile +++ /dev/null @@ -1,28 +0,0 @@ -#---------------------------------------------------------------------------- -# -# $Id$ -# -# @(#)Makefile 1.1 10/18/96 -# -# Makefile for the ACE+SNMP examples directory -#---------------------------------------------------------------------------- - -#---------------------------------------------------------------------------- -# Local macros -#---------------------------------------------------------------------------- - -DIRS = get \ - next \ - set \ - trap \ - walk - -#---------------------------------------------------------------------------- -# macros and targets -#---------------------------------------------------------------------------- - -include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU -include $(ACE_ROOT)/include/makeinclude/macros.GNU -include $(ACE_ROOT)/include/makeinclude/rules.common.GNU -include $(ACE_ROOT)/include/makeinclude/rules.nested.GNU -include $(ACE_ROOT)/include/makeinclude/rules.nolocal.GNU diff --git a/ASNMP/examples/get/Makefile b/ASNMP/examples/get/Makefile deleted file mode 100644 index 6849f0d6fd8..00000000000 --- a/ASNMP/examples/get/Makefile +++ /dev/null @@ -1,40 +0,0 @@ -#---------------------------------------------------------------------------- -# @(#)Makefile 1.1 10/18/96 -# -# Makefile for get application -#---------------------------------------------------------------------------- - -#---------------------------------------------------------------------------- -# Local macros -#---------------------------------------------------------------------------- - - -# ACE+SNMP -BIN = get get_async -CCFLAGS = -I$(ACE_ROOT)/ASNMP/ -LSRC = $(addsuffix .cpp,$(BIN)) -LDLIBS := -L$(ACE_ROOT)/ASNMP/asnmp -lasnmp $(LDLIBS:%=%$(VAR)) - -BUILD = $(VBIN) - -#---------------------------------------------------------------------------- -# Include macros and targets -#---------------------------------------------------------------------------- - -include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU -include $(ACE_ROOT)/include/makeinclude/macros.GNU -include $(ACE_ROOT)/include/makeinclude/rules.common.GNU -include $(ACE_ROOT)/include/makeinclude/rules.nonested.GNU -include $(ACE_ROOT)/include/makeinclude/rules.bin.GNU -include $(ACE_ROOT)/include/makeinclude/rules.local.GNU - -#---------------------------------------------------------------------------- -# Local targets -#---------------------------------------------------------------------------- - -#---------------------------------------------------------------------------- -# Dependencies -#---------------------------------------------------------------------------- - -# DO NOT DELETE THIS LINE -- g++dep uses it. -# DO NOT PUT ANYTHING AFTER THIS LINE, IT WILL GO AWAY. diff --git a/ASNMP/examples/get/get.cpp b/ASNMP/examples/get/get.cpp deleted file mode 100644 index 5c05bd5eac5..00000000000 --- a/ASNMP/examples/get/get.cpp +++ /dev/null @@ -1,195 +0,0 @@ -// $Id$ - -// ============================================================================ -// -// = LIBRARY -// asnmp -// -// = FILENAME -// get.cpp -// -// = DESCRIPTION -// Sample application demonstrating synchronous Snmp::get API -// to access an SNMP Version 1 agent. -// -// = AUTHOR -// Peter E. Mellquist original code -// Michael R MacFaden mrm@cisco.com rework API/ACE integration -// -// ============================================================================ - -/*=================================================================== - Copyright (c) 1996 - Hewlett-Packard Company - - ATTENTION: USE OF THIS SOFTWARE IS SUBJECT TO THE FOLLOWING TERMS. - Permission to use, copy, modify, distribute and/or sell this software - and/or its documentation is hereby granted without fee. User agrees - to display the above copyright notice and this license notice in all - copies of the software and any documentation of the software. User - agrees to assume all liability for the use of the software; Hewlett-Packard - makes no representations about the suitability of this software for any - purpose. It is provided "AS-IS without warranty of any kind,either express - or implied. User hereby grants a royalty-free license to any and all - derivatives based upon this software code base. -=====================================================================*/ - -#include "asnmp/snmp.h" -#include "ace/Get_Opt.h" - -ACE_RCSID(get, get, "$Id$") - -// -// SNMPv1 Get Application -// -class getapp { - public: - getapp(int argc, char **argv); // process command line args - int valid() const; // verify transaction can proceed - int run(); // issue transaction - static void usage(); // operator help message - - private: - getapp(const getapp&); - - UdpAddress address_; - Pdu pdu_; // construct a request Pdu - Oid oid_; - OctetStr community_; - Snmp snmp_; - UdpTarget target_; - int valid_; -}; - - -// main entry point -int main( int argc, char *argv[]) -{ - getapp get(argc, argv); - if (get.valid()) - return get.run(); - else - getapp::usage(); - return 1; -} - -int getapp::valid() const -{ - return valid_; -} -getapp::getapp(int argc, char *argv[]): valid_(0) -{ - Oid req, def_oid("1.3.6.1.2.1.1.1.0"); // default is sysDescr - if ( argc < 2) - return; - - address_ = argv[argc - 1]; - if ( !address_.valid()) { - cout << "ERROR: Invalid IPv4 address or DNS hostname: " \ - << argv[argc] << "\n"; - return; - } - - ACE_Get_Opt get_opt (argc, argv, "o:c:r:t:p:"); - for (int c; (c = get_opt ()) != -1; ) - switch (c) - { - case 'o': - req = get_opt.optarg; - if (req.valid() == 0) - cout << "ERROR: oid value: " <<get_opt.optarg \ - << "is not valid. using default.\n"; - break; - - case 'c': - community_ = get_opt.optarg; - target_.set_read_community(community_); - break; - - case 'r': - target_.set_retry(ACE_OS::atoi (get_opt.optarg)); - break; - - case 't': - target_.set_timeout(ACE_OS::atoi (get_opt.optarg)); - break; - - default: - break; - } - - Vb vb; // construct a Vb object - if (req.valid()) - vb.set_oid( req); // set the Oid portion of the Vb - else { - vb.set_oid( def_oid); // set the Oid portion of the Vb - } - pdu_ += vb; - vb.get_oid(oid_); // store for later use - valid_ = 1; -} - -void getapp::usage() -{ - cout << "Usage:\n"; - cout << "get [options] dotted-quad | DNSName[:port]\n"; - cout << " -o OID defaults to 1.3.6.1.2.1.1.1.0 (mibII sysDescr.0) \n"; - cout << " -c Community_name, default is 'public' \n"; - cout << " -r N retries default is N = 1 retry\n"; - cout << " -t N timeout in seconds default is 1 second" << endl; -} - - -int getapp::run() -{ - - //----------[ create a ASNMP session ]----------------------------------- - if ( snmp_.valid() != SNMP_CLASS_SUCCESS) { - cout << "\nASNMP:ERROR:Create session failed: "<< - snmp_.error_string()<< "\n"; - return 1; - } - - //--------[ build up ASNMP object needed ]------------------------------- - if (address_.get_port() == 0) - address_.set_port(DEF_AGENT_PORT); - target_.set_address( address_); // make a target using the address - - //-------[ issue the request, blocked mode ]----------------------------- - cout << "\nASNMP:INFO:SNMP Version " << (target_.get_version()+ 1) << \ - " GET SAMPLE PROGRAM \nOID: " << oid_.to_string() << "\n"; - target_.get_address(address_); // target updates port used - int rc; - char *name = address_.resolve_hostname(rc); - if (rc) - name = "<< did not resolve via gethostbyname() >>"; - - cout << "Device: " << address_ << " " << name << "\n"; - cout << "[ Retries=" << target_.get_retry() << " \ - Timeout=" << target_.get_timeout() <<" ms " << "Community=" << \ - community_.to_string() << " ]"<< endl; - - if (snmp_.get( pdu_, target_) == SNMP_CLASS_SUCCESS) { - Vb vb; - // check to see if there are any errors - if (pdu_.get_error_status()) { - cout << "ERROR: agent replied as follows\n"; - cout << pdu_.agent_error_reason() << endl; - } - else { - VbIter iter(pdu_); - while (iter.next(vb)) { - cout << "\tOid = " << vb.to_string_oid() << "\n"; - cout << "\tValue = " << vb.to_string_value() << "\n"; - } - } - } - else { - char *ptr = snmp_.error_string(); - cout << "ASNMP:ERROR: get command failed reason: " << ptr << endl; - } - - cout << "\nASNMP:INFO: command completed normally.\n"<< endl; - return 0; -} - diff --git a/ASNMP/examples/get/get_async.cpp b/ASNMP/examples/get/get_async.cpp deleted file mode 100644 index 1c699a331cd..00000000000 --- a/ASNMP/examples/get/get_async.cpp +++ /dev/null @@ -1,204 +0,0 @@ -// ============================================================================ -// $Id$ -// = LIBRARY -// asnmp -// -// = FILENAME -// get.cpp -// -// = DESCRIPTION -// Sample application demonstrating synchronous Snmp::get API -// to access an SNMP Version 1 agent. -// -// = AUTHOR -// Peter E. Mellquist original code -// Michael R MacFaden mrm@cisco.com rework API/ACE integration -// -// ============================================================================ - -/*=================================================================== - Copyright (c) 1996 - Hewlett-Packard Company - - ATTENTION: USE OF THIS SOFTWARE IS SUBJECT TO THE FOLLOWING TERMS. - Permission to use, copy, modify, distribute and/or sell this software - and/or its documentation is hereby granted without fee. User agrees - to display the above copyright notice and this license notice in all - copies of the software and any documentation of the software. User - agrees to assume all liability for the use of the software; Hewlett-Packard - makes no representations about the suitability of this software for any - purpose. It is provided "AS-IS without warranty of any kind,either express - or implied. User hereby grants a royalty-free license to any and all - derivatives based upon this software code base. -=====================================================================*/ - -#include "asnmp/snmp.h" -#include "ace/Get_Opt.h" - -ACE_RCSID(get, get_async, "$Id$") - -// -// SNMPv1 Get Application -// -class getapp : public Snmp_Result { - public: - getapp(int argc, char **argv); // process command line args - int valid() const; // verify transaction can proceed - int run(); // issue transaction - static void usage(); // operator help message - - virtual void result(Snmp * r, int rc); - - private: - getapp(const getapp&); - - UdpAddress address_; - Pdu pdu_; // construct a request Pdu - Oid oid_; - OctetStr community_; - Snmp snmp_; - UdpTarget target_; - int valid_; -}; - - -// main entry point -int main( int argc, char *argv[]) -{ - getapp get(argc, argv); - if (get.valid()) - return get.run(); - else - getapp::usage(); - return 1; -} - -int getapp::valid() const -{ - return valid_; -} -getapp::getapp(int argc, char *argv[]): valid_(0) -{ - Oid req, def_oid("1.3.6.1.2.1.1.1.0"); // default is sysDescr - if ( argc < 2) - return; - - address_ = argv[argc - 1]; - if ( !address_.valid()) { - cout << "ERROR: Invalid IPv4 address or DNS hostname: " \ - << argv[argc] << "\n"; - return; - } - - ACE_Get_Opt get_opt (argc, argv, "o:c:r:t:p:"); - for (int c; (c = get_opt ()) != -1; ) - switch (c) - { - case 'o': - req = get_opt.optarg; - if (req.valid() == 0) - cout << "ERROR: oid value: " <<get_opt.optarg \ - << "is not valid. using default.\n"; - break; - - case 'c': - community_ = get_opt.optarg; - target_.set_read_community(community_); - break; - - case 'r': - target_.set_retry(ACE_OS::atoi (get_opt.optarg)); - break; - - case 't': - target_.set_timeout(ACE_OS::atoi (get_opt.optarg)); - break; - - default: - break; - } - - Vb vb; // construct a Vb object - if (req.valid()) - vb.set_oid( req); // set the Oid portion of the Vb - else { - vb.set_oid( def_oid); // set the Oid portion of the Vb - } - pdu_ += vb; - vb.get_oid(oid_); // store for later use - valid_ = 1; -} - -void getapp::usage() -{ - cout << "Usage:\n"; - cout << "get [options] dotted-quad | DNSName[:port]\n"; - cout << " -o OID defaults to 1.3.6.1.2.1.1.1.0 (mibII sysDescr.0) \n"; - cout << " -c Community_name, default is 'public' \n"; - cout << " -r N retries default is N = 1 retry\n"; - cout << " -t N timeout in seconds default is 1 second" << endl; -} - - -int getapp::run() -{ - - //----------[ create a ASNMP session ]----------------------------------- - if ( snmp_.valid() != SNMP_CLASS_SUCCESS) { - cout << "\nASNMP:ERROR:Create session failed: "<< - snmp_.error_string()<< "\n"; - return 1; - } - - //--------[ build up ASNMP object needed ]------------------------------- - if (address_.get_port() == 0) - address_.set_port(DEF_AGENT_PORT); - target_.set_address( address_); // make a target using the address - - //-------[ issue the request, blocked mode ]----------------------------- - cout << "\nASNMP:INFO:SNMP Version " << (target_.get_version()+ 1) << \ - " GET SAMPLE PROGRAM \nOID: " << oid_.to_string() << "\n"; - target_.get_address(address_); // target updates port used - int rc; - char *name = address_.resolve_hostname(rc); - if (rc) - name = "<< did not resolve via gethostbyname() >>"; - - cout << "Device: " << address_ << " " << name << "\n"; - cout << "[ Retries=" << target_.get_retry() << " \ - Timeout=" << target_.get_timeout() <<" ms " << "Community=" << \ - community_.to_string() << " ]"<< endl; - - if (snmp_.get( pdu_, target_, this) != SNMP_CLASS_SUCCESS) { - char *ptr = snmp_.error_string(); - cout << "ASNMP:ERROR: get command failed reason: " << ptr << endl; - } else { - ACE_Reactor::instance()->run_event_loop(); - } - return 0; -} - -void getapp::result(Snmp *, int rc) -{ - Vb vb; - if (rc < 0) - { - char *ptr = snmp_.error_string(); - cout << "ASNMP:ERROR: get command failed reason: " << ptr << endl; - } else { - // check to see if there are any errors - if (pdu_.get_error_status()) { - cout << "ERROR: agent replied as follows\n"; - cout << pdu_.agent_error_reason() << endl; - } - else { - VbIter iter(pdu_); - while (iter.next(vb)) { - cout << "\tOid = " << vb.to_string_oid() << "\n"; - cout << "\tValue = " << vb.to_string_value() << "\n"; - } - } - } - cout << "\nASNMP:INFO: command completed normally.\n"<< endl; - ACE_Reactor::instance()->end_event_loop(); -} diff --git a/ASNMP/examples/next/Makefile b/ASNMP/examples/next/Makefile deleted file mode 100644 index a015faac242..00000000000 --- a/ASNMP/examples/next/Makefile +++ /dev/null @@ -1,41 +0,0 @@ -#---------------------------------------------------------------------------- -# @(#)Makefile 1.1 10/18/96 -# -# Makefile for next sample application -#---------------------------------------------------------------------------- - -#---------------------------------------------------------------------------- -# Local macros -#---------------------------------------------------------------------------- - - -# ACE+SNMP -BIN = next -CCFLAGS = -I$(ACE_ROOT)/ASNMP/ -LSRC = $(addsuffix .cpp,$(BIN)) - -LDLIBS := -L$(ACE_ROOT)/ASNMP/asnmp -lasnmp $(LDLIBS:%=%$(VAR)) - -BUILD = $(VBIN) - -#---------------------------------------------------------------------------- -# Include macros and targets -#---------------------------------------------------------------------------- - -include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU -include $(ACE_ROOT)/include/makeinclude/macros.GNU -include $(ACE_ROOT)/include/makeinclude/rules.common.GNU -include $(ACE_ROOT)/include/makeinclude/rules.nonested.GNU -include $(ACE_ROOT)/include/makeinclude/rules.bin.GNU -include $(ACE_ROOT)/include/makeinclude/rules.local.GNU - -#---------------------------------------------------------------------------- -# Local targets -#---------------------------------------------------------------------------- - -#---------------------------------------------------------------------------- -# Dependencies -#---------------------------------------------------------------------------- - -# DO NOT DELETE THIS LINE -- g++dep uses it. -# DO NOT PUT ANYTHING AFTER THIS LINE, IT WILL GO AWAY. diff --git a/ASNMP/examples/next/next.cpp b/ASNMP/examples/next/next.cpp deleted file mode 100644 index be550a567a9..00000000000 --- a/ASNMP/examples/next/next.cpp +++ /dev/null @@ -1,193 +0,0 @@ -// $Id$ - -// ============================================================================ -// -// = LIBRARY -// asnmp -// -// = FILENAME -// next.cpp -// -// = DESCRIPTION -// Sample application demonstrating synchronous Snmp::get_next API -// to access an SNMP Version 1 agent. -// -// = AUTHOR -// Peter E. Mellquist original code -// Michael R MacFaden mrm@cisco.com rework API/ACE integration -// -// ============================================================================ -/*=================================================================== - Copyright (c) 1996 - Hewlett-Packard Company - - ATTENTION: USE OF THIS SOFTWARE IS SUBJECT TO THE FOLLOWING TERMS. - Permission to use, copy, modify, distribute and/or sell this software - and/or its documentation is hereby granted without fee. User agrees - to display the above copyright notice and this license notice in all - copies of the software and any documentation of the software. User - agrees to assume all liability for the use of the software; Hewlett-Packard - makes no representations about the suitability of this software for any - purpose. It is provided "AS-IS without warranty of any kind,either express - or implied. User hereby grants a royalty-free license to any and all - derivatives based upon this software code base. -=====================================================================*/ - -#include "asnmp/snmp.h" -#include "ace/Get_Opt.h" - -ACE_RCSID(next, next, "$Id$") - -// -// SNMPv1 Get Next Application -// -class nextapp { - public: - nextapp(int argc, char **argv); // process command line args - int valid() const; // verify transaction can proceed - int run(); // issue transaction - static void usage(); // operator help message - - private: - nextapp(const nextapp&); - - UdpAddress address_; - Pdu pdu_; // construct a request Pdu - Oid oid_; - OctetStr community_; - Snmp snmp_; - UdpTarget target_; - int valid_; -}; - - -// main entry point -int main( int argc, char *argv[]) -{ - nextapp get(argc, argv); - if (get.valid()) - return get.run(); - else - nextapp::usage(); - return 1; -} - -nextapp::valid() const -{ - return valid_; -} -nextapp::nextapp(int argc, char *argv[]): valid_(0) -{ - Oid req, def_oid("1.3.6.1.2.1.1.1.0"); // default is sysDescr - if ( argc < 2) - return; - - address_ = argv[argc - 1]; - if ( !address_.valid()) { - cout << "ERROR: Invalid IPv4 address or DNS hostname: " \ - << argv[argc] << "\n"; - return; - } - - ACE_Get_Opt get_opt (argc, argv, "o:c:r:t:"); - for (int c; (c = get_opt ()) != -1; ) - switch (c) - { - case 'o': - req = get_opt.optarg; - if (req.valid() == 0) - cout << "ERROR: oid value: " <<get_opt.optarg \ - << "is not valid. using default.\n"; - break; - - case 'c': - community_ = get_opt.optarg; - target_.set_read_community(community_); - break; - - case 'r': - target_.set_retry(ACE_OS::atoi (get_opt.optarg)); - break; - - case 't': - target_.set_timeout(ACE_OS::atoi (get_opt.optarg)); - break; - - default: - break; - } - - Vb vb; // construct a Vb object - if (req.valid()) - vb.set_oid( req); // set the Oid portion of the Vb - else { - vb.set_oid( def_oid); // set the Oid portion of the Vb - } - pdu_ += vb; - vb.get_oid(oid_); // store for later use - valid_ = 1; -} - -void nextapp::usage() -{ - cout << "Usage:\n"; - cout << "next [options] dotted-quad | DNSName[:port]\n"; - cout << " -o OID starts with oid after 1.3.6.1.2.1.1.1.0 (mibII sysDescr.0) \n"; - cout << " -c Community_name, default is 'public' \n"; - cout << " -r N retries default is N = 1 retry\n"; - cout << " -t N timeout in seconds default is 1 second" << endl; -} - - -int nextapp::run() -{ - - //----------[ create a ASNMP session ]----------------------------------- - if ( snmp_.valid() != SNMP_CLASS_SUCCESS) { - cout << "\nASNMP:ERROR:Create session failed: "<< - snmp_.error_string()<< "\n"; - return 1; - } - - //--------[ build up ASNMP object needed ]------------------------------- - if (address_.get_port() == 0) - address_.set_port(DEF_AGENT_PORT); - target_.set_address( address_); // make a target using the address - - //-------[ issue the request, blocked mode ]----------------------------- - cout << "\nASNMP:INFO:SNMP Version " << (target_.get_version()+ 1) << \ - " GET_NEXT SAMPLE PROGRAM \nOID: " << oid_.to_string() << "\n"; - target_.get_address(address_); // target updates port used - int rc; - char *name = address_.resolve_hostname(rc); - if (rc) - name = "<< did not resolve via gethostbyname() >>"; - - cout << "Device: " << address_ << " " << name << "\n"; - cout << "[ Retries=" << target_.get_retry() << " \ - Timeout=" << target_.get_timeout() <<" ms " << "Community=" << \ - community_.to_string() << " ]"<< endl; - - if (snmp_.get_next( pdu_, target_) == SNMP_CLASS_SUCCESS) { - Vb vb; - // check to see if there are any errors - if (pdu_.get_error_status()) { - cout << "ERROR: agent replied as follows\n"; - cout << pdu_.agent_error_reason() << endl; - } - else { - VbIter iter(pdu_); - while (iter.next(vb)) { - cout << "\tOid = " << vb.to_string_oid() << "\n"; - cout << "\tValue = " << vb.to_string_value() << "\n"; - } - } - } - else { - char *ptr = snmp_.error_string(); - cout << "ASNMP:ERROR: get_next command failed reason: " << ptr << endl; - } - cout << "ASNMP:INFO:command completed normally. ACE Rocks...\n"<< endl; - return 0; -} - diff --git a/ASNMP/examples/set/Makefile b/ASNMP/examples/set/Makefile deleted file mode 100644 index 037ef22c5c0..00000000000 --- a/ASNMP/examples/set/Makefile +++ /dev/null @@ -1,41 +0,0 @@ -#---------------------------------------------------------------------------- -# @(#)Makefile 1.1 10/18/96 -# -# Makefile for set sample application -#---------------------------------------------------------------------------- - -#---------------------------------------------------------------------------- -# Local macros -#---------------------------------------------------------------------------- - - -# ACE+SNMP -BIN = set -CCFLAGS = -I$(ACE_ROOT)/ASNMP/ -LSRC = $(addsuffix .cpp,$(BIN)) - -LDLIBS := -L$(ACE_ROOT)/ASNMP/asnmp -lasnmp $(LDLIBS:%=%$(VAR)) - -BUILD = $(VBIN) - -#---------------------------------------------------------------------------- -# Include macros and targets -#---------------------------------------------------------------------------- - -include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU -include $(ACE_ROOT)/include/makeinclude/macros.GNU -include $(ACE_ROOT)/include/makeinclude/rules.common.GNU -include $(ACE_ROOT)/include/makeinclude/rules.nonested.GNU -include $(ACE_ROOT)/include/makeinclude/rules.bin.GNU -include $(ACE_ROOT)/include/makeinclude/rules.local.GNU - -#---------------------------------------------------------------------------- -# Local targets -#---------------------------------------------------------------------------- - -#---------------------------------------------------------------------------- -# Dependencies -#---------------------------------------------------------------------------- - -# DO NOT DELETE THIS LINE -- g++dep uses it. -# DO NOT PUT ANYTHING AFTER THIS LINE, IT WILL GO AWAY. diff --git a/ASNMP/examples/set/set.cpp b/ASNMP/examples/set/set.cpp deleted file mode 100644 index ebbd022d6d4..00000000000 --- a/ASNMP/examples/set/set.cpp +++ /dev/null @@ -1,263 +0,0 @@ -// $Id$ - -// ============================================================================ -// -// = LIBRARY -// asnmp -// -// = FILENAME -// set.cpp -// -// = DESCRIPTION -// Sample application demonstrating synchronous Snmp::set API -// to update an oid in an SNMP Version 1 agent. -// -// = AUTHOR -// Peter E. Mellquist original code -// Michael R MacFaden mrm@cisco.com rework API/ACE integration -// -// ============================================================================ -/*=================================================================== - Copyright (c) 1996 - Hewlett-Packard Company - - ATTENTION: USE OF THIS SOFTWARE IS SUBJECT TO THE FOLLOWING TERMS. - Permission to use, copy, modify, distribute and/or sell this software - and/or its documentation is hereby granted without fee. User agrees - to display the above copyright notice and this license notice in all - copies of the software and any documentation of the software. User - agrees to assume all liability for the use of the software; Hewlett-Packard - makes no representations about the suitability of this software for any - purpose. It is provided "AS-IS without warranty of any kind,either express - or implied. User hereby grants a royalty-free license to any and all - derivatives based upon this software code base. -=====================================================================*/ - -#include "asnmp/snmp.h" -#include "ace/Get_Opt.h" - -ACE_RCSID(set, set, "$Id$") - -// -// SNMPv1 Set Application -// -class set { - public: - set(int argc, char **argv); // process command line args - int valid() const; // verify transaction can proceed - int run(); // issue transaction - static void usage(); // operator help message - - private: - set(const set&); - - UdpAddress address_; - Pdu pdu_; // construct a request Pdu - Oid oid_; - OctetStr community_; - Snmp snmp_; - UdpTarget target_; - int valid_; -}; - - -// main entry point -int main( int argc, char *argv[]) -{ - set get(argc, argv); - if (get.valid()) - return get.run(); - else - set::usage(); - return 1; -} - -set::valid() const -{ - return valid_; -} - -set::set(int argc, char *argv[]): valid_(0) -{ - Vb vb; // construct a Vb object - Oid req; - if ( argc < 2) - return; - target_.get_write_community(community_); - address_ = argv[argc - 1]; - if ( !address_.valid()) { - cout << "ERROR: Invalid IPv4 address or DNS hostname: " \ - << argv[argc] << "\n"; - return; - } - - ACE_Get_Opt get_opt (argc, argv, "o:c:r:t:I:U:C:G:T:O:S:P:"); - for (int c; (c = get_opt ()) != -1; ) - switch (c) - { - case 'o': - req = get_opt.optarg; - if (req.valid() == 0) - cout << "ERROR: oid value: " <<get_opt.optarg \ - << "is not valid. using default.\n"; - break; - - case 'c': - community_ = get_opt.optarg; - target_.set_write_community(community_); - break; - - case 'r': - target_.set_retry(ACE_OS::atoi (get_opt.optarg)); - break; - - case 't': - target_.set_timeout(ACE_OS::atoi (get_opt.optarg)); - break; - - case 'I': // Integer32 - { - SnmpInt32 o(ACE_OS::atoi(get_opt.optarg)); - vb.set_value(o); - pdu_ += vb; - } - break; - - case 'U': // Unsigned32 - { - SnmpUInt32 o(ACE_OS::atoi(get_opt.optarg)); - vb.set_value(o); - pdu_ += vb; - } - break; - - case 'C': // Counter32 - { - Counter32 o(ACE_OS::atoi(get_opt.optarg)); - vb.set_value(o); - pdu_ += vb; - } - break; - - case 'G': // Gauge32 - { - Gauge32 o(ACE_OS::atoi(get_opt.optarg)); - vb.set_value(o); - pdu_ += vb; - } - break; - - case 'T': // TimeTicks - { - TimeTicks o(ACE_OS::atoi(get_opt.optarg)); - vb.set_value(o); - pdu_ += vb; - } - break; - - case 'O': // Oid as a variable identifier - { - oid_ = get_opt.optarg; - vb.set_oid(oid_); // when value is set, pdu updated - } - break; - - case 'S': // Octet String - { - OctetStr o(get_opt.optarg); - vb.set_value(o); // set the Oid portion of the Vb - pdu_ += vb; - } - break; - - case 'P': // Oid String as a value - { - Oid o(get_opt.optarg); - vb.set_value(o); // set the Oid portion of the Vb - pdu_ += vb; - } - break; - - default: - break; - } - - // if user didn't set anything use defaults - if (pdu_.get_vb_count() == 0) { - Oid def_oid("1.3.6.1.2.1.1.4.0"); // defualt is sysName - OctetStr def_value("sysName.0 updated by ASNMP set command"); - vb.set_oid(def_oid); - vb.set_value(def_value); - pdu_ += vb; - cout << "INFO: using defaults, setting sysName to : " << \ - def_value.to_string() << endl; - } - - valid_ = 1; -} - -void set::usage() -{ - cout << "Usage:\n"; - cout << "next [options] dotted-quad | DNSName[:port]\n"; - cout << " -o OID starts with oid after 1.3.6.1.2.1.1.1.0 (mibII sysDescr.0) \n"; - cout << " -c Community_name, default is 'private' \n"; - cout << " -r N retries default is N = 1 retry\n"; - cout << " -t N timeout in seconds default is 1 second\n"; - cout << " -O oid_to_set -{I,U,G,S,P} value\n"; - cout << " where I=int32, U=uint32, G=gauge32, S=octet, P=oid" << endl; -} - - -int set::run() -{ - - //----------[ create a ASNMP session ]----------------------------------- - if ( snmp_.valid() != SNMP_CLASS_SUCCESS) { - cout << "\nASNMP:ERROR:Create session failed: "<< - snmp_.error_string()<< "\n"; - return 1; - } - - //--------[ build up ASNMP object needed ]------------------------------- - if (address_.get_port() == 0) - address_.set_port(DEF_AGENT_PORT); - target_.set_address( address_); // make a target using the address - - //-------[ issue the request, blocked mode ]----------------------------- - cout << "\nASNMP:INFO:SNMP Version " << (target_.get_version()+ 1) << \ - " SET SAMPLE PROGRAM \nOID: " << oid_.to_string() << "\n"; - target_.get_address(address_); // target updates port used - int rc; - char *name = address_.resolve_hostname(rc); - if (rc) - name = "<< did not resolve via gethostbyname() >>"; - - cout << "Device: " << address_ << " " << name << "\n"; - cout << "[ Retries=" << target_.get_retry() << " \ - Timeout=" << target_.get_timeout() <<" ms " << "Community=" << \ - community_.to_string() << " ]"<< endl; - - if (snmp_.set( pdu_, target_) == SNMP_CLASS_SUCCESS) { - Vb vb; - // check to see if there are any errors - if (pdu_.get_error_status()) { - cout << "ERROR: agent replied as follows\n"; - cout << pdu_.agent_error_reason() << endl; - } - else { - VbIter iter(pdu_); - while (iter.next(vb)) { - cout << "\tOid = " << vb.to_string_oid() << "\n"; - cout << "\tValue = " << vb.to_string_value() << "\n"; - } - } - } - else { - char *ptr = snmp_.error_string(); - cout << "ASNMP:ERROR: set command failed reason: " << ptr << endl; - } - cout << "ASNMP:INFO:command completed normally.\n"<< endl; - return 0; -} - diff --git a/ASNMP/examples/trap/Makefile b/ASNMP/examples/trap/Makefile deleted file mode 100644 index 9a8bdfd280a..00000000000 --- a/ASNMP/examples/trap/Makefile +++ /dev/null @@ -1,41 +0,0 @@ -#---------------------------------------------------------------------------- -# @(#)Makefile 1.1 10/18/96 -# -# Makefile for trap sample application -#---------------------------------------------------------------------------- - -#---------------------------------------------------------------------------- -# Local macros -#---------------------------------------------------------------------------- - - -# ACE+SNMP -BIN = trap -CCFLAGS = -I$(ACE_ROOT)/ASNMP/ -LSRC = $(addsuffix .cpp,$(BIN)) - -LDLIBS := -L$(ACE_ROOT)/ASNMP/asnmp -lasnmp $(LDLIBS:%=%$(VAR)) - -BUILD = $(VBIN) - -#---------------------------------------------------------------------------- -# Include macros and targets -#---------------------------------------------------------------------------- - -include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU -include $(ACE_ROOT)/include/makeinclude/macros.GNU -include $(ACE_ROOT)/include/makeinclude/rules.common.GNU -include $(ACE_ROOT)/include/makeinclude/rules.nonested.GNU -include $(ACE_ROOT)/include/makeinclude/rules.bin.GNU -include $(ACE_ROOT)/include/makeinclude/rules.local.GNU - -#---------------------------------------------------------------------------- -# Local targets -#---------------------------------------------------------------------------- - -#---------------------------------------------------------------------------- -# Dependencies -#---------------------------------------------------------------------------- - -# DO NOT DELETE THIS LINE -- g++dep uses it. -# DO NOT PUT ANYTHING AFTER THIS LINE, IT WILL GO AWAY. diff --git a/ASNMP/examples/trap/purify4.1.txt b/ASNMP/examples/trap/purify4.1.txt deleted file mode 100644 index 71760e3b724..00000000000 --- a/ASNMP/examples/trap/purify4.1.txt +++ /dev/null @@ -1,117 +0,0 @@ - Finished trap ( 0 errors, 0 leaked bytes) - Purify instrumented ./trap (pid 2667 at Fri Jul 10 17:01:13 1998) - Purify 4.1 Solaris 2, Copyright (C) 1992-1997 Rational Software Corp. All rights reserved. - For contact information type: "purify -help" - For TTY output, use the option "-windows=no" - Command-line: ./trap mordor - Options settings: -max_threads=180 -ignore-signals=SIGLWP,SIGINT \ - -cache-dir=/var/tmp/purecov -purify \ - -purify-home=/import/tools/packages/pure/purify-4.1-solaris2 -threads=yes \ - -use-internal-locks=yes -thread_stack_change=0x4000 -mt_safe_malloc=yes - Purify licensed to YAGO SYSTEMS INC - Purify checking enabled. - Current file descriptors in use: 8 - FIU: file descriptor 0: <stdin> - FIU: file descriptor 1: <stdout> - FIU: file descriptor 2: <stderr> - FIU: file descriptor 4: "/etc/.name_service_door", O_RDONLY - File info: ?r--r--r-- 1 root root 0 May 20 1997 - This file descriptor was allocated from: - _libc_open [libc.so.1] - _nsc_trydoorcall [libc.so.1] - _door_gethostbyname_r [gethostby_door.c] - _get_hostserv_inetnetdir_byname [netdir_inet.c] - gethostbyname_r [gethostbyname_r.c] - static ACE_OS::gethostbyname_r(const char*, hostent*, char*, int*) [OS.i:4634] - FIU: file descriptor 5: <unnamed pipe[0]>, O_RDWR - This file descriptor was allocated from: - pipe [rtlib.o] - static ACE_OS::pipe(int*) [OS.i:603] - ACE_Pipe::open(void) [Pipe.cpp:68] - ACE_Select_Reactor_Notify::open(ACE_Select_Reactor*) [Select_Reactor.cpp:648] - ACE_Select_Reactor::open(unsigned int, int, ACE_Sig_Handler*, ACE_Timer_Queue_T<ACE_Event_Handler*, ACE_Event_Handler_Handle_Timeout_Upcall<ACE_Recursive_Thread_Mutex>, ACE_Recursive_Thread_Mutex>*) [Select_Reactor.cpp:978] - ACE_Select_Reactor::ACE_Select_Reactor(ACE_Sig_Handler*, ACE_Timer_Queue_T<ACE_Event_Handler*, ACE_Event_Handler_Handle_Timeout_Upcall<ACE_Recursive_Thread_Mutex>, ACE_Recursive_Thread_Mutex>*) [Select_Reactor.cpp:1028] - FIU: file descriptor 6: <unnamed pipe[1]>, O_RDWR - This file descriptor was allocated from: - pipe [rtlib.o] - static ACE_OS::pipe(int*) [OS.i:603] - ACE_Pipe::open(void) [Pipe.cpp:68] - ACE_Select_Reactor_Notify::open(ACE_Select_Reactor*) [Select_Reactor.cpp:648] - ACE_Select_Reactor::open(unsigned int, int, ACE_Sig_Handler*, ACE_Timer_Queue_T<ACE_Event_Handler*, ACE_Event_Handler_Handle_Timeout_Upcall<ACE_Recursive_Thread_Mutex>, ACE_Recursive_Thread_Mutex>*) [Select_Reactor.cpp:978] - ACE_Select_Reactor::ACE_Select_Reactor(ACE_Sig_Handler*, ACE_Timer_Queue_T<ACE_Event_Handler*, ACE_Event_Handler_Handle_Timeout_Upcall<ACE_Recursive_Thread_Mutex>, ACE_Recursive_Thread_Mutex>*) [Select_Reactor.cpp:1028] - FIU: file descriptor 26: <reserved for Purify internal use> - FIU: file descriptor 27: <reserved for Purify internal use> - Memory leaked: 0 bytes (0%); potentially leaked: 0 bytes (0%) - Purify Heap Analysis (combining suppressed and unsuppressed blocks) - Blocks Bytes - Leaked 2 12 - Potentially Leaked 0 0 - In-Use 44 2237 - ---------------------------------------- - Total Allocated 46 2249 - Thread Summary : 4 threads in existence - Thread 0 [main thread] - Stack: (0xefe00000 0xf0000000), size = 0x200000 - Thread 1 - Stack: (0xee80fc70 0xee80fde4), size = 0x174 - Thread 2 - Stack: (0xef231a70 0xef231b14), size = 0xa4 - Thread 3 - Stack: (0xee70dba8 0xee70dde4), size = 0x23c - Program exited with status code 0. - * Basic memory usage (including Purify overhead): - 317744 code - 78528 data/bss - 66056 heap (peak use) - 2088 stack - * Shared library memory usage (including Purify overhead): - 356936 libasnmp.so_pure_p3_c0_410_551 (shared code) - 11488 libasnmp.so_pure_p3_c0_410_551 (private data) - 2632304 libACE.so_pure_p3_c0_410_551 (shared code) - 95524 libACE.so_pure_p3_c0_410_551 (private data) - 75058 libsocket.so.1_pure_p3_c0_410_551 (shared code) - 4092 libsocket.so.1_pure_p3_c0_410_551 (private data) - 1216 libdl.so.1_pure_p3_c0_410_551 (shared code) - 0 libdl.so.1_pure_p3_c0_410_551 (private data) - 611922 libnsl.so.1_pure_p3_c0_410_551 (shared code) - 115852 libnsl.so.1_pure_p3_c0_410_551 (private data) - 7628 libposix4.so.1_pure_p3_c0_410_551 (shared code) - 432 libposix4.so.1_pure_p3_c0_410_551 (private data) - 135301 libm.so.1_pure_p3_c0_410_551 (shared code) - 1332 libm.so.1_pure_p3_c0_410_551 (private data) - 278709 libC.so.5_pure_p3_c0_410_551 (shared code) - 59252 libC.so.5_pure_p3_c0_410_551 (private data) - 37893 libw.so.1_pure_p3_c0_410_551 (shared code) - 1628 libw.so.1_pure_p3_c0_410_551 (private data) - 2196 solaris2_threads.so_pure_p3_c0_410_551 (shared code) - 8556 solaris2_threads.so_pure_p3_c0_410_551 (private data) - 124186 libthread.so.1_pure_p3_c0_410_551 (shared code) - 100012 libthread.so.1_pure_p3_c0_410_551 (private data) - 799773 libc.so.1_pure_p3_c0_410_551 (shared code) - 34744 libc.so.1_pure_p3_c0_410_551 (private data) - 9576 libinternal_stubs.so.1 (shared code) - 324 libinternal_stubs.so.1 (private data) - 15117 libintl.so.1_pure_p3_c0_410_551 (shared code) - 1304 libintl.so.1_pure_p3_c0_410_551 (private data) - 16092 libmp.so.1_pure_p3_c0_410_551 (shared code) - 828 libmp.so.1_pure_p3_c0_410_551 (private data) - 14008 libc_psr.so.1_pure_p3_c0_410_551 (shared code) - 72 libc_psr.so.1_pure_p3_c0_410_551 (private data) - * Memory mapped usage: - 1048576 mmap'd at 0xee002000 - 1048576 mmap'd at 0xee104000 - 1048576 mmap'd at 0xee206000 - 1048576 mmap'd at 0xee308000 - 1048576 mmap'd at 0xee40a000 - 1048576 mmap'd at 0xee50c000 - 1048576 mmap'd at 0xee60e000 - 1048576 mmap'd at 0xee710000 - 8192 mmap'd PROT_NONE at 0xee000000 - 8192 mmap'd PROT_NONE at 0xee70e000 - 8192 mmap'd PROT_NONE at 0xee60c000 - 8192 mmap'd PROT_NONE at 0xee50a000 - 8192 mmap'd PROT_NONE at 0xee408000 - 8192 mmap'd PROT_NONE at 0xee306000 - 8192 mmap'd PROT_NONE at 0xee204000 - 8192 mmap'd PROT_NONE at 0xee102000 - diff --git a/ASNMP/examples/trap/trap.cpp b/ASNMP/examples/trap/trap.cpp deleted file mode 100644 index 13add3d4ea6..00000000000 --- a/ASNMP/examples/trap/trap.cpp +++ /dev/null @@ -1,182 +0,0 @@ -// $Id$ - -// ============================================================================ -// -// = LIBRARY -// asnmp -// -// = FILENAME -// trap.cpp -// -// = DESCRIPTION -// Sample application demonstrating synchronous Snmp::trap API -// to send to an SNMP Version 1 trap listener app. -// -// = AUTHOR -// Peter E. Mellquist original code -// Michael R MacFaden mrm@cisco.com rework OO, API/ACE integration -// -// ============================================================================ -/*=================================================================== - Copyright (c) 1996 - Hewlett-Packard Company - - ATTENTION: USE OF THIS SOFTWARE IS SUBJECT TO THE FOLLOWING TERMS. - Permission to use, copy, modify, distribute and/or sell this software - and/or its documentation is hereby granted without fee. User agrees - to display the above copyright notice and this license notice in all - copies of the software and any documentation of the software. User - agrees to assume all liability for the use of the software; Hewlett-Packard - makes no representations about the suitability of this software for any - purpose. It is provided "AS-IS without warranty of any kind,either express - or implied. User hereby grants a royalty-free license to any and all - derivatives based upon this software code base. -=====================================================================*/ - -#include "asnmp/snmp.h" -#define DEFINE_TRAP_CONSTANTS_ -#include "asnmp/enttraps.h" // enterprise standard traps -#include "ace/Get_Opt.h" - -ACE_RCSID(trap, trap, "$Id$") - -// -// SNMPv1 Trap Application -// -class trapapp { - public: - trapapp(int argc, char **argv); // process command line args - int valid() const; // verify transaction can proceed - int run(); // issue transaction - static void usage(); // operator help message - - private: - trapapp(const trapapp&); - - UdpAddress address_; - Pdu pdu_; // construct a request Pdu - Oid oid_; - OctetStr community_; - Snmp snmp_; - UdpTarget target_; - int valid_; -}; - - -// main entry point -int main( int argc, char *argv[]) -{ - trapapp get(argc, argv); - if (get.valid()) - return get.run(); - else - trapapp::usage(); - return 1; -} - -trapapp::valid() const -{ - return valid_; -} -trapapp::trapapp(int argc, char *argv[]): valid_(0) -{ - Oid def_ent_oid("1.3.6.1.2.1.1.1.2.0.1"); // def enterprise oid - Oid ent, trap; // user specified values - - if ( argc < 2) // hostname mandatory - return; - - address_ = argv[argc - 1]; - if ( !address_.valid()) { - cout << "ERROR: Invalid IPv4 address or DNS hostname: " \ - << argv[argc] << "\n"; - return; - } - - ACE_Get_Opt get_opt (argc, argv, "c:e:t:"); - for (int c; (c = get_opt ()) != -1; ) - switch (c) - { - case 'c': // community string - community_ = get_opt.optarg; - target_.set_read_community(community_); - break; - - case 'e': // trap oid to send - ent = get_opt.optarg; - break; - - case 't': // trap oid - trap = get_opt.optarg; - break;; - - default: - break; - } - - if (ent.valid()) - pdu_.set_notify_enterprise( ent); // set up the enterprise of the trap - else - pdu_.set_notify_enterprise( def_ent_oid); - - if (trap.valid()) - pdu_.set_notify_id( trap); // set the id of the trap - else - pdu_.set_notify_id( coldStart); // set the id of the trap - - Oid detail_oid("1.3.6.1.4.1.11.2.16.2"); - OctetStr detail_value("SNMP++ Trap Send Test"); - Vb vb(detail_oid, detail_value); - pdu_ += vb; - - pdu_.get_notify_id(oid_); // store for later use - valid_ = 1; -} - -void trapapp::usage() -{ - cout << "Usage:\n"; - cout << "trap [options] dotted-quad | DNSName[:port]\n"; - cout << " -c Community_name, default is 'public' \n"; - cout << " -r N retries default is N = 1 retry\n"; - cout << " -t N timeout in seconds default is 1 second" << endl; - cout << " -e oid enterprise oid default is 1.3.6.1.2.1.1.1.2.0.1\n"; - cout << " -O oid trap id default is coldStart 1.3.6.1.6.3.1.1.5.1\n"; -} - -int trapapp::run() -{ - if ( snmp_.valid() != SNMP_CLASS_SUCCESS) { - cout << "\nASNMP:ERROR:Create session failed: "<< - snmp_.error_string()<< "\n"; - return 1; - } - - if (address_.get_port() == 0) - address_.set_port(DEF_TRAP_PORT); - target_.set_address( address_); // make a target using the address - - //-------[ issue the request, blocked mode ]----------------------------- - cout << "\nASNMP:INFO:SNMP Version " << (target_.get_version()+ 1) << \ - " TRAP GENERATOR SAMPLE PROGRAM \nOID: " << oid_.to_string() << "\n"; - target_.get_address(address_); // target updates port used - int rc; - char *name = address_.resolve_hostname(rc); - if (rc) - name = "<< did not resolve via gethostbyname() >>"; - - cout << "Device: " << address_ << " " << name << "\n"; - cout << "[ Community=" << community_.to_string() << " ]"<< endl; - - if (snmp_.trap( pdu_, target_) == SNMP_CLASS_SUCCESS) { - cout << "Trap was written to network...\n"; - } - else { - char *ptr = snmp_.error_string(); - cout << "ASNMP:ERROR: trap command failed reason: " << ptr << endl; - } - - cout << "ASNMP:INFO:command completed normally.\n"<< endl; - return 0; -} - diff --git a/ASNMP/examples/walk/Makefile b/ASNMP/examples/walk/Makefile deleted file mode 100644 index 833fa1311f3..00000000000 --- a/ASNMP/examples/walk/Makefile +++ /dev/null @@ -1,41 +0,0 @@ -#---------------------------------------------------------------------------- -# @(#)Makefile 1.1 10/18/96 -# -# Makefile for walk sample application -#---------------------------------------------------------------------------- - -#---------------------------------------------------------------------------- -# Local macros -#---------------------------------------------------------------------------- - - -# ACE+SNMP -BIN = walk -CCFLAGS = -I$(ACE_ROOT)/ASNMP/ -LSRC = $(addsuffix .cpp,$(BIN)) - -LDLIBS := -L$(ACE_ROOT)/ASNMP/asnmp -lasnmp $(LDLIBS:%=%$(VAR)) - -BUILD = $(VBIN) - -#---------------------------------------------------------------------------- -# Include macros and targets -#---------------------------------------------------------------------------- - -include $(ACE_ROOT)/include/makeinclude/wrapper_macros.GNU -include $(ACE_ROOT)/include/makeinclude/macros.GNU -include $(ACE_ROOT)/include/makeinclude/rules.common.GNU -include $(ACE_ROOT)/include/makeinclude/rules.nonested.GNU -include $(ACE_ROOT)/include/makeinclude/rules.bin.GNU -include $(ACE_ROOT)/include/makeinclude/rules.local.GNU - -#---------------------------------------------------------------------------- -# Local targets -#---------------------------------------------------------------------------- - -#---------------------------------------------------------------------------- -# Dependencies -#---------------------------------------------------------------------------- - -# DO NOT DELETE THIS LINE -- g++dep uses it. -# DO NOT PUT ANYTHING AFTER THIS LINE, IT WILL GO AWAY. diff --git a/ASNMP/examples/walk/walk.cpp b/ASNMP/examples/walk/walk.cpp deleted file mode 100644 index 0fa63f7f6ab..00000000000 --- a/ASNMP/examples/walk/walk.cpp +++ /dev/null @@ -1,260 +0,0 @@ -// $Id$ - -// ============================================================================ -// -// = LIBRARY -// asnmp -// -// = FILENAME -// walk.cpp -// -// = DESCRIPTION -// Sample application demonstrating synchronous Snmp::get, get_next API -// to access an SNMP Version 1 agent. -// -// = AUTHOR -// Peter E. Mellquist original code -// Michael R MacFaden mrm@cisco.com rework API/ACE integration -// -// ============================================================================ -/*=================================================================== - Copyright (c) 1996 - Hewlett-Packard Company - - ATTENTION: USE OF THIS SOFTWARE IS SUBJECT TO THE FOLLOWING TERMS. - Permission to use, copy, modify, distribute and/or sell this software - and/or its documentation is hereby granted without fee. User agrees - to display the above copyright notice and this license notice in all - copies of the software and any documentation of the software. User - agrees to assume all liability for the use of the software; Hewlett-Packard - makes no representations about the suitability of this software for any - purpose. It is provided "AS-IS without warranty of any kind,either express - or implied. User hereby grants a royalty-free license to any and all - derivatives based upon this software code base. -=====================================================================*/ - -#include "asnmp/snmp.h" -#include "ace/Get_Opt.h" - -ACE_RCSID(walk, walk, "$Id$") - -// -// SNMPv1 Walk Mib Application -// -class walkapp { - public: - walkapp(int argc, char **argv); // process command line args - int valid() const; // verify transaction can proceed - int run(); // issue transaction - static void usage(); // operator help message - - private: - walkapp(const walkapp&); - - UdpAddress address_; - Pdu pdu_; // construct a request Pdu - Oid oid_; - OctetStr community_; - Snmp snmp_; - UdpTarget target_; - int valid_; -}; - - -// main entry point -int main( int argc, char *argv[]) -{ - walkapp get(argc, argv); - if (get.valid()) - return get.run(); - else - walkapp::usage(); - return 1; -} - -walkapp::valid() const -{ - return valid_; -} - -walkapp::walkapp(int argc, char *argv[]): valid_(0) -{ - Oid req, def_oid("1.3.6.1.2.1.1.1.0"); // default begin walk with MIBII - if ( argc < 2) - return; - - address_ = argv[argc - 1]; - if ( !address_.valid()) { - cout << "ERROR: Invalid IPv4 address or DNS hostname: " \ - << argv[argc] << "\n"; - return; - } - - ACE_Get_Opt get_opt (argc, argv, "o:c:r:t:"); - for (int c; (c = get_opt ()) != -1; ) - switch (c) - { - case 'o': - req = get_opt.optarg; - if (req.valid() == 0) - cout << "ERROR: oid value: " <<get_opt.optarg \ - << "is not valid. using default.\n"; - break; - - case 'c': - community_ = get_opt.optarg; - target_.set_read_community(community_); - break; - - case 'r': - target_.set_retry(ACE_OS::atoi (get_opt.optarg)); - break; - - case 't': - target_.set_timeout(ACE_OS::atoi (get_opt.optarg)); - break; - - default: - break; - } - - Vb vb; // construct a Vb object - if (req.valid()) - vb.set_oid( req); // set the Oid portion of the Vb - else { - vb.set_oid( def_oid); // set the Oid portion of the Vb - } - pdu_ += vb; - vb.get_oid(oid_); // store for later use - valid_ = 1; -} - -void walkapp::usage() -{ - cout << "Usage:\n"; - cout << "walk [options] dotted-quad | DNSName[:port]\n"; - cout << " -o OID starts with oid after 1.3.6.1.2.1.1.1.0 (mibII sysDescr.0) \n"; - cout << " -c Community_name, default is 'public' \n"; - cout << " -r N retries default is N = 1 retry\n"; - cout << " -t N timeout in seconds default is 1 second" << endl; -} - - -// -// simple mib iterator class -// -class MibIter { - public: - // Pdu must contain initial oid to begin with - MibIter(Snmp *snmp, Pdu& pdu, UdpTarget* target); - int next(Vb& vb, char *&err_reason); // return next oid in mib - - private: - Snmp *snmp_; - UdpTarget *target_; - Pdu pdu_; - Vb vb_; - int first_; // flag to obtain first entry - int valid_; // flag to obtain first entry -}; - -MibIter::MibIter(Snmp* snmp, Pdu& pdu, UdpTarget *target): - snmp_(snmp), pdu_(pdu), first_(0), - valid_(0), target_(target) -{ - // verify we have a valid oid to begin iterating with - Oid oid; - Vb vb; - pdu.get_vb(vb, 0); - vb.get_oid(oid); - if (oid.valid()) - valid_ = 1; -} - -// return vb of next oid in agent tree, return 1 else return 0, reason set -int MibIter::next(Vb& vb, char *& reason) -{ - int rc; - - if (valid_ == 0) // not valid object - return -1; - - // 1. poll for value - if (first_ == 0) { - rc = snmp_->get( pdu_, *target_); - first_++; - } - else { - rc = snmp_->get_next( pdu_, *target_); - } - - if (rc != SNMP_CLASS_SUCCESS) { - reason = snmp_->error_string(); - return 0; - } - - // 2. check for problems - if (pdu_.get_error_status()) { - reason = pdu_.agent_error_reason(); - return 0; - } - - // 3. return vb to caller - pdu_.get_vb(vb, 0); - Oid nextoid; - vb.get_oid(nextoid); // and setup next oid to get - Vb nextvb(nextoid); - pdu_.delete_all_vbs(); - pdu_ += nextvb; // can't do set_vb as there are no entries to replace - - return 1; // ok -} - -int walkapp::run() -{ - - //----------[ create a ASNMP session ]----------------------------------- - if ( snmp_.valid() != SNMP_CLASS_SUCCESS) { - cout << "\nASNMP:ERROR:Create session failed: "<< - snmp_.error_string()<< "\n"; - return 1; - } - - //--------[ build up ASNMP object needed ]------------------------------- - if (address_.get_port() == 0) - address_.set_port(DEF_AGENT_PORT); - target_.set_address( address_); // make a target using the address - - //-------[ issue the request, blocked mode ]----------------------------- - cout << "\nASNMP:INFO:SNMP Version " << (target_.get_version()+ 1) << \ - " WALK SAMPLE PROGRAM \nOID: " << oid_.to_string() << "\n"; - target_.get_address(address_); // target updates port used - int rc; - char *name = address_.resolve_hostname(rc); - if (rc) - name = "<< did not resolve via gethostbyname() >>"; - - cout << "Device: " << address_ << " " << name << "\n"; - cout << "[ Retries=" << target_.get_retry() << " \ - Timeout=" << target_.get_timeout() <<" ms " << "Community=" << \ - community_.to_string() << " ]"<< endl; - - MibIter iter(&snmp_, pdu_, &target_); - char *err_str = 0; - Vb vb; - unsigned ctr = 0; - while (iter.next(vb, err_str)) { - cout << "\tOid = " << vb.to_string_oid() << "\n"; - cout << "\tValue = " << vb.to_string_value() << "\n"; - ctr++; - } - - if (!err_str) { - cout << "ERROR: walk: " << err_str << endl; - return 0; - } - - cout << "ASNMP:INFO:command completed normally. ACE Rocks...\n"<< endl; - return 0; -} - |