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

📄 snmp.pas

📁 East make Tray Icon in delphi
💻 PAS
📖 第 1 页 / 共 3 页
字号:

{ SNMP API Return Code Definitions }

type
  SNMPAPI                                     = Integer;
  {$EXTERNALSYM SNMPAPI}
const
  SNMPAPI_NOERROR                             = True;
  {$EXTERNALSYM SNMPAPI_NOERROR}
  SNMPAPI_ERROR                               = False;
  {$EXTERNALSYM SNMPAPI_ERROR}

{ SNMP Extension API Type Definitions }

type
  TSnmpExtensionInit = function (dwUptimeReference: DWORD; var phSubagentTrapEvent: THandle;
    var pFirstSupportedRegion: PAsnObjectIdentifier): Boolean; stdcall;

  TSnmpExtensionInitEx = function (var pNextSupportedRegion: PAsnObjectIdentifier): Boolean; stdcall;

  TSnmpExtensionMonitor = function (pAgentMgmtData: Pointer): Boolean; stdcall;

  TSnmpExtensionQuery = function (bPduType: Byte; var pVarBindList: TSnmpVarBindList;
    var pErrorStatus: TAsnInteger32; var pErrorIndex: TAsnInteger32): Boolean; stdcall;

  TSnmpExtensionQueryEx = function (nRequestType: UINT; nTransactionId: UINT; var pVarBindList: PSnmpVarBindList;
    var pContextInfo: PAsnOctetString; var pErrorStatus: TAsnInteger32; var pErrorIndex: TAsnInteger32): Boolean; stdcall;

  TSnmpExtensionTrap = function (pEnterpriseOid: PAsnObjectIdentifier; var pGenericTrapId: TAsnInteger32;
     var pSpecificTrapId: TAsnInteger32; var pTimeStamp: TAsnTimeticks; var pVarBindList: PSnmpVarBindList): Boolean; stdcall;

  TSnmpExtensionClose = procedure; stdcall;

{ SNMP API Prototypes }

{$IFDEF SNMP_DYNAMIC_LINK}

var
  SnmpUtilOidCpy: function(pOidDst: PAsnObjectIdentifier; pOidSrc: PAsnObjectIdentifier): SNMPAPI; stdcall;
  SnmpUtilOidAppend: function(pOidDst: PAsnObjectIdentifier; pOidSrc: PAsnObjectIdentifier): SNMPAPI; stdcall;
  SnmpUtilOidNCmp: function(pOid1, pOid2: PAsnObjectIdentifier; nSubIds: UINT): SNMPAPI; stdcall;
  SnmpUtilOidCmp: function(pOid1, pOid2: PAsnObjectIdentifier): SNMPAPI; stdcall;
  SnmpUtilOidFree: procedure(pOid: TAsnObjectIdentifier); stdcall;
  SnmpUtilOctetsCmp: function(pOctets1, pOctets2: PAsnOctetString): SNMPAPI; stdcall;
  SnmpUtilOctetsNCmp: function(pOctets1, pOctets2: PAsnOctetString; nChars: UINT): SNMPAPI; stdcall;
  SnmpUtilOctetsCpy: function(pOctetsDst, pOctetsSrc: PAsnOctetString): SNMPAPI; stdcall;
  SnmpUtilOctetsFree: procedure(pOctets: PAsnOctetString); stdcall;
  SnmpUtilAsnAnyCpy: function(pAnyDst, pAnySrc: PAsnAny): SNMPAPI; stdcall;
  SnmpUtilAsnAnyFree: procedure(pAny: PAsnAny); stdcall;
  SnmpUtilVarBindCpy: function(pVbDst: PSnmpVarBind; pVbSrc: PSnmpVarBind): SNMPAPI; stdcall;
  SnmpUtilVarBindFree: procedure(pVb: PSnmpVarBind); stdcall;
  SnmpUtilVarBindListCpy: function(pVblDst: PSnmpVarBindList; pVblSrc: PSnmpVarBindList): SNMPAPI; stdcall;
  SnmpUtilVarBindListFree: procedure(pVbl: PSnmpVarBindList); stdcall;
  SnmpUtilMemFree: procedure(pMem: Pointer); stdcall;
  SnmpUtilMemAlloc: function(nBytes: UINT): Pointer; stdcall;
  SnmpUtilMemReAlloc: function(pMem: Pointer; nBytes: UINT): Pointer; stdcall;
  SnmpUtilOidToA: function(Oid: PAsnObjectIdentifier): PChar; stdcall;
  SnmpUtilIdsToA: function(Ids: PUINT; IdLength: UINT): PChar; stdcall;
  SnmpUtilPrintOid: procedure(Oid: PAsnObjectIdentifier); stdcall;
  SnmpUtilPrintAsnAny: procedure(pAny: PAsnAny); stdcall;
  SnmpSvcGetUptime: function: DWORD; stdcall;
  SnmpSvcSetLogLevel: procedure(nLogLevel: Integer); stdcall;
  SnmpSvcSetLogType: procedure(nLogType: Integer); stdcall;

{$ELSE}

function SnmpUtilOidCpy(pOidDst: PAsnObjectIdentifier; pOidSrc: PAsnObjectIdentifier): SNMPAPI; stdcall;
function SnmpUtilOidAppend(pOidDst: PAsnObjectIdentifier; pOidSrc: PAsnObjectIdentifier): SNMPAPI; stdcall;
function SnmpUtilOidNCmp(pOid1, pOid2: PAsnObjectIdentifier; nSubIds: UINT): SNMPAPI; stdcall;
function SnmpUtilOidCmp(pOid1, pOid2: PAsnObjectIdentifier): SNMPAPI; stdcall;
procedure SnmpUtilOidFree(pOid: TAsnObjectIdentifier); stdcall;
function SnmpUtilOctetsCmp(pOctets1, pOctets2: PAsnOctetString): SNMPAPI; stdcall;
function SnmpUtilOctetsNCmp(pOctets1, pOctets2: PAsnOctetString; nChars: UINT): SNMPAPI; stdcall;
function SnmpUtilOctetsCpy(pOctetsDst, pOctetsSrc: PAsnOctetString): SNMPAPI; stdcall;
procedure SnmpUtilOctetsFree(pOctets: PAsnOctetString); stdcall;
function SnmpUtilAsnAnyCpy(pAnyDst, pAnySrc: PAsnAny): SNMPAPI; stdcall;
procedure SnmpUtilAsnAnyFree(pAny: PAsnAny); stdcall;
function SnmpUtilVarBindCpy(pVbDst: PSnmpVarBind; pVbSrc: PSnmpVarBind): SNMPAPI; stdcall;
procedure SnmpUtilVarBindFree(pVb: PSnmpVarBind); stdcall;
function SnmpUtilVarBindListCpy(pVblDst: PSnmpVarBindList; pVblSrc: PSnmpVarBindList): SNMPAPI; stdcall;
procedure SnmpUtilVarBindListFree(pVbl: PSnmpVarBindList); stdcall;
procedure SnmpUtilMemFree(pMem: Pointer); stdcall;
function SnmpUtilMemAlloc(nBytes: UINT): Pointer; stdcall;
function SnmpUtilMemReAlloc(pMem: Pointer; nBytes: UINT): Pointer; stdcall;
function SnmpUtilOidToA(Oid: PAsnObjectIdentifier): PChar; stdcall;
function SnmpUtilIdsToA(Ids: PUINT; IdLength: UINT): PChar; stdcall;
procedure SnmpUtilPrintOid(Oid: PAsnObjectIdentifier); stdcall;
procedure SnmpUtilPrintAsnAny(pAny: PAsnAny); stdcall;
function SnmpSvcGetUptime: DWORD; stdcall;
procedure SnmpSvcSetLogLevel(nLogLevel: Integer); stdcall;
procedure SnmpSvcSetLogType(nLogType: Integer); stdcall;

{$ENDIF SNMP_DYNAMIC_LINK}

{$EXTERNALSYM SnmpUtilOidCpy}
{$EXTERNALSYM SnmpUtilOidAppend}
{$EXTERNALSYM SnmpUtilOidNCmp}
{$EXTERNALSYM SnmpUtilOidCmp}
{$EXTERNALSYM SnmpUtilOidFree}
{$EXTERNALSYM SnmpUtilOctetsCmp}
{$EXTERNALSYM SnmpUtilOctetsNCmp}
{$EXTERNALSYM SnmpUtilOctetsCpy}
{$EXTERNALSYM SnmpUtilOctetsFree}
{$EXTERNALSYM SnmpUtilAsnAnyCpy}
{$EXTERNALSYM SnmpUtilAsnAnyFree}
{$EXTERNALSYM SnmpUtilVarBindCpy}
{$EXTERNALSYM SnmpUtilVarBindFree}
{$EXTERNALSYM SnmpUtilVarBindListCpy}
{$EXTERNALSYM SnmpUtilVarBindListFree}
{$EXTERNALSYM SnmpUtilMemFree}
{$EXTERNALSYM SnmpUtilMemAlloc}
{$EXTERNALSYM SnmpUtilMemReAlloc}
{$EXTERNALSYM SnmpUtilOidToA}
{$EXTERNALSYM SnmpUtilIdsToA}
{$EXTERNALSYM SnmpUtilPrintOid}
{$EXTERNALSYM SnmpUtilPrintAsnAny}
{$EXTERNALSYM SnmpSvcGetUptime}
{$EXTERNALSYM SnmpSvcSetLogLevel}
{$EXTERNALSYM SnmpSvcSetLogType}

{ SNMP Debugging Definitions }

const
  SNMP_LOG_SILENT                 = $0;
  {$EXTERNALSYM SNMP_LOG_SILENT}
  SNMP_LOG_FATAL                  = $1;
  {$EXTERNALSYM SNMP_LOG_FATAL}
  SNMP_LOG_ERROR                  = $2;
  {$EXTERNALSYM SNMP_LOG_ERROR}
  SNMP_LOG_WARNING                = $3;
  {$EXTERNALSYM SNMP_LOG_WARNING}
  SNMP_LOG_TRACE                  = $4;
  {$EXTERNALSYM SNMP_LOG_TRACE}
  SNMP_LOG_VERBOSE                = $5;
  {$EXTERNALSYM SNMP_LOG_VERBOSE}

  SNMP_OUTPUT_TO_CONSOLE          = $1;
  {$EXTERNALSYM SNMP_OUTPUT_TO_CONSOLE}
  SNMP_OUTPUT_TO_LOGFILE          = $2;
  {$EXTERNALSYM SNMP_OUTPUT_TO_LOGFILE}
  SNMP_OUTPUT_TO_EVENTLOG         = $4;  // no longer supported
  {$EXTERNALSYM SNMP_OUTPUT_TO_EVENTLOG}
  SNMP_OUTPUT_TO_DEBUGGER         = $8;
  {$EXTERNALSYM SNMP_OUTPUT_TO_DEBUGGER}

{ SNMP Debugging Prototypes }

{$IFNDEF SNMP_DYNAMIC_LINK}

procedure SnmpUtilDbgPrint(nLogLevel: Integer; szFormat: PChar); stdcall;

{$ELSE SNMP_DYNAMIC_LINK}

var
  SnmpUtilDbgPrint: procedure (nLogLevel: Integer; szFormat: PChar); stdcall;

{$ENDIF ~SNMP_DYNAMIC_LINK}

{$EXTERNALSYM SnmpUtilDbgPrint}

{ Miscellaneous definitions }

const
  DEFINE_NULLOID: TAsnObjectIdentifier = (idLength: 0; ids: nil);
  {$EXTERNALSYM DEFINE_NULLOID}
  DEFINE_NULLOCTETS: TAsnOctetString = (stream: nil; length: 0; dynamic_: False);
  {$EXTERNALSYM DEFINE_NULLOCTETS}

  DEFAULT_SNMP_PORT_UDP       = 161;
  {$EXTERNALSYM DEFAULT_SNMP_PORT_UDP}
  DEFAULT_SNMP_PORT_IPX       = 36879;
  {$EXTERNALSYM DEFAULT_SNMP_PORT_IPX}
  DEFAULT_SNMPTRAP_PORT_UDP   = 162;
  {$EXTERNALSYM DEFAULT_SNMPTRAP_PORT_UDP}
  DEFAULT_SNMPTRAP_PORT_IPX   = 36880;
  {$EXTERNALSYM DEFAULT_SNMPTRAP_PORT_IPX}
  SNMP_MAX_OID_LEN            = 128;
  {$EXTERNALSYM SNMP_MAX_OID_LEN}

{ API Error Code Definitions }

  SNMP_MEM_ALLOC_ERROR            = 1;
  {$EXTERNALSYM SNMP_MEM_ALLOC_ERROR}
  SNMP_BERAPI_INVALID_LENGTH      = 10;
  {$EXTERNALSYM SNMP_BERAPI_INVALID_LENGTH}
  SNMP_BERAPI_INVALID_TAG         = 11;
  {$EXTERNALSYM SNMP_BERAPI_INVALID_TAG}
  SNMP_BERAPI_OVERFLOW            = 12;
  {$EXTERNALSYM SNMP_BERAPI_OVERFLOW}
  SNMP_BERAPI_SHORT_BUFFER        = 13;
  {$EXTERNALSYM SNMP_BERAPI_SHORT_BUFFER}
  SNMP_BERAPI_INVALID_OBJELEM     = 14;
  {$EXTERNALSYM SNMP_BERAPI_INVALID_OBJELEM}
  SNMP_PDUAPI_UNRECOGNIZED_PDU    = 20;
  {$EXTERNALSYM SNMP_PDUAPI_UNRECOGNIZED_PDU}
  SNMP_PDUAPI_INVALID_ES          = 21;
  {$EXTERNALSYM SNMP_PDUAPI_INVALID_ES}
  SNMP_PDUAPI_INVALID_GT          = 22;
  {$EXTERNALSYM SNMP_PDUAPI_INVALID_GT}
  SNMP_AUTHAPI_INVALID_VERSION    = 30;
  {$EXTERNALSYM SNMP_AUTHAPI_INVALID_VERSION}
  SNMP_AUTHAPI_INVALID_MSG_TYPE   = 31;
  {$EXTERNALSYM SNMP_AUTHAPI_INVALID_MSG_TYPE}
  SNMP_AUTHAPI_TRIV_AUTH_FAILED   = 32;
  {$EXTERNALSYM SNMP_AUTHAPI_TRIV_AUTH_FAILED}

{ Support for old definitions (support disabled via SNMPSTRICT) }

{$IFNDEF SNMPSTRICT}

{$IFNDEF SNMP_DYNAMIC_LINK}

var
  SNMP_oidcpy: function (pOidDst: PAsnObjectIdentifier; pOidSrc: PAsnObjectIdentifier): SNMPAPI; stdcall;
  SNMP_oidappend: function (pOidDst: PAsnObjectIdentifier; pOidSrc: PAsnObjectIdentifier): SNMPAPI; stdcall;
  SNMP_oidncmp: function (pOid1, pOid2: PAsnObjectIdentifier; nSubIds: UINT): SNMPAPI; stdcall;
  SNMP_oidcmp: function (pOid1, pOid2: PAsnObjectIdentifier): SNMPAPI; stdcall;
  SNMP_oidfree: procedure (pOid: TAsnObjectIdentifier); stdcall;

  SNMP_CopyVarBind: function (pVbDst: PSnmpVarBind; pVbSrc: PSnmpVarBind): SNMPAPI; stdcall;
  SNMP_FreeVarBind: procedure (pVb: PSnmpVarBind); stdcall;
  SNMP_CopyVarBindList: function (pVblDst: PSnmpVarBindList; pVblSrc: PSnmpVarBindList): SNMPAPI; stdcall;
  SNMP_FreeVarBindList: procedure (pVbl: PSnmpVarBindList); stdcall;

  SNMP_printany: procedure (pAny: PAsnAny); stdcall;

  SNMP_free: procedure (pMem: Pointer); stdcall;
  SNMP_malloc: function (nBytes: UINT): Pointer; stdcall;
  SNMP_realloc: function (pMem: Pointer; nBytes: UINT): Pointer; stdcall;

  SNMP_DBG_free: procedure (pMem: Pointer); stdcall;
  SNMP_DBG_malloc: function (nBytes: UINT): Pointer; stdcall;
  SNMP_DBG_realloc: function (pMem: Pointer; nBytes: UINT): Pointer; stdcall;

{$ELSE}

function SNMP_oidcpy(pOidDst: PAsnObjectIdentifier; pOidSrc: PAsnObjectIdentifier): SNMPAPI; stdcall;
function SNMP_oidappend(pOidDst: PAsnObjectIdentifier; pOidSrc: PAsnObjectIdentifier): SNMPAPI; stdcall;
function SNMP_oidncmp(pOid1, pOid2: PAsnObjectIdentifier; nSubIds: UINT): SNMPAPI; stdcall;
function SNMP_oidcmp(pOid1, pOid2: PAsnObjectIdentifier): SNMPAPI; stdcall;
procedure SNMP_oidfree(pOid: TAsnObjectIdentifier); stdcall;

function SNMP_CopyVarBind(pVbDst: PSnmpVarBind; pVbSrc: PSnmpVarBind): SNMPAPI; stdcall;
procedure SNMP_FreeVarBind(pVb: PSnmpVarBind); stdcall;
function SNMP_CopyVarBindList(pVblDst: PSnmpVarBindList; pVblSrc: PSnmpVarBindList): SNMPAPI; stdcall;
procedure SNMP_FreeVarBindList(pVbl: PSnmpVarBindList); stdcall;

procedure SNMP_printany(pAny: PAsnAny); stdcall;

procedure SNMP_free(pMem: Pointer); stdcall;
function SNMP_malloc(nBytes: UINT): Pointer; stdcall;
function SNMP_realloc(pMem: Pointer; nBytes: UINT): Pointer; stdcall;

procedure SNMP_DBG_free(pMem: Pointer); stdcall;
function SNMP_DBG_malloc(nBytes: UINT): Pointer; stdcall;
function SNMP_DBG_realloc(pMem: Pointer; nBytes: UINT): Pointer; stdcall;

{$ENDIF SNMP_DYNAMIC_LINK}

{$EXTERNALSYM SNMP_oidcpy}
{$EXTERNALSYM SNMP_oidappend}
{$EXTERNALSYM SNMP_oidncmp}
{$EXTERNALSYM SNMP_oidcmp}
{$EXTERNALSYM SNMP_oidfree}

{$EXTERNALSYM SNMP_CopyVarBind}
{$EXTERNALSYM SNMP_FreeVarBind}
{$EXTERNALSYM SNMP_CopyVarBindList}
{$EXTERNALSYM SNMP_FreeVarBindList}

{$EXTERNALSYM SNMP_printany}

{$EXTERNALSYM SNMP_free}
{$EXTERNALSYM SNMP_malloc}
{$EXTERNALSYM SNMP_realloc}

{$EXTERNALSYM SNMP_DBG_free}
{$EXTERNALSYM SNMP_DBG_malloc}
{$EXTERNALSYM SNMP_DBG_realloc}

const
  ASN_RFC1155_IPADDRESS           = ASN_IPADDRESS;
  {$EXTERNALSYM ASN_RFC1155_IPADDRESS}
  ASN_RFC1155_COUNTER             = ASN_COUNTER32;
  {$EXTERNALSYM ASN_RFC1155_COUNTER}
  ASN_RFC1155_GAUGE               = ASN_GAUGE32;
  {$EXTERNALSYM ASN_RFC1155_GAUGE}
  ASN_RFC1155_TIMETICKS           = ASN_TIMETICKS;
  {$EXTERNALSYM ASN_RFC1155_TIMETICKS}
  ASN_RFC1155_OPAQUE              = ASN_OPAQUE;
  {$EXTERNALSYM ASN_RFC1155_OPAQUE}
  ASN_RFC1213_DISPSTRING          = ASN_OCTETSTRING;
  {$EXTERNALSYM ASN_RFC1213_DISPSTRING}

  ASN_RFC1157_GETREQUEST          = SNMP_PDU_GET;
  {$EXTERNALSYM ASN_RFC1157_GETREQUEST}
  ASN_RFC1157_GETNEXTREQUEST      = SNMP_PDU_GETNEXT;
  {$EXTERNALSYM ASN_RFC1157_GETNEXTREQUEST}
  ASN_RFC1157_GETRESPONSE         = SNMP_PDU_RESPONSE;
  {$EXTERNALSYM ASN_RFC1157_GETRESPONSE}
  ASN_RFC1157_SETREQUEST          = SNMP_PDU_SET;
  {$EXTERNALSYM ASN_RFC1157_SETREQUEST}
  ASN_RFC1157_TRAP                = SNMP_PDU_V1TRAP;
  {$EXTERNALSYM ASN_RFC1157_TRAP}

  ASN_CONTEXTSPECIFIC             = ASN_CONTEXT;
  {$EXTERNALSYM ASN_CONTEXTSPECIFIC}

⌨️ 快捷键说明

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