⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 snmp.h

📁 pwlib源码库
💻 H
📖 第 1 页 / 共 2 页
字号:
/*++Copyright 1992 - 1998 Microsoft CorporationModule Name:    snmp.hAbstract:    Definitions for SNMP development.--*/#ifndef _INC_SNMP#define _INC_SNMP/////////////////////////////////////////////////////////////////////////////////                                                                           //// Additional Header Files                                                   ////                                                                           /////////////////////////////////////////////////////////////////////////////////#include <windows.h>#ifdef __cplusplusextern "C" {#endif/////////////////////////////////////////////////////////////////////////////////                                                                           //// SNMP Type Definitions                                                     ////                                                                           /////////////////////////////////////////////////////////////////////////////////#pragma pack(4)typedef struct {    BYTE * stream;         UINT   length;         BOOL   dynamic;    } AsnOctetString;typedef struct {    UINT   idLength;       UINT * ids;        } AsnObjectIdentifier;typedef LONG                    AsnInteger32;typedef ULONG                   AsnUnsigned32;typedef ULARGE_INTEGER          AsnCounter64;typedef AsnUnsigned32           AsnCounter32;typedef AsnUnsigned32           AsnGauge32;typedef AsnUnsigned32           AsnTimeticks;typedef AsnOctetString          AsnBits;typedef AsnOctetString          AsnSequence;typedef AsnOctetString          AsnImplicitSequence;typedef AsnOctetString          AsnIPAddress;typedef AsnOctetString          AsnNetworkAddress;typedef AsnOctetString          AsnDisplayString;typedef AsnOctetString          AsnOpaque;typedef struct {    BYTE asnType;    union {                             AsnInteger32            number;     // ASN_INTEGER                                            // ASN_INTEGER32        AsnUnsigned32           unsigned32; // ASN_UNSIGNED32        AsnCounter64            counter64;  // ASN_COUNTER64        AsnOctetString          string;     // ASN_OCTETSTRING        AsnBits                 bits;       // ASN_BITS        AsnObjectIdentifier     object;     // ASN_OBJECTIDENTIFIER        AsnSequence             sequence;   // ASN_SEQUENCE        AsnIPAddress            address;    // ASN_IPADDRESS        AsnCounter32            counter;    // ASN_COUNTER32        AsnGauge32              gauge;      // ASN_GAUGE32        AsnTimeticks            ticks;      // ASN_TIMETICKS        AsnOpaque               arbitrary;  // ASN_OPAQUE    } asnValue;} AsnAny;typedef AsnObjectIdentifier     AsnObjectName;typedef AsnAny                  AsnObjectSyntax;typedef struct {    AsnObjectName    name;         AsnObjectSyntax  value;    } SnmpVarBind;typedef struct {    SnmpVarBind * list;         UINT          len;      } SnmpVarBindList;#pragma pack()#ifndef _INC_WINSNMP/////////////////////////////////////////////////////////////////////////////////                                                                           //// ASN/BER Base Types                                                        ////                                                                           /////////////////////////////////////////////////////////////////////////////////                                        #define ASN_UNIVERSAL                   0x00#define ASN_APPLICATION                 0x40#define ASN_CONTEXT                     0x80#define ASN_PRIVATE                     0xC0#define ASN_PRIMITIVE                   0x00#define ASN_CONSTRUCTOR                 0x20/////////////////////////////////////////////////////////////////////////////////                                                                           //// PDU Type Values                                                           ////                                                                           /////////////////////////////////////////////////////////////////////////////////#define SNMP_PDU_GET                (ASN_CONTEXT | ASN_CONSTRUCTOR | 0x0)#define SNMP_PDU_GETNEXT            (ASN_CONTEXT | ASN_CONSTRUCTOR | 0x1)#define SNMP_PDU_RESPONSE           (ASN_CONTEXT | ASN_CONSTRUCTOR | 0x2)#define SNMP_PDU_SET                (ASN_CONTEXT | ASN_CONSTRUCTOR | 0x3)#define SNMP_PDU_V1TRAP             (ASN_CONTEXT | ASN_CONSTRUCTOR | 0x4) #define SNMP_PDU_GETBULK            (ASN_CONTEXT | ASN_CONSTRUCTOR | 0x5)#define SNMP_PDU_INFORM             (ASN_CONTEXT | ASN_CONSTRUCTOR | 0x6)#define SNMP_PDU_TRAP               (ASN_CONTEXT | ASN_CONSTRUCTOR | 0x7)#endif // _INC_WINSNMP/////////////////////////////////////////////////////////////////////////////////                                                                           //// SNMP Simple Syntax Values                                                 ////                                                                           /////////////////////////////////////////////////////////////////////////////////#define ASN_INTEGER                 (ASN_UNIVERSAL | ASN_PRIMITIVE | 0x02)#define ASN_BITS                    (ASN_UNIVERSAL | ASN_PRIMITIVE | 0x03)#define ASN_OCTETSTRING             (ASN_UNIVERSAL | ASN_PRIMITIVE | 0x04)#define ASN_NULL                    (ASN_UNIVERSAL | ASN_PRIMITIVE | 0x05)#define ASN_OBJECTIDENTIFIER        (ASN_UNIVERSAL | ASN_PRIMITIVE | 0x06)#define ASN_INTEGER32               ASN_INTEGER/////////////////////////////////////////////////////////////////////////////////                                                                           //// SNMP Constructor Syntax Values                                            ////                                                                           /////////////////////////////////////////////////////////////////////////////////                                #define ASN_SEQUENCE                (ASN_UNIVERSAL | ASN_CONSTRUCTOR | 0x10)#define ASN_SEQUENCEOF              ASN_SEQUENCE/////////////////////////////////////////////////////////////////////////////////                                                                           //// SNMP Application Syntax Values                                            ////                                                                           /////////////////////////////////////////////////////////////////////////////////#define ASN_IPADDRESS               (ASN_APPLICATION | ASN_PRIMITIVE | 0x00)#define ASN_COUNTER32               (ASN_APPLICATION | ASN_PRIMITIVE | 0x01)#define ASN_GAUGE32                 (ASN_APPLICATION | ASN_PRIMITIVE | 0x02)#define ASN_TIMETICKS               (ASN_APPLICATION | ASN_PRIMITIVE | 0x03)#define ASN_OPAQUE                  (ASN_APPLICATION | ASN_PRIMITIVE | 0x04)#define ASN_COUNTER64               (ASN_APPLICATION | ASN_PRIMITIVE | 0x06)#define ASN_UNSIGNED32              (ASN_APPLICATION | ASN_PRIMITIVE | 0x07)/////////////////////////////////////////////////////////////////////////////////                                                                           //// SNMP Exception Conditions                                                 ////                                                                           /////////////////////////////////////////////////////////////////////////////////                                        #define SNMP_EXCEPTION_NOSUCHOBJECT     (ASN_CONTEXT | ASN_PRIMITIVE | 0x00)#define SNMP_EXCEPTION_NOSUCHINSTANCE   (ASN_CONTEXT | ASN_PRIMITIVE | 0x01)#define SNMP_EXCEPTION_ENDOFMIBVIEW     (ASN_CONTEXT | ASN_PRIMITIVE | 0x02)/////////////////////////////////////////////////////////////////////////////////                                                                           //// SNMP Request Types (used in SnmpExtensionQueryEx)                         ////                                                                           /////////////////////////////////////////////////////////////////////////////////                                    #define SNMP_EXTENSION_GET          SNMP_PDU_GET     #define SNMP_EXTENSION_GET_NEXT     SNMP_PDU_GETNEXT#define SNMP_EXTENSION_GET_BULK     SNMP_PDU_GETBULK#define SNMP_EXTENSION_SET_TEST     (ASN_PRIVATE | ASN_CONSTRUCTOR | 0x0)#define SNMP_EXTENSION_SET_COMMIT   SNMP_PDU_SET#define SNMP_EXTENSION_SET_UNDO     (ASN_PRIVATE | ASN_CONSTRUCTOR | 0x1)#define SNMP_EXTENSION_SET_CLEANUP  (ASN_PRIVATE | ASN_CONSTRUCTOR | 0x2)/////////////////////////////////////////////////////////////////////////////////                                                                           //// SNMP Error Codes                                                          ////                                                                           /////////////////////////////////////////////////////////////////////////////////#define SNMP_ERRORSTATUS_NOERROR                0#define SNMP_ERRORSTATUS_TOOBIG                 1#define SNMP_ERRORSTATUS_NOSUCHNAME             2#define SNMP_ERRORSTATUS_BADVALUE               3#define SNMP_ERRORSTATUS_READONLY               4#define SNMP_ERRORSTATUS_GENERR                 5#define SNMP_ERRORSTATUS_NOACCESS               6#define SNMP_ERRORSTATUS_WRONGTYPE              7#define SNMP_ERRORSTATUS_WRONGLENGTH            8#define SNMP_ERRORSTATUS_WRONGENCODING          9#define SNMP_ERRORSTATUS_WRONGVALUE             10#define SNMP_ERRORSTATUS_NOCREATION             11#define SNMP_ERRORSTATUS_INCONSISTENTVALUE      12#define SNMP_ERRORSTATUS_RESOURCEUNAVAILABLE    13#define SNMP_ERRORSTATUS_COMMITFAILED           14#define SNMP_ERRORSTATUS_UNDOFAILED             15#define SNMP_ERRORSTATUS_AUTHORIZATIONERROR     16#define SNMP_ERRORSTATUS_NOTWRITABLE            17#define SNMP_ERRORSTATUS_INCONSISTENTNAME       18/////////////////////////////////////////////////////////////////////////////////                                                                           //// SNMPv1 Trap Types                                                         ////                                                                           /////////////////////////////////////////////////////////////////////////////////#define SNMP_GENERICTRAP_COLDSTART              0    #define SNMP_GENERICTRAP_WARMSTART              1#define SNMP_GENERICTRAP_LINKDOWN               2#define SNMP_GENERICTRAP_LINKUP                 3#define SNMP_GENERICTRAP_AUTHFAILURE            4#define SNMP_GENERICTRAP_EGPNEIGHLOSS           5#define SNMP_GENERICTRAP_ENTERSPECIFIC          6/////////////////////////////////////////////////////////////////////////////////                                                                           //// SNMP Access Types                                                         ////                                                                           /////////////////////////////////////////////////////////////////////////////////#define SNMP_ACCESS_NONE                        0#define SNMP_ACCESS_NOTIFY                      1#define SNMP_ACCESS_READ_ONLY                   2#define SNMP_ACCESS_READ_WRITE                  3#define SNMP_ACCESS_READ_CREATE                 4/////////////////////////////////////////////////////////////////////////////////                                                                           //// SNMP API Return Code Definitions                                          ////                                                                           /////////////////////////////////////////////////////////////////////////////////#define SNMPAPI                                 INT#define SNMP_FUNC_TYPE                          WINAPI#define SNMPAPI_NOERROR                         TRUE#define SNMPAPI_ERROR                           FALSE/////////////////////////////////////////////////////////////////////////////////                                                                           //// SNMP Extension API Prototypes                                             ////                                                                           /////////////////////////////////////////////////////////////////////////////////BOOL SNMP_FUNC_TYPESnmpExtensionInit(    DWORD                 dwUptimeReference,        HANDLE *              phSubagentTrapEvent,      AsnObjectIdentifier * pFirstSupportedRegion     );BOOL SNMP_FUNC_TYPESnmpExtensionInitEx(    AsnObjectIdentifier * pNextSupportedRegion    );BOOLSNMP_FUNC_TYPESnmpExtensionQuery(    BYTE              bPduType,        SnmpVarBindList * pVarBindList,    AsnInteger32 *    pErrorStatus,     AsnInteger32 *    pErrorIndex      );BOOLSNMP_FUNC_TYPESnmpExtensionQueryEx(    UINT              nRequestType,       UINT              nTransactionId,    SnmpVarBindList * pVarBindList,    AsnOctetString *  pContextInfo,    AsnInteger32 *    pErrorStatus,    AsnInteger32 *    pErrorIndex    );BOOL SNMP_FUNC_TYPESnmpExtensionTrap(    AsnObjectIdentifier * pEnterpriseOid,      AsnInteger32 *        pGenericTrapId,      AsnInteger32 *        pSpecificTrapId,     AsnTimeticks *        pTimeStamp,          SnmpVarBindList *     pVarBindList    );VOIDSNMP_FUNC_TYPESnmpExtensionClose(    );/////////////////////////////////////////////////////////////////////////////////                                                                           //// SNMP Extension API Type Definitions                                       ////                                                                           /////////////////////////////////////////////////////////////////////////////////typedef BOOL (SNMP_FUNC_TYPE * PFNSNMPEXTENSIONINIT)(    DWORD                 dwUpTimeReference,    HANDLE *              phSubagentTrapEvent,    AsnObjectIdentifier * pFirstSupportedRegion    );typedef BOOL (SNMP_FUNC_TYPE * PFNSNMPEXTENSIONINITEX)(    AsnObjectIdentifier * pNextSupportedRegion    );typedef BOOL (SNMP_FUNC_TYPE * PFNSNMPEXTENSIONQUERY)(    BYTE              bPduType,    SnmpVarBindList * pVarBindList,

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -