[insert project logo here (125x200px max)]

Navigator

Mailinglists

Please report any errors or ommissions you find to our `Help' mailinglist, or post a message in the Forums.

Copyright and Licensing Information

Snap is (c) Jonathan T. Moore, 1999-2002 and licensed under the GNU General Public License (GPL).

All other parts of Splash are (c) Willem de Bruijn, 2002-2003 and licensed under the BSD Open Source License.

All sourcecode is made publicly available.

Acknowledgement

Splash and the Splash website are hosted by SourceForge.net

SourceForge.net Logo

osi-open source certified logo

Splash - Documentation

SNMP Plus a Lightweight API for SNAP Handling

Main Page   Alphabetical List   Data Structures   File List   Data Fields   Globals  

snap_svc/snap_svc_snmp.c File Reference

#include <stdio.h>
#include <string.h>
#include <net-snmp/net-snmp-config.h>
#include <net-snmp/net-snmp-includes.h>
#include <net-snmp/definitions.h>
#include <net-snmp/pdu_api.h>
#include <net-snmp/agent/snmp_agent.h>
#include "snap_svc.h"
#include "snap_svc_snmp.h"
#include "d_printf.h"

Include dependency graph for snap_svc_snmp.c:

Include dependency graph

Go to the source code of this file.


Functions

void snap_external_svclib_init ()
void snap_external_svclib_done ()
void snap_external_svclib_getnextfunc (char **snapsvc_name, snapsvc_func_proto *snapsvc_func, int *snapsvc_args, int *snapsvc_rets)
int snap_external_svclib_snmp_INTERNAL_execpdu_handler (int op, netsnmp_session *session, int reqid, netsnmp_pdu *pdu, void *useless)
int snap_external_svclib_snmp_init (void *useless)
int snap_external_svclib_snmp_init_ip (unsigned int ip)
int snap_external_svclib_snmp_initpdu (unsigned int msg_type)
int snap_external_svclib_snmp_addvar_null (char *name)
int snap_external_svclib_snmp_addvar_withvalue (char *name, int type, void *value, int valuelen)
int snap_external_svclib_snmp_execpdu (void *useless)
int snap_external_svclib_snmp_close (void *useless)
int snap_external_svclib_snmp_getsingle (char *name)
int snap_external_svclib_snmp_setsingle (char *name, int type, void *value, int valuelen)
int snap_external_svclib_snmp_getiface (unsigned long in_ip)
unsigned long snap_external_svclib_snmp_gethop (int iface)
int snap_external_svclib_snmp_getifnumber (void *useless)
int snap_external_svclib_snmp_isupiface (int iface)
int snap_external_svclib_snmp_getnextiface (int old_iface)
int snap_external_svclib_snmp_getnextifacefromip (unsigned long in_ip)
unsigned long snap_internal_svclib_snmp_getnexthopfromip (unsigned long in_ip)
unsigned long snap_external_svclib_snmp_getnexthopfromip (unsigned long in_ip)
int snap_external_svclib_snmp_getallotherneighboursfromip (unsigned long in_ip)

Variables

int callback_master_num
unsigned short svc_snmp_active = 0
unsigned short svc_snmp_pdu_load = 0
netsnmp_pdu * svc_snmp_pdu = NULL
netsnmp_session * svc_snmp_session = NULL
int svc_snmp_pdu_waiting = 0

Function Documentation

void snap_external_svclib_done  
 

Definition at line 35 of file snap_svc_snmp.c.

References d_printf(), snap_external_svclib_snmp_close(), svc_snmp_active, svc_snmp_pdu, svc_snmp_pdu_load, svc_snmp_pdu_waiting, and svc_snmp_session.

void snap_external_svclib_getnextfunc char **    snapsvc_name,
snapsvc_func_proto   snapsvc_func,
int *    snapsvc_args,
int *    snapsvc_rets
 

Definition at line 53 of file snap_svc_snmp.c.

References snap_external_svclib_snmp_addvar_null(), snap_external_svclib_snmp_addvar_withvalue(), snap_external_svclib_snmp_close(), snap_external_svclib_snmp_execpdu(), snap_external_svclib_snmp_getallotherneighboursfromip(), snap_external_svclib_snmp_getnexthopfromip(), snap_external_svclib_snmp_getsingle(), snap_external_svclib_snmp_init(), snap_external_svclib_snmp_init_ip(), snap_external_svclib_snmp_initpdu(), snap_external_svclib_snmp_setsingle(), snapsvc_func_proto, svc_fun_counter, and SVC_SNMP_TYPE_NULL.

void snap_external_svclib_init  
 

Definition at line 30 of file snap_svc_snmp.c.

References d_printf(), and snap_external_svclib_snmp_init().

int snap_external_svclib_snmp_addvar_null char *    name
 

Definition at line 304 of file snap_svc_snmp.c.

References d_printf(), snap_external_svclib_snmp_initpdu(), and svc_snmp_pdu.

Referenced by snap_external_svclib_getnextfunc(), snap_external_svclib_snmp_gethop(), and snap_external_svclib_snmp_getsingle().

int snap_external_svclib_snmp_addvar_withvalue char *    name,
int    type,
void *    value,
int    valuelen
 

Definition at line 328 of file snap_svc_snmp.c.

References d_printf(), snap_external_svclib_snmp_initpdu(), and svc_snmp_pdu.

Referenced by snap_external_svclib_getnextfunc(), and snap_external_svclib_snmp_setsingle().

int snap_external_svclib_snmp_close void *    useless
 

Definition at line 401 of file snap_svc_snmp.c.

References d_printf(), svc_snmp_active, svc_snmp_pdu, and svc_snmp_session.

Referenced by snap_external_svclib_done(), snap_external_svclib_getnextfunc(), snap_external_svclib_snmp_init(), and snap_external_svclib_snmp_init_ip().

int snap_external_svclib_snmp_execpdu void *    useless
 

Definition at line 351 of file snap_svc_snmp.c.

References d_printf(), d_printf_timed(), fdset, svc_snmp_pdu, svc_snmp_pdu_load, svc_snmp_pdu_waiting, and svc_snmp_session.

Referenced by snap_external_svclib_getnextfunc(), snap_external_svclib_snmp_gethop(), snap_external_svclib_snmp_getsingle(), and snap_external_svclib_snmp_setsingle().

int snap_external_svclib_snmp_getallotherneighboursfromip unsigned long    in_ip
 

Definition at line 631 of file snap_svc_snmp.c.

References d_printf(), svc_returnitem::data, svc_returnstruct::length, svc_returnitem::length, svc_returnstruct::list, snap_external_svclib_free_local_returnstruct(), snap_external_svclib_snmp_gethop(), snap_external_svclib_snmp_getifnumber(), snap_external_svclib_snmp_isupiface(), svc_return, SVC_SNMP_TYPE_ADDR, SVC_SNMP_TYPE_INT, SVC_SNMP_TYPE_NULL, and svc_returnitem::type.

Referenced by snap_external_svclib_getnextfunc().

unsigned long snap_external_svclib_snmp_gethop int    iface
 

Definition at line 476 of file snap_svc_snmp.c.

References d_printf(), svc_returnitem::data, svc_returnstruct::length, svc_returnitem::length, svc_returnstruct::list, svc_returnitem::oid, svc_returnitem::oid_length, snap_external_svclib_snmp_addvar_null(), snap_external_svclib_snmp_execpdu(), snap_external_svclib_snmp_initpdu(), svc_return, svc_snmp_pdu, SVC_SNMP_TYPE_INT, and svc_returnitem::type.

Referenced by snap_external_svclib_snmp_getallotherneighboursfromip(), and snap_internal_svclib_snmp_getnexthopfromip().

int snap_external_svclib_snmp_getiface unsigned long    in_ip
 

Definition at line 455 of file snap_svc_snmp.c.

References d_printf(), svc_returnitem::data, svc_returnstruct::length, svc_returnitem::length, svc_returnstruct::list, snap_external_svclib_snmp_getsingle(), svc_return, SVC_SNMP_TYPE_INT, and svc_returnitem::type.

Referenced by snap_external_svclib_snmp_getnextifacefromip().

int snap_external_svclib_snmp_getifnumber void *    useless
 

Definition at line 540 of file snap_svc_snmp.c.

References d_printf(), svc_returnitem::data, svc_returnstruct::length, svc_returnitem::length, svc_returnstruct::list, snap_external_svclib_snmp_getsingle(), svc_return, SVC_SNMP_TYPE_INT, and svc_returnitem::type.

Referenced by snap_external_svclib_snmp_getallotherneighboursfromip(), and snap_external_svclib_snmp_getnextiface().

unsigned long snap_external_svclib_snmp_getnexthopfromip unsigned long    in_ip
 

Definition at line 617 of file snap_svc_snmp.c.

References svc_returnitem::data, svc_returnstruct::length, svc_returnstruct::list, snap_external_svclib_free_local_returnstruct(), snap_internal_svclib_snmp_getnexthopfromip(), svc_return, SVC_SNMP_TYPE_ADDR, and svc_returnitem::type.

Referenced by snap_external_svclib_getnextfunc().

int snap_external_svclib_snmp_getnextiface int    old_iface
 

Definition at line 577 of file snap_svc_snmp.c.

References snap_external_svclib_snmp_getifnumber(), and snap_external_svclib_snmp_isupiface().

Referenced by snap_external_svclib_snmp_getnextifacefromip().

int snap_external_svclib_snmp_getnextifacefromip unsigned long    in_ip
 

Definition at line 599 of file snap_svc_snmp.c.

References snap_external_svclib_snmp_getiface(), and snap_external_svclib_snmp_getnextiface().

Referenced by snap_internal_svclib_snmp_getnexthopfromip().

int snap_external_svclib_snmp_getsingle char *    name
 

Definition at line 428 of file snap_svc_snmp.c.

References snap_external_svclib_snmp_addvar_null(), snap_external_svclib_snmp_execpdu(), and snap_external_svclib_snmp_initpdu().

Referenced by snap_external_svclib_getnextfunc(), snap_external_svclib_snmp_getiface(), snap_external_svclib_snmp_getifnumber(), and snap_external_svclib_snmp_isupiface().

int snap_external_svclib_snmp_init void *    useless
 

Definition at line 221 of file snap_svc_snmp.c.

References callback_master_num, d_printf(), snap_external_svclib_snmp_close(), snap_external_svclib_snmp_INTERNAL_execpdu_handler(), svc_snmp_active, and svc_snmp_session.

Referenced by snap_external_svclib_getnextfunc(), snap_external_svclib_init(), and snap_external_svclib_snmp_initpdu().

int snap_external_svclib_snmp_init_ip unsigned int    ip
 

Definition at line 240 of file snap_svc_snmp.c.

References d_printf(), snap_external_svclib_snmp_close(), snap_external_svclib_snmp_INTERNAL_execpdu_handler(), svc_snmp_active, and svc_snmp_session.

Referenced by snap_external_svclib_getnextfunc().

int snap_external_svclib_snmp_initpdu unsigned int    msg_type
 

Definition at line 271 of file snap_svc_snmp.c.

References d_printf(), snap_external_svclib_snmp_init(), svc_snmp_pdu, svc_snmp_pdu_load, and svc_snmp_session.

Referenced by snap_external_svclib_getnextfunc(), snap_external_svclib_snmp_addvar_null(), snap_external_svclib_snmp_addvar_withvalue(), snap_external_svclib_snmp_gethop(), snap_external_svclib_snmp_getsingle(), and snap_external_svclib_snmp_setsingle().

int snap_external_svclib_snmp_INTERNAL_execpdu_handler int    op,
netsnmp_session *    session,
int    reqid,
netsnmp_pdu *    pdu,
void *    useless
 

Definition at line 121 of file snap_svc_snmp.c.

References d_printf(), svc_returnitem::data, svc_returnitem::length, svc_returnstruct::length, svc_returnstruct::list, svc_returnitem::oid, svc_returnitem::oid_length, snap_external_svclib_free_local_returnstruct(), svc_return, svc_snmp_pdu_waiting, SVC_SNMP_TYPE_ADDR, SVC_SNMP_TYPE_INT, SVC_SNMP_TYPE_LONG, SVC_SNMP_TYPE_NULL, SVC_SNMP_TYPE_STRING, and svc_returnitem::type.

Referenced by snap_external_svclib_snmp_init(), and snap_external_svclib_snmp_init_ip().

int snap_external_svclib_snmp_isupiface int    iface
 

Definition at line 557 of file snap_svc_snmp.c.

References d_printf(), svc_returnitem::data, svc_returnstruct::length, svc_returnitem::length, svc_returnstruct::list, snap_external_svclib_snmp_getsingle(), svc_return, SVC_SNMP_TYPE_INT, and svc_returnitem::type.

Referenced by snap_external_svclib_snmp_getallotherneighboursfromip(), and snap_external_svclib_snmp_getnextiface().

int snap_external_svclib_snmp_setsingle char *    name,
int    type,
void *    value,
int    valuelen
 

Definition at line 439 of file snap_svc_snmp.c.

References snap_external_svclib_snmp_addvar_withvalue(), snap_external_svclib_snmp_execpdu(), and snap_external_svclib_snmp_initpdu().

Referenced by snap_external_svclib_getnextfunc().

unsigned long snap_internal_svclib_snmp_getnexthopfromip unsigned long    in_ip
 

Definition at line 606 of file snap_svc_snmp.c.

References snap_external_svclib_snmp_gethop(), and snap_external_svclib_snmp_getnextifacefromip().

Referenced by snap_external_svclib_snmp_getnexthopfromip().


Variable Documentation

int callback_master_num
 

Definition at line 20 of file snap_svc_snmp.c.

Referenced by snap_external_svclib_snmp_init().

unsigned short svc_snmp_active = 0
 

Definition at line 23 of file snap_svc_snmp.c.

Referenced by snap_external_svclib_done(), snap_external_svclib_snmp_close(), snap_external_svclib_snmp_init(), and snap_external_svclib_snmp_init_ip().

netsnmp_pdu* svc_snmp_pdu = NULL
 

Definition at line 25 of file snap_svc_snmp.c.

Referenced by snap_external_svclib_done(), snap_external_svclib_snmp_addvar_null(), snap_external_svclib_snmp_addvar_withvalue(), snap_external_svclib_snmp_close(), snap_external_svclib_snmp_execpdu(), snap_external_svclib_snmp_gethop(), and snap_external_svclib_snmp_initpdu().

unsigned short svc_snmp_pdu_load = 0
 

Definition at line 24 of file snap_svc_snmp.c.

Referenced by snap_external_svclib_done(), snap_external_svclib_snmp_execpdu(), and snap_external_svclib_snmp_initpdu().

int svc_snmp_pdu_waiting = 0
 

Definition at line 27 of file snap_svc_snmp.c.

Referenced by snap_external_svclib_done(), snap_external_svclib_snmp_execpdu(), and snap_external_svclib_snmp_INTERNAL_execpdu_handler().

netsnmp_session* svc_snmp_session = NULL
 

Definition at line 26 of file snap_svc_snmp.c.

Referenced by snap_external_svclib_done(), snap_external_svclib_snmp_close(), snap_external_svclib_snmp_execpdu(), snap_external_svclib_snmp_init(), snap_external_svclib_snmp_init_ip(), and snap_external_svclib_snmp_initpdu().