/*++<br><br>Copyright 1992 - 1998 Microsoft Corporation<br><br>Module Name:<br><br> snmp.h<br><br>Abstract:<br><br> Definitions for SNMP development.<br><br>--*/<br><br>#ifndef _INC_SNMP<br>#define _INC_SNMP<br><br>///////////////////////////////////////////////////////////////////////////////<br>// //<br>// Additional Header Files //<br>// //<br>///////////////////////////////////////////////////////////////////////////////<br><br>#include <windows.h><br><br>#ifdef __cplusplus<br>extern "C" {<br>#endif<br><br>///////////////////////////////////////////////////////////////////////////////<br>// //<br>// SNMP Type Definitions //<br>// //<br>///////////////////////////////////////////////////////////////////////////////<br><br>#pragma pack(4)<br><br>typedef struct {<br> BYTE * stream; <br> UINT length; <br> BOOL dynamic; <br>} AsnOctetString;<br><br>typedef struct {<br> UINT idLength; <br> UINT * ids; <br>} AsnObjectIdentifier;<br><br>typedef LONG AsnInteger32;<br>typedef ULONG AsnUnsigned32;<br>typedef ULARGE_INTEGER AsnCounter64;<br>typedef AsnUnsigned32 AsnCounter32;<br>typedef AsnUnsigned32 AsnGauge32;<br>typedef AsnUnsigned32 AsnTimeticks;<br>typedef AsnOctetString AsnBits;<br>typedef AsnOctetString AsnSequence;<br>typedef AsnOctetString AsnImplicitSequence;<br>typedef AsnOctetString AsnIPAddress;<br>typedef AsnOctetString AsnNetworkAddress;<br>typedef AsnOctetString AsnDisplayString;<br>typedef AsnOctetString AsnOpaque;<br><br>typedef struct {<br> BYTE asnType;<br> union { <br> AsnInteger32 number; // ASN_INTEGER<br> // ASN_INTEGER32<br> AsnUnsigned32 unsigned32; // ASN_UNSIGNED32<br> AsnCounter64 counter64; // ASN_COUNTER64<br> AsnOctetString string; // ASN_OCTETSTRING<br> AsnBits bits; // ASN_BITS<br> AsnObjectIdentifier object; // ASN_OBJECTIDENTIFIER<br> AsnSequence sequence; // ASN_SEQUENCE<br> AsnIPAddress address; // ASN_IPADDRESS<br> AsnCounter32 counter; // ASN_COUNTER32<br> AsnGauge32 gauge; // ASN_GAUGE32<br> AsnTimeticks ticks; // ASN_TIMETICKS<br> AsnOpaque arbitrary; // ASN_OPAQUE<br> } asnValue;<br>} AsnAny;<br><br>typedef AsnObjectIdentifier AsnObjectName;<br>typedef AsnAny AsnObjectSyntax;<br><br>typedef struct {<br> AsnObjectName name; <br> AsnObjectSyntax value; <br>} SnmpVarBind;<br><br>typedef struct {<br> SnmpVarBind * list; <br> UINT len; <br>} SnmpVarBindList;<br><br>#pragma pack()<br><br>#ifndef _INC_WINSNMP<br><br>///////////////////////////////////////////////////////////////////////////////<br>// //<br>// ASN/BER Base Types //<br>// //<br>///////////////////////////////////////////////////////////////////////////////<br> <br>#define ASN_UNIVERSAL 0x00<br>#define ASN_APPLICATION 0x40<br>#define ASN_CONTEXT 0x80<br>#define ASN_PRIVATE 0xC0<br><br>#define ASN_PRIMITIVE 0x00<br>#define ASN_CONSTRUCTOR 0x20<br><br>///////////////////////////////////////////////////////////////////////////////<br>// //<br>// PDU Type Values //<br>// //<br>///////////////////////////////////////////////////////////////////////////////<br><br>#define SNMP_PDU_GET (ASN_CONTEXT | ASN_CONSTRUCTOR | 0x0)<br>#define SNMP_PDU_GETNEXT (ASN_CONTEXT | ASN_CONSTRUCTOR | 0x1)<br>#define SNMP_PDU_RESPONSE (ASN_CONTEXT | ASN_CONSTRUCTOR | 0x2)<br>#define SNMP_PDU_SET (ASN_CONTEXT | ASN_CONSTRUCTOR | 0x3)<br>#define SNMP_PDU_V1TRAP (ASN_CONTEXT | ASN_CONSTRUCTOR | 0x4) <br>#define SNMP_PDU_GETBULK (ASN_CONTEXT | ASN_CONSTRUCTOR | 0x5)<br>#define SNMP_PDU_INFORM (ASN_CONTEXT | ASN_CONSTRUCTOR | 0x6)<br>#define SNMP_PDU_TRAP (ASN_CONTEXT | ASN_CONSTRUCTOR | 0x7)<br><br>#endif // _INC_WINSNMP<br><br>///////////////////////////////////////////////////////////////////////////////<br>// //<br>// SNMP Simple Syntax Values //<br>// //<br>///////////////////////////////////////////////////////////////////////////////<br><br>#define ASN_INTEGER (ASN_UNIVERSAL | ASN_PRIMITIVE | 0x02)<br>#define ASN_BITS (ASN_UNIVERSAL | ASN_PRIMITIVE | 0x03)<br>#define ASN_OCTETSTRING (ASN_UNIVERSAL | ASN_PRIMITIVE | 0x04)<br>#define ASN_NULL (ASN_UNIVERSAL | ASN_PRIMITIVE | 0x05)<br>#define ASN_OBJECTIDENTIFIER (ASN_UNIVERSAL | ASN_PRIMITIVE | 0x06)<br>#define ASN_INTEGER32 ASN_INTEGER<br><br>///////////////////////////////////////////////////////////////////////////////<br>// //<br>// SNMP Constructor Syntax Values //<br>// //<br>///////////////////////////////////////////////////////////////////////////////<br> <br>#define ASN_SEQUENCE (ASN_UNIVERSAL | ASN_CONSTRUCTOR | 0x10)<br>#define ASN_SEQUENCEOF ASN_SEQUENCE<br><br>///////////////////////////////////////////////////////////////////////////////<br>// //<br>// SNMP Application Syntax Values //<br>// //<br>///////////////////////////////////////////////////////////////////////////////<br><br>#define ASN_IPADDRESS (ASN_APPLICATION | ASN_PRIMITIVE | 0x00)<br>#define ASN_COUNTER32 (ASN_APPLICATION | ASN_PRIMITIVE | 0x01)<br>#define ASN_GAUGE32 (ASN_APPLICATION | ASN_PRIMITIVE | 0x02)<br>#define ASN_TIMETICKS (ASN_APPLICATION | ASN_PRIMITIVE | 0x03)<br>#define ASN_OPAQUE (ASN_APPLICATION | ASN_PRIMITIVE | 0x04)<br>#define ASN_COUNTER64 (ASN_APPLICATION | ASN_PRIMITIVE | 0x06)<br>#define ASN_UNSIGNED32 (ASN_APPLICATION | ASN_PRIMITIVE | 0x07)<br><br>///////////////////////////////////////////////////////////////////////////////<br>// //<br>// SNMP Exception Conditions //<br>// //<br>///////////////////////////////////////////////////////////////////////////////<br> <br>#define SNMP_EXCEPTION_NOSUCHOBJECT (ASN_CONTEXT | ASN_PRIMITIVE | 0x00)<br>#define SNMP_EXCEPTION_NOSUCHINSTANCE (ASN_CONTEXT | ASN_PRIMITIVE | 0x01)<br>#define SNMP_EXCEPTION_ENDOFMIBVIEW (ASN_CONTEXT | ASN_PRIMITIVE | 0x02)<br><br>///////////////////////////////////////////////////////////////////////////////<br>// //<br>// SNMP Request Types (used in SnmpExtensionQueryEx) //<br>// //<br>///////////////////////////////////////////////////////////////////////////////<br> <br>#define SNMP_EXTENSION_GET SNMP_PDU_GET <br>#define SNMP_EXTENSION_GET_NEXT SNMP_PDU_GETNEXT<br>#define SNMP_EXTENSION_GET_BULK SNMP_PDU_GETBULK<br>#define SNMP_EXTENSION_SET_TEST (ASN_PRIVATE | ASN_CONSTRUCTOR | 0x0)<br>#define SNMP_EXTENSION_SET_COMMIT SNMP_PDU_SET<br>#define SNMP_EXTENSION_SET_UNDO (ASN_PRIVATE | ASN_CONSTRUCTOR | 0x1)<br>#define SNMP_EXTENSION_SET_CLEANUP (ASN_PRIVATE | ASN_CONSTRUCTOR | 0x2)<br><br>///////////////////////////////////////////////////////////////////////////////<br>// //<br>// SNMP Error Codes //<br>// //<br>///////////////////////////////////////////////////////////////////////////////<br><br>#define SNMP_ERRORSTATUS_NOERROR 0<br>#define SNMP_ERRORSTATUS_TOOBIG 1<br>#define SNMP_ERRORSTATUS_NOSUCHNAME 2<br>#define SNMP_ERRORSTATUS_BADVALUE 3<br>#define SNMP_ERRORSTATUS_READONLY 4<br>#define SNMP_ERRORSTATUS_GENERR 5<br>#define SNMP_ERRORSTATUS_NOACCESS 6<br>#define SNMP_ERRORSTATUS_WRONGTYPE 7<br>#define SNMP_ERRORSTATUS_WRONGLENGTH 8<br>#define SNMP_ERRORSTATUS_WRONGENCODING 9<br>#define SNMP_ERRORSTATUS_WRONGVALUE 10<br>#define SNMP_ERRORSTATUS_NOCREATION 11<br>#define SNMP_ERRORSTATUS_INCONSISTENTVALUE 12<br>#define SNMP_ERRORSTATUS_RESOURCEUNAVAILABLE 13<br>#define SNMP_ERRORSTATUS_COMMITFAILED 14<br>#define SNMP_ERRORSTATUS_UNDOFAILED 15<br>#define SNMP_ERRORSTATUS_AUTHORIZATIONERROR 16<br>#define SNMP_ERRORSTATUS_NOTWRITABLE 17<br>#define SNMP_ERRORSTATUS_INCONSISTENTNAME 18<br><br>///////////////////////////////////////////////////////////////////////////////<br>// //<br>// SNMPv1 Trap Types //<br>// //<br>///////////////////////////////////////////////////////////////////////////////<br><br>#define SNMP_GENERICTRAP_COLDSTART 0 <br>#define SNMP_GENERICTRAP_WARMSTART 1<br>#define SNMP_GENERICTRAP_LINKDOWN 2<br>#define SNMP_GENERICTRAP_LINKUP 3<br>#define SNMP_GENERICTRAP_AUTHFAILURE 4<br>#define SNMP_GENERICTRAP_EGPNEIGHLOSS 5<br>#define SNMP_GENERICTRAP_ENTERSPECIFIC 6<br><br>///////////////////////////////////////////////////////////////////////////////<br>// //<br>// SNMP Access Types //<br>// //<br>///////////////////////////////////////////////////////////////////////////////<br><br>#define SNMP_ACCESS_NONE 0<br>#define SNMP_ACCESS_NOTIFY 1<br>#define SNMP_ACCESS_READ_ONLY 2<br>#define SNMP_ACCESS_READ_WRITE 3<br>#define SNMP_ACCESS_READ_CREATE 4<br><br>///////////////////////////////////////////////////////////////////////////////<br>// //<br>// SNMP API Return Code Definitions //<br>// //<br>///////////////////////////////////////////////////////////////////////////////<br><br>#define SNMPAPI INT<br>#define SNMP_FUNC_TYPE WINAPI<br><br>#define SNMPAPI_NOERROR TRUE<br>#define SNMPAPI_ERROR FALSE<br><br>///////////////////////////////////////////////////////////////////////////////<br>// //<br>// SNMP Extension API Prototypes //<br>// //<br>///////////////////////////////////////////////////////////////////////////////<br><br>BOOL <br>SNMP_FUNC_TYPE<br>SnmpExtensionInit(<br> DWORD dwUptimeReference, <br> HANDLE * phSubagentTrapEvent, <br> AsnObjectIdentifier * pFirstSupportedRegion <br> );<br><br>BOOL <br>SNMP_FUNC_TYPE<br>SnmpExtensionInitEx(<br> AsnObjectIdentifier * pNextSupportedRegion<br> );<br><br>BOOL<br>SNMP_FUNC_TYPE<br>SnmpExtensionQuery(<br> BYTE bPduType, <br> SnmpVarBindList * pVarBindList,<br> AsnInteger32 * pErrorStatus, <br> AsnInteger32 * pErrorIndex <br> );<br><br>BOOL<br>SNMP_FUNC_TYPE<br>SnmpExtensionQueryEx(<br> UINT nRequestType, <br> UINT nTransactionId,<br> SnmpVarBindList * pVarBindList,<br> AsnOctetString * pContextInfo,<br> AsnInteger32 * pErrorStatus,<br> AsnInteger32 * pErrorIndex<br> );<br><br>BOOL <br>SNMP_FUNC_TYPE<br>SnmpExtensionTrap(<br> AsnObjectIdentifier * pEnterpriseOid, <br> AsnInteger32 * pGenericTrapId, <br> AsnInteger32 * pSpecificTrapId, <br> AsnTimeticks * pTimeStamp, <br> SnmpVarBindList * pVarBindList<br> );<br><br>VOID<br>SNMP_FUNC_TYPE<br>SnmpExtensionClose(<br> );<br><br>///////////////////////////////////////////////////////////////////////////////<br>// //<br>// SNMP Extension API Type Definitions //<br>// //<br>///////////////////////////////////////////////////////////////////////////////<br><br>typedef BOOL (SNMP_FUNC_TYPE * PFNSNMPEXTENSIONINIT)(<br> DWORD dwUpTimeReference,<br> HANDLE * phSubagentTrapEvent,<br> AsnObjectIdentifier * pFirstSupportedRegion<br> );<br><br>typedef BOOL (SNMP_FUNC_TYPE * PFNSNMPEXTENSIONINITEX)(<br> AsnObjectIdentifier * pNextSupportedRegion<br> );<br><br>typedef BOOL (SNMP_FUNC_TYPE * PFNSNMPEXTENSIONQUERY)(<br> BYTE bPduType,<br> SnmpVarBindList * pVarBindList,<br> AsnInteger32 * pErrorStatus,<br> AsnInteger32 * pErrorIndex<br> );<br><br>typedef BOOL (SNMP_FUNC_TYPE * PFNSNMPEXTENSIONQUERYEX)(<br> UINT nRequestType, <br> UINT nTransactionId,<br> SnmpVarBindList * pVarBindList,<br> AsnOctetString * pContextInfo,<br> AsnInteger32 * pErrorStatus,<br> AsnInteger32 * pErrorIndex<br> );<br><br>typedef BOOL (SNMP_FUNC_TYPE * PFNSNMPEXTENSIONTRAP)(<br> AsnObjectIdentifier * pEnterpriseOid,<br> AsnInteger32 * pGenericTrapId,<br> AsnInteger32 * pSpecificTrapId,<br> AsnTimeticks * pTimeStamp,<br> SnmpVarBindList * pVarBindList<br> );<br><br>typedef VOID (SNMP_FUNC_TYPE * PFNSNMPEXTENSIONCLOSE)(<br> );<br><br>///////////////////////////////////////////////////////////////////////////////<br>// //<br>// SNMP API Prototypes //<br>// //<br>///////////////////////////////////////////////////////////////////////////////<br><br>SNMPAPI<br>SNMP_FUNC_TYPE<br>SnmpUtilOidCpy(<br> AsnObjectIdentifier * pOidDst,<br> AsnObjectIdentifier * pOidSrc<br> );<br><br>SNMPAPI<br>SNMP_FUNC_TYPE<br>SnmpUtilOidAppend(<br> AsnObjectIdentifier * pOidDst,<br> AsnObjectIdentifier * pOidSrc<br> );<br><br>SNMPAPI<br>SNMP_FUNC_TYPE<br>SnmpUtilOidNCmp(<br> AsnObjectIdentifier * pOid1,<br> AsnObjectIdentifier * pOid2,<br> UINT nSubIds<br> );<br><br>SNMPAPI<br>SNMP_FUNC_TYPE<br>SnmpUtilOidCmp(<br> AsnObjectIdentifier * pOid1,<br> AsnObjectIdentifier * pOid2<br> );<br><br>VOID<br>SNMP_FUNC_TYPE<br>SnmpUtilOidFree(<br> AsnObjectIdentifier * pOid<br> );<br><br>SNMPAPI<br>SNMP_FUNC_TYPE<br>SnmpUtilOctetsCmp(<br> AsnOctetString * pOctets1,<br> AsnOctetString * pOctets2<br> );<br><br>SNMPAPI<br>SNMP_FUNC_TYPE<br>SnmpUtilOctetsNCmp(<br> AsnOctetString * pOctets1,<br> AsnOctetString * pOctets2,<br> UINT nChars<br> );<br><br>SNMPAPI<br>SNMP_FUNC_TYPE<br>SnmpUtilOctetsCpy(<br> AsnOctetString * pOctetsDst,<br> AsnOctetString * pOctetsSrc<br> );<br><br>VOID<br>SNMP_FUNC_TYPE<br>SnmpUtilOctetsFree(<br> AsnOctetString * pOctets<br> );<br><br>SNMPAPI<br>SNMP_FUNC_TYPE<br>SnmpUtilAsnAnyCpy(<br> AsnAny * pAnyDst,<br> AsnAny * pAnySrc<br> );<br><br>VOID<br>SNMP_FUNC_TYPE<br>SnmpUtilAsnAnyFree(<br> AsnAny * pAny<br> );<br><br>SNMPAPI<br>SNMP_FUNC_TYPE<br>SnmpUtilVarBindCpy(<br> SnmpVarBind * pVbDst,<br> SnmpVarBind * pVbSrc<br> );<br><br>VOID<br>SNMP_FUNC_TYPE<br>SnmpUtilVarBindFree(<br> SnmpVarBind * pVb<br> );<br><br>SNMPAPI<br>SNMP_FUNC_TYPE<br>SnmpUtilVarBindListCpy(<br> SnmpVarBindList * pVblDst,<br> SnmpVarBindList * pVblSrc<br> );<br><br>VOID<br>SNMP_FUNC_TYPE<br>SnmpUtilVarBindListFree(<br> SnmpVarBindList * pVbl<br> );<br><br>VOID<br>SNMP_FUNC_TYPE<br>SnmpUtilMemFree(<br> LPVOID pMem<br> );<br><br>LPVOID<br>SNMP_FUNC_TYPE<br>SnmpUtilMemAlloc(<br> UINT nBytes<br> );<br><br>LPVOID<br>SNMP_FUNC_TYPE<br>SnmpUtilMemReAlloc(<br> LPVOID pMem,<br> UINT nBytes<br> );<br><br>LPSTR<br>SNMP_FUNC_TYPE<br>SnmpUtilOidToA(<br> IN AsnObjectIdentifier *Oid<br> );<br><br>LPSTR <br>SNMP_FUNC_TYPE<br>SnmpUtilIdsToA(<br> IN UINT *Ids,<br> IN UINT IdLength<br> );<br><br>VOID <br>SNMP_FUNC_TYPE<br>SnmpUtilPrintOid(<br> IN AsnObjectIdentifier *Oid <br> );<br><br>VOID<br>SNMP_FUNC_TYPE<br>SnmpUtilPrintAsnAny(<br> AsnAny * pAny<br> );<br><br>DWORD<br>SNMP_FUNC_TYPE <br>SnmpSvcGetUptime(<br> );<br><br>VOID<br>SNMP_FUNC_TYPE<br>SnmpSvcSetLogLevel(<br> INT nLogLevel<br> );<br><br>VOID<br>SNMP_FUNC_TYPE<br>SnmpSvcSetLogType(<br> INT nLogType<br> );<br><br>///////////////////////////////////////////////////////////////////////////////<br>// //<br>// SNMP Debugging Definitions //<br>// //<br>///////////////////////////////////////////////////////////////////////////////<br><br>#define SNMP_LOG_SILENT 0x0<br>#define SNMP_LOG_FATAL 0x1<br>#define SNMP_LOG_ERROR 0x2<br>#define SNMP_LOG_WARNING 0x3<br>#define SNMP_LOG_TRACE 0x4<br>#define SNMP_LOG_VERBOSE 0x5<br><br>#define SNMP_OUTPUT_TO_CONSOLE 0x1<br>#define SNMP_OUTPUT_TO_LOGFILE 0x2<br>#define SNMP_OUTPUT_TO_EVENTLOG 0x4 // no longer supported<br>#define SNMP_OUTPUT_TO_DEBUGGER 0x8<br><br>///////////////////////////////////////////////////////////////////////////////<br>// //<br>// SNMP Debugging Prototypes //<br>// //<br>///////////////////////////////////////////////////////////////////////////////<br><br>VOID<br>SNMP_FUNC_TYPE<br>SnmpUtilDbgPrint(<br> IN INT nLogLevel, // see log levels above...<br> IN LPSTR szFormat,<br> IN ...<br> );<br><br>#if DBG<br>#define SNMPDBG(_x_) SnmpUtilDbgPrint _x_<br>#else<br>#define SNMPDBG(_x_)<br>#endif<br><br>///////////////////////////////////////////////////////////////////////////////<br>// //<br>// Miscellaneous definitions //<br>// //<br>///////////////////////////////////////////////////////////////////////////////<br><br>#define DEFINE_SIZEOF(Array) (sizeof(Array)/sizeof((Array)[0]))<br>#define DEFINE_OID(SubIdArray) {DEFINE_SIZEOF(SubIdArray),(SubIdArray)}<br>#define DEFINE_NULLOID() {0,NULL} <br>#define DEFINE_NULLOCTETS() {NULL,0,FALSE}<br><br>#define DEFAULT_SNMP_PORT_UDP 161<br>#define DEFAULT_SNMP_PORT_IPX 36879<br>#define DEFAULT_SNMPTRAP_PORT_UDP 162<br>#define DEFAULT_SNMPTRAP_PORT_IPX 36880<br><br>#define SNMP_MAX_OID_LEN 128<br><br>///////////////////////////////////////////////////////////////////////////////<br>// //<br>// API Error Code Definitions //<br>// //<br>///////////////////////////////////////////////////////////////////////////////<br> <br>#define SNMP_MEM_ALLOC_ERROR 1<br>#define SNMP_BERAPI_INVALID_LENGTH 10<br>#define SNMP_BERAPI_INVALID_TAG 11<br>#define SNMP_BERAPI_OVERFLOW 12<br>#define SNMP_BERAPI_SHORT_BUFFER 13<br>#define SNMP_BERAPI_INVALID_OBJELEM 14<br>#define SNMP_PDUAPI_UNRECOGNIZED_PDU 20<br>#define SNMP_PDUAPI_INVALID_ES 21<br>#define SNMP_PDUAPI_INVALID_GT 22<br>#define SNMP_AUTHAPI_INVALID_VERSION 30<br>#define SNMP_AUTHAPI_INVALID_MSG_TYPE 31<br>#define SNMP_AUTHAPI_TRIV_AUTH_FAILED 32<br><br>///////////////////////////////////////////////////////////////////////////////<br>// //<br>// Support for old definitions (support disabled via SNMPSTRICT) //<br>// //<br>///////////////////////////////////////////////////////////////////////////////<br><br>#ifndef SNMPSTRICT<br><br>#define SNMP_oidcpy SnmpUtilOidCpy<br>#define SNMP_oidappend SnmpUtilOidAppend<br>#define SNMP_oidncmp SnmpUtilOidNCmp<br>#define SNMP_oidcmp SnmpUtilOidCmp<br>#define SNMP_oidfree SnmpUtilOidFree<br><br>#define SNMP_CopyVarBindList SnmpUtilVarBindListCpy<br>#define SNMP_FreeVarBindList SnmpUtilVarBindListFree<br>#define SNMP_CopyVarBind SnmpUtilVarBindCpy<br>#define SNMP_FreeVarBind SnmpUtilVarBindFree<br><br>#define SNMP_printany SnmpUtilPrintAsnAny<br><br>#define SNMP_free SnmpUtilMemFree<br>#define SNMP_malloc SnmpUtilMemAlloc<br>#define SNMP_realloc SnmpUtilMemReAlloc<br><br>#define SNMP_DBG_free SnmpUtilMemFree<br>#define SNMP_DBG_malloc SnmpUtilMemAlloc<br>#define SNMP_DBG_realloc SnmpUtilMemReAlloc<br><br>#define ASN_RFC1155_IPADDRESS ASN_IPADDRESS<br>#define ASN_RFC1155_COUNTER ASN_COUNTER32<br>#define ASN_RFC1155_GAUGE ASN_GAUGE32<br>#define ASN_RFC1155_TIMETICKS ASN_TIMETICKS<br>#define ASN_RFC1155_OPAQUE ASN_OPAQUE<br>#define ASN_RFC1213_DISPSTRING ASN_OCTETSTRING<br><br>#define ASN_RFC1157_GETREQUEST SNMP_PDU_GET <br>#define ASN_RFC1157_GETNEXTREQUEST SNMP_PDU_GETNEXT <br>#define ASN_RFC1157_GETRESPONSE SNMP_PDU_RESPONSE<br>#define ASN_RFC1157_SETREQUEST SNMP_PDU_SET <br>#define ASN_RFC1157_TRAP SNMP_PDU_V1TRAP <br><br>#define ASN_CONTEXTSPECIFIC ASN_CONTEXT<br>#define ASN_PRIMATIVE ASN_PRIMITIVE<br><br>#define RFC1157VarBindList SnmpVarBindList<br>#define RFC1157VarBind SnmpVarBind<br>#define AsnInteger AsnInteger32 <br>#define AsnCounter AsnCounter32 <br>#define AsnGauge AsnGauge32 <br><br>#endif // SNMPSTRICT<br><br>#ifdef __cplusplus<br>}<br>#endif<br><br>#endif // _INC_SNMP<br>