#include <dcossdk.h>
#include <dcdetypes.h>
#include <agent.h>
Data Structures | |
struct | _SMSnmpOid |
SMSnmpOid represents a SNMP object identifier (OID) in the MIB Plug-in Implementer API. More... | |
struct | _SMSnmpValue |
SMSnmpValue represents a SNMP value in the MIB Plug-in Implementer API. More... | |
struct | _SMSnmpVarBind |
SMSnmpVarBind represents a SNMP variable binding (VarBind) in the MIB Plug-in Implementer API. More... | |
struct | _SMSnmpMPIMPMDispatchTable |
SMSnmpMPIMPMDispatchTable defines the dispatch table for the Push API of the MIB Plug-in Implementer API. More... | |
struct | _SMSnmpLoadReq |
SMSnmpLoadReq defines the request data for a SM_SNMP_API_MPI_LOAD request. More... | |
struct | _SMSnmpApiReq |
SMSnmpApiReq defines the request data for a MIB Plug-in Implementer API request. More... | |
union | _SMSnmpApiReq::_ReqData |
Choose the representation that fits the request. More... | |
struct | _SMSnmpMibList |
SMSnmpMibList defines the response data for a response to a SM_SNMP_API_MPI_LIST_MIB request. More... | |
struct | _SMSnmpApiRsp |
SMSnmpApiRsp defines the response data for a response to a MIB Plug-in Implementer API request. More... | |
union | _SMSnmpApiRsp::_RspData |
Choose the representation that fits the response. More... | |
Macros | |
#define | SM_SNMP_API_MAJOR_VER (1) |
MIB Plug-in Implementer API Version Info: Major version supported. | |
#define | SM_SNMP_API_MINOR_VER (0) |
MIB Plug-in Implementer API Version Info: Minor version supported. | |
#define | SM_SNMP_API_REVISION (0) |
MIB Plug-in Implementer API Version Info: Revision supported. | |
#define | SM_SNMP_API_MPI_GET_API_MAJOR_VER (1) |
MIB Plug-in Implementer Pull API Request Type: Request for MIB implementer to return major version of MIB Plug-in Implementer API that it supports. | |
#define | SM_SNMP_API_MPI_GET_API_MINOR_VER (2) |
MIB Plug-in Implementer Pull API Request Type: Request for MIB implementer to return minor version of MIB Plug-in Implementer API that it supports. | |
#define | SM_SNMP_API_MPI_GET_API_REVISION (3) |
MIB Plug-in Implementer Pull API Request Type: Request for MIB implementer to return revision of MIB Plug-in Implementer API that it supports. | |
#define | SM_SNMP_API_MPI_LOAD (4) |
MIB Plug-in Implementer Pull API Request Type: Request for MIB implementer to initialize because it has been loaded. | |
#define | SM_SNMP_API_MPI_UNLOAD (5) |
MIB Plug-in Implementer Pull API Request Type: Request for MIB implementer to deinitialize because it is being unloaded. | |
#define | SM_SNMP_API_MPI_LIST_MIB (6) |
MIB Plug-in Implementer Pull API Request Type: Request for MIB implementer to list the MIBs that it implements. | |
#define | SM_SNMP_API_MPI_START_MONITOR (7) |
MIB Plug-in Implementer Pull API Request Type: Request for MIB implementer to start monitoring for status changes. | |
#define | SM_SNMP_API_MPI_STOP_MONITOR (8) |
MIB Plug-in Implementer Pull API Request Type: Request for MIB implementer to stop monitoring for status changes. | |
#define | SM_SNMP_API_MPI_GET (9) |
MIB Plug-in Implementer Pull API Request Type: Request for MIB implementer to get value for specified MIB variable. | |
#define | SM_SNMP_API_MPI_GET_NEXT (10) |
MIB Plug-in Implementer Pull API Request Type: Request for MIB implementer to get value for next MIB variable after specified MIB variable. | |
#define | SM_SNMP_API_MPI_SET_TEST (11) |
MIB Plug-in Implementer Pull API Request Type: Request for MIB implementer to test ability to set value for specified MIB variable. | |
#define | SM_SNMP_API_MPI_SET_COMMIT (12) |
MIB Plug-in Implementer Pull API Request Type: Request for MIB implementer to set value for specified MIB variable. | |
#define | SM_SNMP_STATUS_NO_ERROR (0) |
MIB Plug-in Implementer API Status: No error. | |
#define | SM_SNMP_STATUS_TOO_BIG (1) |
MIB Plug-in Implementer API Status: Data too big. | |
#define | SM_SNMP_STATUS_NO_SUCH_NAME (2) |
MIB Plug-in Implementer API Status: No such name. | |
#define | SM_SNMP_STATUS_BAD_VALUE (3) |
MIB Plug-in Implementer API Status: Bad value. | |
#define | SM_SNMP_STATUS_READ_ONLY (4) |
MIB Plug-in Implementer API Status: Read only. | |
#define | SM_SNMP_STATUS_GEN_ERR (5) |
MIB Plug-in Implementer API Status: General error. | |
#define | SM_SNMP_STATUS_EX_DUPLICATE_REG (263) |
MIB Plug-in Implementer API Status: Duplicate registration (not for use with SNMP requests) | |
#define | SM_SNMP_TYPE_INTEGER (0x02) |
MIB Plug-in Implementer API Value Type: INTEGER SMSnmpValue Usage: 'val32' contains 32-bit integer value. | |
#define | SM_SNMP_TYPE_OCTET_STRING (0x04) |
MIB Plug-in Implementer API Value Type: OCTET STRING SMSnmpValue Usage: 'valptr' points to octet string and 'val32' contains length of octet string. | |
#define | SM_SNMP_TYPE_NULL (0x05) |
MIB Plug-in Implementer API Value Type: NULL SMSnmpValue Usage: no value. | |
#define | SM_SNMP_TYPE_OBJ_ID (0x06) |
MIB Plug-in Implementer API Value Type: OBJECT IDENTIFIER SMSnmpValue Usage: 'valptr' points to array of 32-bit integer IDs and 'val32' contains number of IDs. | |
#define | SM_SNMP_TYPE_IP_ADDRESS (0x40) |
MIB Plug-in Implementer API Value Type: IP ADDRESS SMSnmpValue Usage: 'valptr' points to 4-byte octet string and 'val32' contains length of octet string. | |
#define | SM_SNMP_TYPE_COUNTER (0x41) |
MIB Plug-in Implementer API Value Type: COUNTER SMSnmpValue Usage: 'val32' contains 32-bit integer value. | |
#define | SM_SNMP_TYPE_GAUGE (0x42) |
MIB Plug-in Implementer API Value Type: GAUGE SMSnmpValue Usage: 'val32' contains 32-bit integer value. | |
#define | SM_SNMP_TYPE_TIMETICKS (0x43) |
MIB Plug-in Implementer API Value Type: TIMETICKS SMSnmpValue Usage: 'val32' contains 32-bit integer value. | |
#define | SM_SNMP_TYPE_OPAQUE (0x44) |
MIB Plug-in Implementer API Value Type: OPAQUE SMSnmpValue Usage: 'valptr' points to octet string and 'val32' contains length of octet string. | |
#define | SM_SNMP_GENTRAP_ENTERPRISE_SPECIFIC (6) |
Generic trap ID for enterprise specific trap. | |
#define | SM_SNMP_SNMPVER_NONE (0) |
SNMP Version Info: Value that represents no SNMP version. | |
#define | SM_SNMP_SNMPVER_V1 BIT(0) |
SNMP Version Info: Bit mask that represents SNMPv1. | |
#define | SM_SNMP_SNMPVER_V2C BIT(1) |
SNMP Version Info: Bit mask that represents SNMPv2C. | |
#define | SM_SNMP_SNMPVER_V3 BIT(2) |
SNMP Version Info: Bit mask that represents SNMPv3. | |
#define | SM_SNMP_OID_ENTERPRISE_ID_INDEX (6) |
Zero-based index for position of enterprise ID in SNMP OID. | |
#define | SM_SNMP_OID_MIN_NUMIDS (2) |
Minimum number of IDs in SNMP OID. | |
#define | SM_SNMP_OID_MAX_NUMIDS (128) |
Maximum number of IDs in SNMP OID. | |
#define | SM_SNMP_OID_NUMIDS(X) (sizeof(X) / sizeof((X)[0])) |
Macro to calculate number of IDs in IDs array (X) | |
#define | SM_SNMP_OID_INITIALIZER(X) {SM_SNMP_OID_NUMIDS(X), {0}, (X)} |
Macro to initialize variable of type SMSnmpOid where number of IDs is automatically calculated from IDs array (X) Example: u32 myIds[] = {1, 3, 6, 1, 4, 1, 674, 99999, 1}; SMSnmpOid myOid = SM_SNMP_OID_INITIALIZER(myIds);. | |
#define | SM_SNMP_OID_INITIALIZER_NUMIDS(X, Y) {(Y), {0}, (X)} |
Macro to initialize variable of type SMSnmpOid where number of IDs (Y) is specified by user Example: u32 myIds[] = {1, 3, 6, 1, 4, 1, 674, 99999, 1}; SMSnmpOid myOid = SM_SNMP_OID_INITIALIZER_NUMIDS(myIds, 9);. | |
#define | SM_SNMP_OID_NUMIDS2SIZE(X) ((X) * sizeof(u32)) |
Macro to convert number of IDs (X) in SNMP OID to size in bytes. | |
#define | SM_SNMP_OID_SIZE2NUMIDS(X) ((X) / sizeof(u32)) |
Macro to convert size in bytes (X) to number of IDs in SNMP OID. | |
Typedefs | |
typedef struct _SMSnmpOid | SMSnmpOid |
SMSnmpOid represents a SNMP object identifier (OID) in the MIB Plug-in Implementer API. | |
typedef struct _SMSnmpValue | SMSnmpValue |
SMSnmpValue represents a SNMP value in the MIB Plug-in Implementer API. | |
typedef struct _SMSnmpVarBind | SMSnmpVarBind |
SMSnmpVarBind represents a SNMP variable binding (VarBind) in the MIB Plug-in Implementer API. | |
typedef struct _SMSnmpMPIMPMDispatchTable | SMSnmpMPIMPMDispatchTable |
SMSnmpMPIMPMDispatchTable defines the dispatch table for the Push API of the MIB Plug-in Implementer API. More... | |
typedef struct _SMSnmpLoadReq | SMSnmpLoadReq |
SMSnmpLoadReq defines the request data for a SM_SNMP_API_MPI_LOAD request. | |
typedef struct _IN _SMSnmpApiReq | SMSnmpApiReq |
SMSnmpApiReq defines the request data for a MIB Plug-in Implementer API request. | |
typedef struct _SMSnmpMibList | SMSnmpMibList |
SMSnmpMibList defines the response data for a response to a SM_SNMP_API_MPI_LIST_MIB request. | |
typedef struct _OUT _SMSnmpApiRsp | SMSnmpApiRsp |
SMSnmpApiRsp defines the response data for a response to a MIB Plug-in Implementer API request. | |
typedef s32(* | PFNSMMIBIMPLEMENTERDISPATCH )(_IN u32 reqType, _IN const void *pInBuf, _IN u32 inBufSize, _OUT void *pOutBuf, _IN u32 outBufSize, _OUT u32 *pBytesReturned) |
MIB Plug-in Implementer Dispatch Entry Point Function Type Definition. More... | |
typedef s32( * PFNSMMIBIMPLEMENTERDISPATCH)(_IN u32 reqType, _IN const void *pInBuf, _IN u32 inBufSize, _OUT void *pOutBuf, _IN u32 outBufSize, _OUT u32 *pBytesReturned) |
MIB Plug-in Implementer Dispatch Entry Point Function Type Definition.
This function is part of the Pull API of the MIB Plug-in Implementer API and is called by the MIB Plug-in Manager to dispatch requests to and get responses from MIB Plug-in Implementers.
The actual exported function name has the form MODULEXX_SMMIBImplementerDispatch.
Example: If the name of the MIB Plug-in Implementer (MODULEXX) is SAMMPI32, the exported function name is SAMMPI32_SMMIBImplementerDispatch.
Using the makefiles from the Data Engine SDK, the way to set up the exported function name for MIB Plug-in Implementer compilation is:
NT: Change preprocessor value of MPIEXPORT_DISPATCHFN to MODULEXX_SMMIBImplementerDispatch.
NW: Change makefile value of LOC_MPI_DISPATCH_NAME to required MODULEXX_SMMIBImplementerDispatch.
LX: Change makefile value of LOC_MPI_DISPATCH_NAME to required MODULEXX_SMMIBImplementerDispatch.
typedef struct _SMSnmpMPIMPMDispatchTable SMSnmpMPIMPMDispatchTable |
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.