Manual Pages for UNIX Darwin command on man netsnmp_library
MyWebUniversity

Manual Pages for UNIX Darwin command on man netsnmp_library

The Net-SNMP library(3) The Net-SNMP library(3)

NAME

netsnmplibrary - The Net-SNMP library

MMoodduulleess groupaassnn11 ppaarrssiinngg aanndd ddaattaattyyppee mmaanniippuullaattiioonn rroouuttiinneess.. groupAA ggeenneerriicc ccaallllbbaacckk mmeecchhaanniissmm

groupggeenneerriicc lliinnkkeedd-lliisstt ddaattaa hhaannddlliinngg wwiitthh aa ssttrriinngg aass aa kkeeyy..

groupssttoorraaggee ssppaaccee ffoorr ddeeffaauullttss

The purpose of the default storage is three-fold:.

groupmmiibb ppaarrssiinngg aanndd ddaattaattyyppee mmaanniippuullaattiioonn rroouuttiinneess.. groupSSttoorree aanndd rreettrriieevvee ddaattaa rreeffeerreenncceedd bbyy aann OOIIDD.. This is essentially a way of storing data associated with a given OID. groupppaarrssiinngg vvaarriioouuss ccoonnffiigguurraattiioonn ffiilleess aatt rruunn ttiimmee The readconfig related functions are a fairly extensible system of parsing various configuration files at the run time. groupggeenneerriicc lliibbrraarryy bbaasseedd aallaarrmm ttiimmeerrss ffoorr vvaarriioouuss ppaarrttss ooff aann aapppplliiccaattiioonn groupvvaarriioouuss PPDDUU pprroocceessssiinngg rroouuttiinneess

groupggeenneerriicc llooggggiinngg ffoorr nneett-ssnnmmpp

groupMMeemmoorryy UUttiilliittyy RRoouuttiinneess DDaattaa SSttrruuccttuurreess struct ssnnmmppiinntteerrnnaallsseessssiioonn struct sseessssiioonnlliisstt DDeeffiinneess

#define MMIINN(a, b) (((a) < (b)) ? (a) : (b))

#define MMIIBBCCLLIIEENNTTSSAARREEEEVVIILL 1

#define iinniittaaggeennttccaallllbbaacckkttrraannssppoorrtt()

#define SSNNMMPPNNEEEEDDRREEQQUUEESSTTLLIISSTT

#define ttiimmeerrccmmpp(tvp, uvp, cmp)

#define ttiimmeerrcclleeaarr(tvp) (tvp)->tvsec = (tvp)->tvusec = 0

#define MMAAXXPPAACCKKEETTLLEENNGGTTHH (0x7fffffff)

#define NNEETTSSNNMMPPSSTTRREEAAMMQQUUEEUUEELLEENN 5

#define BBSSDD4422

#define NNFFDDBBIITTSS (sizeof(fdmask) * NBBY) /* bits per mask */

#define FFDDSSEETT(n, p) ((p)->fdsbits[(n)/NFDBITS] |= (1 << ((n) %

NFDBITS)))

#define FFDDCCLLRR(n, p) ((p)->fdsbits[(n)/NFDBITS] &= ~(1 << ((n) %

NFDBITS)))

#define FFDDIISSSSEETT(n, p) ((p)->fdsbits[(n)/NFDBITS] & (1 << ((n) %

NFDBITS)))

#define FFDDZZEERROO(p) memset((p), 0, sizeof(*(p)))

#define DDEEFFAAUULLTTCCOOMMMMUUNNIITTYY 'public'

#define DDEEFFAAUULLTTRREETTRRIIEESS 5

#define DDEEFFAAUULLTTTTIIMMEEOOUUTT 1000000L

#define DDEEFFAAUULLTTRREEMMPPOORRTT SNMPPORT

#define DDEEFFAAUULLTTEENNTTEERRPPRRIISSEE defaultenterprise

#define DDEEFFAAUULLTTTTIIMMEE 0

#define MMAAXXIIMMUUMMPPAACCKKEETTSSIIZZEE 0x7fffffff

#define DDEEBBUUGGPPRRIINNTTPPDDUUTTYYPPEE(token, type)

#define EERRRROORRSSTTAATTLLEENNGGTTHH 11

TTyyppeeddeeffss typedef long ffddmmaasskk FFuunnccttiioonnss int iinniittaaggeenntt (const char *app) Initialize the agent. void sshhuuttddoowwnnaaggeenntt (void) int ssnnmmppbbuuiilldd (uchar **pkt, sizet *pktlen, sizet *offset, nneettssnnmmppsseessssiioonn *pss, nneettssnnmmppppdduu *pdu) int ssnnmmppggeetteerrrrnnoo (void) void ssnnmmppssyynncchhrreesseett (nneettssnnmmppsseessssiioonn *notused) void ssnnmmppssyynncchhsseettuupp (nneettssnnmmppsseessssiioonn *notused) const char * ssttrreerrrroorr (int err) long ssnnmmppggeettnneexxttrreeqqiidd (void) long ssnnmmppggeettnneexxttmmssggiidd (void) long ssnnmmppggeettnneexxttsseessssiidd (void) long ssnnmmppggeettnneexxttttrraannssiidd (void) void ssnnmmppppeerrrroorr (const char *progstring) void ssnnmmppsseettddeettaaiill (const char *detailstring) const char * ssnnmmppaappiieerrrrssttrriinngg (int snmperrnumber) void ssnnmmppeerrrroorr (nneettssnnmmppsseessssiioonn *psess, int *perrno, int *psnmperrno, char **pstr) void ssnnmmppsseesssseerrrroorr (void *sessp, int *perrno, int *psnmperrno, char **pstr) void nneettssnnmmppsseessssllooggeerrrroorr (int priority, const char *progstring, nneettssnnmmppsseessssiioonn *ss) void ssnnmmppsseessssppeerrrroorr (const char *progstring, nneettssnnmmppsseessssiioonn *ss) void ssnnmmppsseessssiinniitt (nneettssnnmmppsseessssiioonn *session) void iinniittssnnmmppeennuummss (void) void iinniittssnnmmpp (const char *type) Calls the functions to do config file loading and mib module parsing in the correct order. void ssnnmmppssttoorree (const char *type) void ssnnmmppsshhuuttddoowwnn (const char *type) Shuts down the application, saving any needed persistent storage, and appropriate clean up. nneettssnnmmppsseessssiioonn * ssnnmmppooppeenn (nneettssnnmmppsseessssiioonn *session) nneettssnnmmppsseessssiioonn * ssnnmmppooppeenneexx (nneettssnnmmppsseessssiioonn *session, int(*fpreparse)(nneettssnnmmppsseessssiioonn *, netsnmptransport *, void *, int), int(*fparse)(nneettssnnmmppsseessssiioonn *, nneettssnnmmppppdduu *, uchar *, sizet), int(*fpostparse)(nneettssnnmmppsseessssiioonn *, nneettssnnmmppppdduu *, int), int(*fbuild)(nneettssnnmmppsseessssiioonn *, nneettssnnmmppppdduu *, uchar *, sizet *), int(*frbuild)(nneettssnnmmppsseessssiioonn *, nneettssnnmmppppdduu *, uchar **, sizet *, sizet *), int(*fcheck)(uchar *, sizet)) int ssnnmmppvv33eennggiinneeIIDDpprroobbee (struct sessionlist *slp, nneettssnnmmppsseessssiioonn *insession) nneettssnnmmppsseessssiioonn * ssnnmmppaadddd (nneettssnnmmppsseessssiioonn *insession, netsnmptransport *transport, int(*fpreparse)(nneettssnnmmppsseessssiioonn *, netsnmptransport *, void *, int), int(*fpostparse)(nneettssnnmmppsseessssiioonn *, nneettssnnmmppppdduu *, int)) nneettssnnmmppsseessssiioonn * ssnnmmppaaddddffuullll (nneettssnnmmppsseessssiioonn *insession, netsnmptransport *transport, int(*fpreparse)(nneettssnnmmppsseessssiioonn *, netsnmptransport *, void *, int), int(*fparse)(nneettssnnmmppsseessssiioonn *, nneettssnnmmppppdduu *, uchar *, sizet), int(*fpostparse)(nneettssnnmmppsseessssiioonn *, nneettssnnmmppppdduu *, int), int(*fbuild)(nneettssnnmmppsseessssiioonn *, nneettssnnmmppppdduu *, uchar *, sizet *), int(*frbuild)(nneettssnnmmppsseessssiioonn *, nneettssnnmmppppdduu *, uchar **, sizet *, sizet *), int(*fcheck)(uchar *, sizet), nneettssnnmmppppdduu *(*fcreatepdu)(netsnmptransport *, void *, sizet)) void * ssnnmmppsseessssaaddddeexx (nneettssnnmmppsseessssiioonn *insession, netsnmptransport *transport, int(*fpreparse)(nneettssnnmmppsseessssiioonn *, netsnmptransport *, void *, int), int(*fparse)(nneettssnnmmppsseessssiioonn *, nneettssnnmmppppdduu *, uchar *, sizet), int(*fpostparse)(nneettssnnmmppsseessssiioonn *, nneettssnnmmppppdduu *, int), int(*fbuild)(nneettssnnmmppsseessssiioonn *, nneettssnnmmppppdduu *, uchar *, sizet *), int(*frbuild)(nneettssnnmmppsseessssiioonn *, nneettssnnmmppppdduu *, uchar **, sizet *, sizet *), int(*fcheck)(uchar *, sizet), nneettssnnmmppppdduu *(*fcreatepdu)(netsnmptransport *, void *, sizet)) void * ssnnmmppsseessssaadddd (nneettssnnmmppsseessssiioonn *insession, netsnmptransport *transport, int(*fpreparse)(nneettssnnmmppsseessssiioonn *, netsnmptransport *, void *, int), int(*fpostparse)(nneettssnnmmppsseessssiioonn *, nneettssnnmmppppdduu *, int)) void * ssnnmmppsseessssooppeenn (nneettssnnmmppsseessssiioonn *pss) int ccrreeaatteeuusseerrffrroommsseessssiioonn (nneettssnnmmppsseessssiioonn *session) int ssnnmmppsseesssscclloossee (void *sessp) int ssnnmmppcclloossee (nneettssnnmmppsseessssiioonn *session) int ssnnmmppcclloosseesseessssiioonnss (void) int ssnnmmppvv33ppaacckkeettbbuuiilldd (nneettssnnmmppsseessssiioonn *session, nneettssnnmmppppdduu *pdu, uchar *packet, sizet *outlength, uchar *pdudata, sizet pdudatalen) uchar * ssnnmmppppdduubbuuiilldd (nneettssnnmmppppdduu *pdu, uchar *cp, sizet *outlength) int ssnnmmppvv33ppaarrssee (nneettssnnmmppppdduu *pdu, uchar *data, sizet *length, uchar **afterheader, nneettssnnmmppsseessssiioonn *sess) int ssnnmmppvv33mmaakkeerreeppoorrtt (nneettssnnmmppppdduu *pdu, int error) int ssnnmmppvv33ggeettrreeppoorrttttyyppee (nneettssnnmmppppdduu *pdu) int ssnnmmppppdduuppaarrssee (nneettssnnmmppppdduu *pdu, uchar *data, sizet *length) uchar * ssnnmmppvv33ssccooppeeddPPDDUUppaarrssee (nneettssnnmmppppdduu *pdu, uchar *cp, sizet *length) int ssnnmmppsseenndd (nneettssnnmmppsseessssiioonn *session, nneettssnnmmppppdduu *pdu) int ssnnmmppsseesssssseenndd (void *sessp, nneettssnnmmppppdduu *pdu) int ssnnmmppaassyynnccsseenndd (nneettssnnmmppsseessssiioonn *session, nneettssnnmmppppdduu *pdu, snmpcallback callback, void *cbdata) int ssnnmmppsseessssaassyynnccsseenndd (void *sessp, nneettssnnmmppppdduu *pdu, snmpcallback callback, void *cbdata) void ssnnmmppffrreeeevvaarr (nneettssnnmmppvvaarriiaabblleelliisstt *var) void ssnnmmppffrreeeevvaarrbbiinndd (nneettssnnmmppvvaarriiaabblleelliisstt *var) void ssnnmmppffrreeeeppdduu (nneettssnnmmppppdduu *pdu) nneettssnnmmppppdduu * ssnnmmppccrreeaatteesseessssppdduu (netsnmptransport *transport, void *opaque, sizet olength) void ssnnmmpprreeaadd (fdset *fdset) int sseessssrreeaadd (void *sessp, fdset *fdset) int ssnnmmppsseessssrreeaadd (void *sessp, fdset *fdset) int ssnnmmppsseelleeccttiinnffoo (int *numfds, fdset *fdset, struct timeval *timeout, int *block) int ssnnmmppsseesssssseelleeccttiinnffoo (void *sessp, int *numfds, fdset *fdset, struct timeval *timeout, int *block) void ssnnmmppttiimmeeoouutt (void) void ssnnmmppsseessssttiimmeeoouutt (void *sessp) int ssnnmmppooiiddnnccoommppaarree (const oid *inname1, sizet len1, const oid *inname2, sizet len2, sizet maxlen) int ssnnmmppooiiddccoommppaarree (const oid *inname1, sizet len1, const oid *inname2, sizet len2) lexicographical compare two object identifiers. int ssnnmmppooiiddttrreeeeccoommppaarree (const oid *inname1, sizet len1, const oid *inname2, sizet len2) Compares 2 OIDs to determine if they are equal up until the shortest length. int nneettssnnmmppooiiddeeqquuaallss (const oid *inname1, sizet len1, const oid *inname2, sizet len2) Compares 2 OIDs to determine if they are exactly equal. int nneettssnnmmppooiiddiissssuubbttrreeee (const oid *inname1, sizet len1, const oid *inname2, sizet len2) Identical to netsnmpoidequals, except only the length up to len1 is compared. int nneettssnnmmppooiiddffiinnddpprreeffiixx (const oid *inname1, sizet len1, const oid *inname2, sizet len2) Given two OIDs, determine the common prefix to them both. nneettssnnmmppvvaarriiaabblleelliisstt * ssnnmmppppdduuaaddddvvaarriiaabbllee (nneettssnnmmppppdduu *pdu, const oid *name, sizet namelength, uchar type, const uchar *value, sizet len) nneettssnnmmppvvaarriiaabblleelliisstt * ssnnmmppvvaarrlliissttaaddddvvaarriiaabbllee (nneettssnnmmppvvaarriiaabblleelliisstt **varlist, const oid *name, sizet namelength, uchar type, const uchar *value, sizet len) int ssnnmmppaaddddvvaarr (nneettssnnmmppppdduu *pdu, const oid *name, sizet namelength, char type, const char *value) void * ssnnmmppsseessssppooiinntteerr (nneettssnnmmppsseessssiioonn *session) nneettssnnmmppsseessssiioonn * ssnnmmppsseesssssseessssiioonn (void *sessp) netsnmptransport * ssnnmmppsseessssttrraannssppoorrtt (void *sessp) void ssnnmmppsseessssttrraannssppoorrttsseett (void *sp, netsnmptransport *t) oid * ssnnmmppdduupplliiccaatteeoobbjjiidd (const oid *objToCopy, sizet objToCopyLen) uint ssnnmmppiinnccrreemmeennttssttaattiissttiicc (int which) uint ssnnmmppiinnccrreemmeennttssttaattiissttiiccbbyy (int which, int count) uint ssnnmmppggeettssttaattiissttiicc (int which) void ssnnmmppiinniittssttaattiissttiiccss (void) VVaarriiaabblleess netsnmpsubtree * ssuubbttrreeeess long lloonnggrreettuurrnn uchar rreettuurrnnbbuuff [258] timeval ssttaarrttttiimmee

int ccaallllbbaacckkmmaasstteerrnnuumm = -1

oid nnuullllOOiidd [] = { 0, 0 } int nnuullllOOiiddLLeenn = sizeof(nullOid) sessionlist * SSeessssiioonnss = NULL int ssnnmmppeerrrrnnoo = 0 long lloonnggrreettuurrnn uchar rreettuurrnnbbuuff [] oid nnuullllOOiidd [] int nnuullllOOiiddLLeenn DDeeffiinnee DDooccuummeennttaattiioonn

##ddeeffiinnee DDEEBBUUGGPPRRIINNTTPPDDUUTTYYPPEE((ttookkeenn,, ttyyppee))

VVaalluuee::.nf switch(type) { case SNMPMSGGET:

DEBUGDUMPSECTION(token, 'PDU-GET'); break; case

SNMPMSGGETNEXT: DEBUGDUMPSECTION(token, 'PDU-GETNEXT');

break; case SNMPMSGRESPONSE: DEBUGDUMPSECTION(token,

'PDU-RESPONSE'); break; case SNMPMSGSET:

DEBUGDUMPSECTION(token, 'PDU-SET'); break; case

SNMPMSGGETBULK: DEBUGDUMPSECTION(token, 'PDU-GETBULK');

break; case SNMPMSGINFORM: DEBUGDUMPSECTION(token,

'PDU-INFORM'); break; case SNMPMSGTRAP2:

DEBUGDUMPSECTION(token, 'PDU-TRAP2'); break; case

SNMPMSGREPORT: DEBUGDUMPSECTION(token, 'PDU-REPORT');

break; default: DEBUGDUMPSECTION(token, 'PDU-UNKNOWN');

break; } Definition at line 375 of file snmpapi.c.

##ddeeffiinnee ttiimmeerrccmmpp((ttvvpp,, uuvvpp,, ccmmpp))

VVaalluuee::.nf /* CSTYLED */ ((tvp)->tvsec cmp (uvp)->tvsec ||

((tvp)->tvsec == (uvp)->tvsec && /* CSTYLED */

(tvp)->tvusec cmp (uvp)->tvusec))

Definition at line 145 of file snmpapi.c. FFuunnccttiioonn DDooccuummeennttaattiioonn iinntt iinniittaaggeenntt ((ccoonnsstt cchhaarr ** aapppp)) Initialize the agent. Calls into initagentreadconfig to set tha app's configuration file in the appropriate default storage space, NETSNMPDSLIBAPPTYPE. Need to call initagent before calling initsnmp. PPaarraammeetteerrss:: app the configuration file to be read in, gets stored in default storage RReettuurrnnss::

Returns non-zero on failure and zero on success.

SSeeee aallssoo:: iinniittssnnmmpp Definition at line 269 of file snmpvars.c. References netsnmpdssetboolean(), netsnmpinithelpers(), and snmplog(). vvooiidd iinniittssnnmmpp ((ccoonnsstt cchhaarr ** ttyyppee)) Calls the functions to do config file loading and mib module parsing in the correct order. PPaarraammeetteerrss:: type label for the config file 'type' RReettuurrnnss:: void SSeeee aallssoo:: iinniittaaggeenntt Definition at line 779 of file snmpapi.c. References initmib(). iinntt nneettssnnmmppooiiddeeqquuaallss ((ccoonnsstt ooiidd ** iinnnnaammee11,, ssiizzeett lleenn11,, ccoonnsstt ooiidd ** iinnnnaammee22,, ssiizzeett lleenn22)) Compares 2 OIDs to determine if they are exactly equal. This should be faster than doing a snmpoidcompare for different length OIDs, since the length is checked first and if != returns immediately. Might be very slighly faster if lengths are ==. PPaarraammeetteerrss:: inname1 A pointer to the first oid. len1 length of the first OID (in segments, not bytes) inname2 A pointer to the second oid. len2 length of the second OID (in segments, not bytes) RReettuurrnnss:: 0 if they are equal, 1 if they are not. Definition at line 6213 of file snmpapi.c. Referenced by netsnmpcachefindbyoid(), netsnmpoldapihelper(), and unregistermibcontext(). iinntt nneettssnnmmppooiiddffiinnddpprreeffiixx ((ccoonnsstt ooiidd ** iinnnnaammee11,, ssiizzeett lleenn11,, ccoonnsstt ooiidd ** iinnnnaammee22,, ssiizzeett lleenn22)) Given two OIDs, determine the common prefix to them both. PPaarraammeetteerrss:: inname1 A pointer to the first oid. len1 Length of the first oid. inname2 A pointer to the second oid. len2 Length of the second oid. RReettuurrnnss:: length of largest common index of commonality. 1 = first, 0 if none

* or -1 on error.

Definition at line 6269 of file snmpapi.c. References SNMPMIN. Referenced by netsnmpaddvarbindtocache(). iinntt nneettssnnmmppooiiddiissssuubbttrreeee ((ccoonnsstt ooiidd ** iinnnnaammee11,, ssiizzeett lleenn11,, ccoonnsstt ooiidd ** iinnnnaammee22,, ssiizzeett lleenn22)) Identical to netsnmpoidequals, except only the length up to len1 is compared. Functionally, this determines if inname2 is equal or a subtree of inname1 PPaarraammeetteerrss:: inname1 A pointer to the first oid. len1 length of the first OID (in segments, not bytes) inname2 A pointer to the second oid. len2 length of the second OID (in segments, not bytes) RReettuurrnnss:: 0 if one is a common prefix of the other. Definition at line 6249 of file snmpapi.c. iinntt ssnnmmppooiiddccoommppaarree ((ccoonnsstt ooiidd ** iinnnnaammee11,, ssiizzeett lleenn11,, ccoonnsstt ooiidd ** iinnnnaammee22,, ssiizzeett lleenn22)) lexicographical compare two object identifiers. Caution: this method is called often by command responder applications (ie, agent). RReettuurrnnss::

-1 if name1 < name2, 0 if name1 = name2, 1 if name1 > name2

Definition at line 6145 of file snmpapi.c. Referenced by checkgetnextresults(), netsnmpcheckgetnextreply(), netsnmpinsertiteratorcontext(), netsnmpinserttablerow(), netsnmprowmergehelperhandler(), netsnmptabledataaddrow(), netsnmptabledatagetfromoid(), netsnmptabledatahelperhandler(), netsnmptableiteratorhelperhandler(), snmpoidtreecompare(), and tablehelperhandler(). iinntt ssnnmmppooiiddttrreeeeccoommppaarree ((ccoonnsstt ooiidd ** iinnnnaammee11,, ssiizzeett lleenn11,, ccoonnsstt ooiidd ** iinnnnaammee22,, ssiizzeett lleenn22)) Compares 2 OIDs to determine if they are equal up until the shortest length. PPaarraammeetteerrss:: inname1 A pointer to the first oid. len1 length of the first OID (in segments, not bytes) inname2 A pointer to the second oid. len2 length of the second OID (in segments, not bytes) RReettuurrnnss::

0 if they are equal, 1 if inname1 is > inname2, or -1 if <.

Definition at line 6194 of file snmpapi.c. References snmpoidcompare(). vvooiidd ssnnmmppsshhuuttddoowwnn ((ccoonnsstt cchhaarr ** ttyyppee)) Shuts down the application, saving any needed persistent storage, and appropriate clean up. PPaarraammeetteerrss:: type Label for the config file 'type' used RReettuurrnnss:: void Definition at line 847 of file snmpapi.c. References shutdownmib(), snmpalarmunregisterall(), and snmpcallcallbacks().

net-snmp 24 Jan 2005 The Net-SNMP library(3)




Contact us      |      About us      |      Term of use      |       Copyright © 2000-2019 MyWebUniversity.com ™