Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

snmpextregister(3n) [ultrix man page]

snmpext(3n)															       snmpext(3n)

       snmpextregister,  snmpextgetreq,  snmpextrespond,  snmpexterror	-  library  routines available for building the Extended ULTRIX SNMP Agent
       (Extended Agent)

       #include <protocols/snmp.h>
       #include <protocols/snmperrs.h>

       struct objident {
	    short     ncmp;	     /* number of components */
	    unsigned long	     cmp[SNMPMXID];/* components */

       struct snmpareg {
	    short     oidtype;	     /* object id type */
	    objident  oid;	     /* object id/*

       struct snmparspdat {
	    short     type;	     /* response data type */
	    short     octets;	     /* number of octets in response data */
	    char      *rspdat;	     /* response data */

       snmpextregister(reg, community)
       struct snmpareg *reg;
       char *community;

       snmpextgetreq(reqoid, reqinst)
       objident *reqoid;
       objident *reqinst;

       snmpextrespond(reqoid, rspinst, rspdat)
       objident *reqoid;
       objident *rspinst;
       struct snmparspdat *rspdat;

       long error;

       The following library routines are available for building the Extended Agent:

	    Used to register the Extended Agent's Management Information Base (MIB) to the ULTRIX SNMP Agent (Agent).  The reg parameter  is  pro-
	    vided by the caller with the object identifiers to be registered. The community parameter is provided by the caller with the community
	    name (a null-terminated string).

	    This library routine waits for a registration confirmation from the Agent.	The process is blocked	until  the  confirmation  arrives.
	    When the confirmation arrives, the routine returns the status of the registration.

	    The  program  issues  this call before any other Extended SNMP Library calls.  It does this because the library routine creates a UNIX
	    domain socket to the Agent on behalf of the caller.

	    Used to receive a request for a MIB variable from the Agent.  If there is no outstanding  request  from  the  Agent,  the  process	is
	    blocked until a request arrives from the Agent.

	    When the Extended Agent receives a request from the Agent, the reqoid parameter contains the object identifier for the requested vari-
	    able.  The reqinst parameter contains the object instance identifier for the requested variable.  If the request does not contains	an
	    object instance, the reqinst->ncmp record contains a zero.

	    Used  to return the requested variable to the Agent.  The reqoid parameter is the object identifier from the library call. The rspinst
	    parameter is the object instance associated with the returning variable.  If there is no object instance associated with the returning
	    variable, a null parameter must be supplied.  The rspdat parameter is the returning variable.

	    Note that the Agent maintains a configurable timer for outstanding requests to the Extended Agent.	Therefore, the Extended Agent must
	    be able to respond within the Agent's timeout interval in order to prevent a premature timeout in the Agent.

	    See the file for your system's default timeout value.

	    Used to return an error to the Agent.  The error parameter is the error code to be returned to the Agent.  The error code  is  one	of
	    the following:

	    NOERR--successful SNMP get-next-request end-of-table.  This happens when the requested instance does not exist.

	    NOSUCH--Unknown requested object identifier.

	    GENERRS--Generic error.

	    BADVAL--Bad variable value.

       For the routine, the object identifier must have the prefix to be registered.  If it does not, the registration is rejected.

Return Values
       If an error occurs, a negative value is returned.

       [BADVERSION]   Bad or obsolete protocol version

       [BINDERR]      Failed to bind the socket

       [GENSUC]       MIB successfully registered

       [NOSOCK]       Socket does not exist

       [NOSVC]	      MIB registration was rejected

       [PKTLENERR]    Maximum size message exceeded or community name is too large

       [RCV_ERR]      Reception failed

       [SND_ERR]      Transmission failed

       SNMP configuration file

See Also
       snmpd.conf(5n), snmpd(8n), snmpsetup(8n)
       Guide to Network Programming

Man Page