102 lines
2.3 KiB
C
102 lines
2.3 KiB
C
/*++
|
||
|
||
Copyright (c) 1992-1997 Microsoft Corporation
|
||
|
||
Module Name:
|
||
|
||
snmppdus.h
|
||
|
||
Abstract:
|
||
|
||
Contains definitions for manipulating SNMP PDUs.
|
||
|
||
Environment:
|
||
|
||
User Mode - Win32
|
||
|
||
Revision History:
|
||
|
||
10-Feb-1997 DonRyan
|
||
Rewrote to implement SNMPv2 support.
|
||
|
||
--*/
|
||
|
||
#ifndef _SNMPPDUS_H_
|
||
#define _SNMPPDUS_H_
|
||
|
||
///////////////////////////////////////////////////////////////////////////////
|
||
// //
|
||
// Public definitions //
|
||
// //
|
||
///////////////////////////////////////////////////////////////////////////////
|
||
|
||
typedef struct _NORMAL_PDU {
|
||
|
||
AsnInteger32 nRequestId;
|
||
AsnInteger32 nErrorStatus;
|
||
AsnInteger32 nErrorIndex;
|
||
|
||
} NORMAL_PDU, *PNORMAL_PDU;
|
||
|
||
typedef struct _BULK_PDU {
|
||
|
||
AsnInteger32 nRequestId;
|
||
AsnInteger32 nErrorStatus;
|
||
AsnInteger32 nErrorIndex;
|
||
AsnInteger32 nNonRepeaters;
|
||
AsnInteger32 nMaxRepetitions;
|
||
|
||
} BULK_PDU, *PBULK_PDU;
|
||
|
||
typedef struct _TRAP_PDU {
|
||
|
||
AsnObjectIdentifier EnterpriseOid;
|
||
AsnIPAddress AgentAddr;
|
||
AsnInteger32 nGenericTrap;
|
||
AsnInteger32 nSpecificTrap;
|
||
AsnTimeticks nTimeticks;
|
||
|
||
} TRAP_PDU, *PTRAP_PDU;
|
||
|
||
typedef struct _SNMP_PDU {
|
||
|
||
UINT nType;
|
||
SnmpVarBindList Vbl;
|
||
union {
|
||
TRAP_PDU TrapPdu;
|
||
BULK_PDU BulkPdu;
|
||
NORMAL_PDU NormPdu;
|
||
} Pdu;
|
||
|
||
} SNMP_PDU, *PSNMP_PDU;
|
||
|
||
#define SNMP_VERSION_1 0
|
||
#define SNMP_VERSION_2C 1
|
||
|
||
|
||
///////////////////////////////////////////////////////////////////////////////
|
||
// //
|
||
// Public prototypes //
|
||
// //
|
||
///////////////////////////////////////////////////////////////////////////////
|
||
|
||
BOOL
|
||
BuildMessage(
|
||
AsnInteger32 nVersion,
|
||
AsnOctetString * pCommunity,
|
||
PSNMP_PDU pPdu,
|
||
PBYTE pMessage,
|
||
PDWORD pMessageSize
|
||
);
|
||
|
||
BOOL
|
||
ParseMessage(
|
||
AsnInteger32 * pVersion,
|
||
AsnOctetString * pCommunity,
|
||
PSNMP_PDU pPdu,
|
||
PBYTE pMessage,
|
||
DWORD dwMessageSize
|
||
);
|
||
|
||
#endif // _SNMPPDUS_H_
|