📄 snmp.pas
字号:
{ 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 + -