dataeng
 All Data Structures Files Variables Typedefs Macros
Data Fields
_SMSnmpMPIMPMDispatchTable Struct Reference

SMSnmpMPIMPMDispatchTable defines the dispatch table for the Push API of the MIB Plug-in Implementer API. More...

#include <dcsmsnmp.h>

Data Fields

u32(* GetMajorVersion )(void)
 GetMajorVersion is called to obtain the major version of the MIB Plug-in Implementer API supported by the MIB Plug-in Manager. More...
 
u32(* GetMinorVersion )(void)
 GetMinorVersion is called to obtain the minor version of the MIB Plug-in Implementer API supported by the MIB Plug-in Manager. More...
 
u32(* GetRevision )(void)
 GetRevision is called to obtain the revision of the MIB Plug-in Implementer API supported by the MIB Plug-in Manager. More...
 
void(* FreeGeneric )(_IN void *pMem)
 FreeGeneric is called to free dynamically allocated memory returned from any Push API which does NOT have a type set to "const". More...
 
booln(* IsMIBManagerReady )(void)
 IsMIBManagerReady is called to get the ready status of the MIB Plug-in Manager. More...
 
u32(* GetMIBEnterpriseID )(void)
 GetMIBEnterpriseID is called to determine if the MIB Plug-in Manager has been configured with an alternate MIB enterprise ID to use. More...
 
booln(* IsSNMPSetsEnabled )(void)
 IsSNMPSetsEnabled is called to determine whether the MIB Plug-in Manager will dispatch SNMP Set requests (SM_SNMP_API_MPI_SET_TEST and SM_SNMP_API_MPI_SET_COMMIT) to the MIB Plug-in Implementer. More...
 
s32(* SendTrap )(_IN const void *mpiToken, _IN SMSnmpOid *pEnterpriseOid, _IN u32 genericTrapId, _IN u32 specificTrapId, _IN u32 numVarBinds, _IN SMSnmpVarBind *pVarBinds)
 SendTrap is called to send a SNMP trap. More...
 
s32(* RegisterMIBTableIndex )(_IN const void *mpiToken, _IN ObjInfo *pTableEntryObjInfo, _IN SMSnmpOid *pIndexOid)
 RegisterMIBTableIndex is called to register an index for a row in a table that it is sharing with another MIB Plug-in Implementer. More...
 
s32(* UnregisterMIBTableIndex )(_IN const void *mpiToken, _IN ObjInfo *pTableEntryObjInfo, _IN SMSnmpOid *pIndexOid)
 UnregisterMIBTableIndex is called to unregister an index for a row in a table that it is sharing with another MIB Plug-in Implementer. More...
 
booln(* SNMPAgentIsSparseTableSupported )(void)
 SNMPAgentIsSparseTableSupported is called to determine whether the OS SNMP Agent properly supports sparse MIB tables. More...
 
u8(* SNMPAgentGetSupportedSNMPVersions )(void)
 SNMPAgentGetSupportedSNMPVersions is called to determine the SNMP versions supported by the OS SNMP Agent. More...
 

Detailed Description

SMSnmpMPIMPMDispatchTable defines the dispatch table for the Push API of the MIB Plug-in Implementer API.

The functions in the Push API are MIB Plug-in Manager functions called by the MIB Plug-in Implementer.

Field Documentation

void( * _SMSnmpMPIMPMDispatchTable::FreeGeneric)(_IN void *pMem)

FreeGeneric is called to free dynamically allocated memory returned from any Push API which does NOT have a type set to "const".

Note
The caller cannot use the C Lib "free" API method to release memory returned by the Push API. The memory returned by the Push API may not be compatible with the C Lib "free" API method and may lead to undefined execution.
Parameters
pMem[in] Pointer to previously returned memory that is to be freed.
Returns
None.
u32( * _SMSnmpMPIMPMDispatchTable::GetMajorVersion)(void)

GetMajorVersion is called to obtain the major version of the MIB Plug-in Implementer API supported by the MIB Plug-in Manager.

This API can be used to perform version control for the module and to determine which features are supported.

Parameters
None.
Returns
Major version of the MIB Plug-in Implementer API that the MIB Plug-in Manager supports.
u32( * _SMSnmpMPIMPMDispatchTable::GetMIBEnterpriseID)(void)

GetMIBEnterpriseID is called to determine if the MIB Plug-in Manager has been configured with an alternate MIB enterprise ID to use.

This API can be used by the MIB Plug-in Implementer to obtain a possible alternate MIB enterprise ID for the MIB Plug-in Implementer to use in the SNMP OIDs for all MIB objects that the MIB Plug-in Implementer supports. If the value returned by this API is zero, the MIB Plug-in Implementer should use the default MIB enterprise ID for the MIB that it implements. If the value returned by this API is non-zero, the MIB Plug-in Implementer should use this value for the MIB enterprise ID and update all variables used to represent the SNMP OIDs for all MIB objects that it supports. In SNMP OIDs, the MIB enterprise ID is the identifier after the enterprises identifier. In the SNMP OID 1.3.6.1.4.1.674, the MIB enterprise ID is 674.

This feature is intended for possible use by OEMs. It provides a single point of configuration in the MIB Plug-in Manager for changing the MIB enterprise ID supported by the MIB Plug-in Implementers at runtime. See a sample MIB Plug-in Implementer for an example of supporting this feature.

Parameters
None.
Returns
Zero means use default MIB enterprise ID defined in MIB implemented by MIB Plug-in Implementer. Non-zero means MIB Plug-in Manager has been configured with alternate MIB enterprise ID to use.
u32( * _SMSnmpMPIMPMDispatchTable::GetMinorVersion)(void)

GetMinorVersion is called to obtain the minor version of the MIB Plug-in Implementer API supported by the MIB Plug-in Manager.

This API can be used to perform version control for the module and to determine which features are supported.

Parameters
None.
Returns
Minor version of the MIB Plug-in Implementer API that the MIB Plug-in Manager supports.
u32( * _SMSnmpMPIMPMDispatchTable::GetRevision)(void)

GetRevision is called to obtain the revision of the MIB Plug-in Implementer API supported by the MIB Plug-in Manager.

This API can be used to perform version control for the module and to determine which features are supported.

Parameters
None.
Returns
Revision of the MIB Plug-in Implementer API that the MIB Plug-in Manager supports.
booln( * _SMSnmpMPIMPMDispatchTable::IsMIBManagerReady)(void)

IsMIBManagerReady is called to get the ready status of the MIB Plug-in Manager.

This API can be used to see if the MIB Plug-in Manager is ready to dispatch SNMP requests and send SNMP traps.

Parameters
None.
Returns
TRUE if the MIB Plug-in Manager is ready; else FALSE.
booln( * _SMSnmpMPIMPMDispatchTable::IsSNMPSetsEnabled)(void)

IsSNMPSetsEnabled is called to determine whether the MIB Plug-in Manager will dispatch SNMP Set requests (SM_SNMP_API_MPI_SET_TEST and SM_SNMP_API_MPI_SET_COMMIT) to the MIB Plug-in Implementer.

Parameters
None.
Returns
TRUE if the MIB Plug-in Manager will dispatch SNMP Set requests to the MIB Plug-in Implementer; else FALSE.
s32( * _SMSnmpMPIMPMDispatchTable::RegisterMIBTableIndex)(_IN const void *mpiToken, _IN ObjInfo *pTableEntryObjInfo, _IN SMSnmpOid *pIndexOid)

RegisterMIBTableIndex is called to register an index for a row in a table that it is sharing with another MIB Plug-in Implementer.

If a MIB Plug-in Implementer is sharing a MIB table, it must register the indexes for the rows in the table that it supports so that the MIB Plug-in Manager can route requests for those rows to the MIB Plug-in Implementer properly. If a MIB Plug-in Implementer is not sharing a MIB table, it does not need to use this API to register table indexes.

If this API returns SM_SNMP_STATUS_EX_DUPLICATE_REG, the registration failed because the index is already registered. If the MIB Plug-in Implementer uses arbitrary index values (i.e. does not need a specific index), the MIB Plug-in Implementer may try to register another index. This could be as simple as incrementing the index by one and calling the API again.

Note
This API should not be called until the MIB registration cycle is complete which means this API should not be called until the SM_SNMP_API_MPI_START_MONITOR request is received.
Parameters
mpiToken[in] Token that was passed to the MIB Plug-in Implementer on the SM_SNMP_API_MPI_LOAD request.
pTableEntryObjInfo[in] Points to the ObjInfo structure for the shared table's Table Entry abstract object. This pointer must be one of the pointers in the MIB information returned by the MIB Plug-in Implementer on the SM_SNMP_API_MPI_LIST_MIB request. This information is required so that the MIB Plug-in Manager can update its MIB database in order to properly route requests for the table row being registered.
pIndexOid[in] Points to a partial SNMP OID that specifies the index for the table row that the MIB Plug-in Implementer wants to register to support. For example, if the index for a table is a single integer value, the number of IDs in the index OID would be one.
Returns
On success returns SM_SNMP_STATUS_NO_ERROR. If index is already registered, returns SM_SNMP_STATUS_EX_DUPLICATE_REG. On other error returns one of the other MIB Plug-in Implementer API status codes.
s32( * _SMSnmpMPIMPMDispatchTable::SendTrap)(_IN const void *mpiToken, _IN SMSnmpOid *pEnterpriseOid, _IN u32 genericTrapId, _IN u32 specificTrapId, _IN u32 numVarBinds, _IN SMSnmpVarBind *pVarBinds)

SendTrap is called to send a SNMP trap.

Parameters
mpitoken[in] Token that was passed to the MIB Plug-in Implementer on the SM_SNMP_API_MPI_LOAD request.
pEnterpriseOid[in] Pointer to enterprise OID for trap.
genericTrapId[in] Generic trap ID. Should be SM_SNMP_GENTRAP_ENTERPRISE_SPECIFIC.
specificTrapId[in] Enterprise specific trap ID.
numVarBinds[in] Number of variable bindings in trap.
pVarBinds[in] Pointer to array of variable bindings for trap. Size of array is specified by numVarBinds parameter. The MIB Plug-in Manager does not free memory for this parameter. If memory for this parameter needs to be freed, the MIB Plug-in Implementer must free the memory after this API returns.
Returns
On success returns SM_SNMP_STATUS_NO_ERROR. On error returns one of the other MIB Plug-in Implementer API status codes.
u8( * _SMSnmpMPIMPMDispatchTable::SNMPAgentGetSupportedSNMPVersions)(void)

SNMPAgentGetSupportedSNMPVersions is called to determine the SNMP versions supported by the OS SNMP Agent.

The return value is a bitfield composed of the ORed SM_SNMP_SNMPVER_* bitmask values defined in dcsmsnmp.h.

Parameters
None.
Returns
Bitfield that indicates the SNMP versions supported by the OS SNMP Agent.
booln( * _SMSnmpMPIMPMDispatchTable::SNMPAgentIsSparseTableSupported)(void)

SNMPAgentIsSparseTableSupported is called to determine whether the OS SNMP Agent properly supports sparse MIB tables.

The OS SNMP Agents on Windows and Linux properly support sparse MIB tables. The OS SNMP Agent on earlier versions of NetWare does not properly support sparse MIB tables. If a SNMP management application sends a SNMP GetNext request for multiple SNMP OIDs that are part of a row in a sparse MIB table, it may receive incorrect values in the response if the request is processed by a version of the OS SNMP Agent for NetWare that does not properly support sparse MIB tables. This problem was fixed recently by Novell. The MIB Plug-in Manager will detect if the OS SNMP Agent properly supports sparse MIB tables and will indicate that via this API.

Parameters
None.
Returns
TRUE if the OS SNMP Agent properly supports sparse MIB tables; else FALSE.
s32( * _SMSnmpMPIMPMDispatchTable::UnregisterMIBTableIndex)(_IN const void *mpiToken, _IN ObjInfo *pTableEntryObjInfo, _IN SMSnmpOid *pIndexOid)

UnregisterMIBTableIndex is called to unregister an index for a row in a table that it is sharing with another MIB Plug-in Implementer.

The MIB Plug-in Implementer uses this API to unregister a table index that it registered using the RegisterMIBTableIndex API.

Note
This API should not be called until the MIB registration cycle is complete which means this API should not be called until the SM_SNMP_API_MPI_START_MONITOR request is received.
Parameters
mpiToken[in] Token that was passed to the MIB Plug-in Implementer on the SM_SNMP_API_MPI_LOAD request.
pTableEntryObjInfo[in] Points to the ObjInfo structure for the shared table's Table Entry abstract object. This pointer must be one of the pointers in the MIB information returned by the MIB Plug-in Implementer on the SM_SNMP_API_MPI_LIST_MIB request. This information is required so that the MIB Plug-in Manager can update its MIB database in order to remove the table row being unregistered.
pIndexOid[in] Points to a partial SNMP OID that specifies the index for the table row that the MIB Plug-in Implementer wants to unregister. For example, if the index for a table is a single integer value, the number of IDs in the index OID would be one.
Returns
On success returns SM_SNMP_STATUS_NO_ERROR. On error returns one of the other MIB Plug-in Implementer API status codes.

The documentation for this struct was generated from the following file: