AgentXcpp is a C++ implementation of the AgentX protocol (RFC 2741). The AgentX protocol is used to implement SNMP MIBs as subagents, which are separate processes connecting to a master agent. The master agent in turn provides an SNMP interface to the outside world.
You may visit the project's website: agentxcpp.org
All basic functions are implemented.
Somewhat advanced features, e.g. GetBulk requests, contexts (used by SNMPv3) and agent capabilities, are not implemented. Also, TCP is not supported for agentX connections (only unix domain sockets are), so the library will not work on windows. Further, index allocating (needed to combine variables from multiple subagents into a single table) is not available. Currently, the library is also missing logging capabilities.
Copyright 2011-2016 Tanjeff-Nicolai Moos [email protected]
This file is part of the agentXcpp library.
AgentXcpp is free software: you can redistribute it and/or modify it under the terms of the AgentXcpp library license, version 1, which consists of the GNU General Public License and some additional permissions.
AgentXcpp is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
See the AgentXcpp library license in the LICENSE file of this package for more details.
IMPORTANT: The software contained in the site_scons
directory is
distributed under its own license. See the files there for details.
There are two types of documentation: The "API documentation" and the "internals documentation".
The API documentation describes the AgentXcpp API and is intended for the user of the library. It contains not only the complete API reference, but also a tutorial to get started.
The internals documentation explains all internals of the library, including descriptions of the used concepts, how the build system is configured and how releases should be created. Of course, it contains also the reference of the whole code.
This section describes how to build the documentation from the source.
To build agentXcpp, the following is needed:
- Standard build environment (compiler, linker, etc.)
- The QT4 library (devel package, e.g. libqt4-dev on linux systems)
- Doxygen, to build the documentation
- The
dot
tool from the graphviz package, which is used by doxygen to generate diagrams - SCons, to control the build process You can build the documentation using SCons or without SCons.
-
With SCons: cd into the
doc/
directory and typescons
This builds both documentations (API and internal).
-
Without SCons: cd into the
doc/
directory and typedoxygen api.doxyfile
respectively
doxygen internals.doxyfile
After building, the documentation can be displayed by pointing a web browser to
doc/api/html/index.html
respectively doc/internals/html/index.html
.
This top level directory contains the following elements:
-
artwork/
Here is the agentXcpp logo, and possibly other artwork.
-
AUTHORS
Contains the author(s) of the agentXcpp library.
-
ChangeLog
The Changelog.
-
create-release.py
A script to create an agentXcpp release.
-
doc/
This directory contains the documentation. The documentation is created using Doxygen and most of the content is contained in the source code. The doc/ directory contains the doxygen configs, some additional documentation files (*.dox) and the RFC 2741.
-
getversion.py
A script to reliably obtain the version of this agentXcpp copy.
-
LICENSE
Contains the AgentXcpp library LICENSE, which consists of the GPL and an additional linking exception.
-
GPLv3
The GNU GENERAL PUBLIC LICENSE, Version 3.
-
README
This file.
-
SConstruct
AgentXcpp is built using SCons. This file defines how to build the library and the documentation.
-
site_scons/
This directory contains SCons supplements. The software contained in this directory is published under another license than agentXcpp, as it is not part of the agentXcpp software. Distribution is done for convenience.
-
src/
This directory contains the source code of the library.