Provided by: libsnmpkit-dev_0.9-16ubuntu2_amd64 bug

NAME

       SNMP_table - C++ object for requesting and storing a table of SNMP settings

SYNOPSIS

       #include <snmpkit>

       SNMP_table(SNMP_session &session, unsigned int slen);

       void get(list<void*> &dest);

       unsigned int stlen();

DESCRIPTION

       A  SNMP_table is a derivation of the SNMP_structFiller(3) class whose purpose is to automate fetching all
       the rows within a SNMP table. It does this by doing multiple get_next requests  of  a  group  of  objects
       until it falls off the end of the table.

   SNMP_table::SNMP_table(SNMP_session &session, void *(new_funct)());
       Create  a  new SNMP_table object.  The session parameter defines the SNMP enabled device to query and the
       new_funct is a function that allocate and initializes the underlying data structure returns  a  void*  to
       it.

   void SNMP_structFiller::append_int(const string &oidstr,void (*fp)(void*,long));
   void SNMP_structFiller::append_counter (const string &oidstr, void (*fp)(void*,long));
   void SNMP_structFiller::append_timetick (const string &oidstr, void (*fp)(void*,unsigned long));
   void SNMP_structFiller::append_ipaddr (const string &oidstr, void (*fp)(void*,const unsigned char *));
   void SNMP_structFilleri::append_string(const string &oidstr, void (*fp)(void*,const char *));
       All  of  the  various  append  methods  add an SNMP object to the end of the underlying SNMP_structFiller
       instance.  Each method requires the OID of the SNMP object to add and a function that will insert it into
       the associated structure.

       This library does not attempt to read MIBs. This means that youwill need to look up the OID string before
       hand and hard code the OIDstring into your program.

       The job of the function pointer is to insert whatever data it gets back into the the data structure. This
       allows you to do any kind of munging around you want with the data you get and  therefore  you  can  have
       much  more  complicated  receiving  structure.   See  the  example  programs  included  with  the SNMPkit
       documentation (snmptest*.C) for examples of various uses of this.

       Exceptions

       * BerOidBadSubOidException - One of the OIDs could not be converted to a number.

       * BerNoOidsException - No OIDs were specified.

   void SNMP_structFiller::remove(const string &oidstr);
       Delete an SNMP object from the underlying SNMP_structFiller instance.

       Exceptions

       * FillerRemoveEmptyException - An attempt was made to remove  from  an  empty  SNMP_structFiller  object;
       results from a programming error.

       *  FillerRemoveNotFoundException  - An attempt was made to remove an item not currently in the container;
       results from a programming error.

       * FillerCorruptException - The SNMP table entry was successfully removed, however the  OID  sequence  was
       NULL; results from a programming error in the library.

       *  OidSeqRemoveNotFoundException  -  A programming error resulted in the attempt to remove something that
       was not there.

       * OidSeqBadLayoutException - The BER sequence did not follow the layout of an OID sequence.

   void SNMP_table::get(list<void*> &dest);
       Method to read multiple rows of information from an SNMP device and  insert  them  into  the  destination
       list.

       Exceptions

       *  SNMPNoResponseException - The SNMP_structFiller object did not receive a response from the remote SNMP
       Agent. This can be caused by many things, no agent running on destination, a firewall between you and the
       destination.

       * SNMPPacketNotSequenceException - The response received was not a valid SNMP response.

       * SNMPRespNotSequenceException - The packet received was a valid SNMP response but  the  payload  of  the
       packet wasn't a sequence type.

       * SNMPNotResponseTagException - The type of the SNMP response received was invalid (not 0xa2).

       * SNMPSeqnoNotIntException - The sequence number of the response was not a classified as a number.

       *  SNMPStateNotIntException - The SNMP device sent back an improperly constructed response packet and the
       status was not classified as an integer.

       * SNMPFaultOidNotIntException - A response was returned with an error but the index to  the  problem  OID
       was not classified as an integer.

       *  OidSeqBadLayoutException  -  Within a SNMP packet there is a substructure which is an OID sequence. If
       the packet was supposed to have an OID sequence in a particular locaion but for some reason  one  of  the
       elements was not of the correct type, then this exception will be thrown.

       * SNMPBadOidException - An OID in the SNMP response packet was invalid

       * SocketSendShortExecption -  An error occurred while sending the SNMP request resulting in an incomplete
       transmission of the query

       *    BerSequenceTagException,    BerIntTagException,    BerCounterTagException,    BerStringTagException,
       BerNullTagException, BerOidTagException, BerTimeTickTagException -  Although  this  will  result  from  a
       encoding error, it is caused by calling a BER object constructor on an invalid piece of data.

       *    BerLengthException,    BerIntLengthExecption,   BerCounterLengthExecption,   BerNullLengthExecption,
       BerTimeTickLengthExecption, BerIPAddrLengthExecption -  The size of the data to be encoded (BER) will not
       fit into an unsigned long data type.

SEE ALSO

       SNMP_structFiller(3), SNMP_table(3)

AUTHOR

       SNMPkit C/C++ library was originally developed by Ben Woodard <ben@users.sourceforge.net>. This man  page
       was written by Gerald Carter <gcarter@valinux.com>

GNU snmpkit 0.4                                   November 2000                                    SNMP_table(3)