#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.
1.8.6