diff --git a/reactos/lib/snmpapi/.cvsignore b/reactos/lib/snmpapi/.cvsignore new file mode 100644 index 00000000000..b93d68405db --- /dev/null +++ b/reactos/lib/snmpapi/.cvsignore @@ -0,0 +1,7 @@ +snmpapi.a +snmpapi.dll +snmpapi.nostrip.dll +snmpapi.coff +base.tmp +junk.tmp +temp.exp diff --git a/reactos/lib/snmpapi/debug.h b/reactos/lib/snmpapi/debug.h new file mode 100644 index 00000000000..13a623f8fb3 --- /dev/null +++ b/reactos/lib/snmpapi/debug.h @@ -0,0 +1,65 @@ +/* + * COPYRIGHT: See COPYING in the top level directory + * PROJECT: ReactOS WinSock 2 Helper DLL for TCP/IP + * FILE: include/debug.h + * PURPOSE: Debugging support macros + * DEFINES: DBG - Enable debug output + * NASSERT - Disable assertions + */ +#ifndef __DEBUG_H +#define __DEBUG_H + +#define NORMAL_MASK 0x000000FF +#define SPECIAL_MASK 0xFFFFFF00 +#define MIN_TRACE 0x00000001 +#define MID_TRACE 0x00000002 +#define MAX_TRACE 0x00000003 + +#define DEBUG_ULTRA 0xFFFFFFFF + +#ifdef DBG + +extern DWORD DebugTraceLevel; + +#define WSH_DbgPrint(_t_, _x_) \ + if (((DebugTraceLevel & NORMAL_MASK) >= _t_) || \ + ((DebugTraceLevel & _t_) > NORMAL_MASK)) { \ + DbgPrint("(%hS:%d)(%hS) ", __FILE__, __LINE__, __FUNCTION__); \ + DbgPrint _x_; \ + } + +#ifdef ASSERT +#undef ASSERT +#endif + +#ifdef NASSERT +#define ASSERT(x) +#else /* NASSERT */ +#define ASSERT(x) if (!(x)) { WSH_DbgPrint(MIN_TRACE, ("Assertion "#x" failed at %s:%d\n", __FILE__, __LINE__)); ExitProcess(0); } +#endif /* NASSERT */ + +#else /* DBG */ + +#define WSH_DbgPrint(_t_, _x_) + +#define ASSERT(x) + +#endif /* DBG */ + + +#define assert(x) ASSERT(x) +#define assert_irql(x) ASSERT_IRQL(x) + + +#define UNIMPLEMENTED \ + WSH_DbgPrint(MIN_TRACE, ("(%s:%d)(%s) is unimplemented, \ + please try again later.\n", __FILE__, __LINE__, __FUNCTION__)); + +#define CHECKPOINT \ + WSH_DbgPrint(MIN_TRACE, ("\n")); + +#define CP CHECKPOINT + +#endif /* __DEBUG_H */ + +/* EOF */ diff --git a/reactos/lib/snmpapi/makefile b/reactos/lib/snmpapi/makefile new file mode 100644 index 00000000000..05b4b175ffd --- /dev/null +++ b/reactos/lib/snmpapi/makefile @@ -0,0 +1,19 @@ +# $Id: makefile + +PATH_TO_TOP = ../.. + +TARGET_TYPE = dynlink + +TARGET_NAME = snmpapi + +TARGET_BASE = 0x777c0000 + +TARGET_CFLAGS = -DUNICODE + +TARGET_SDKLIBS = ntdll.a kernel32.a + +TARGET_OBJECTS = $(TARGET_NAME).o + +include $(PATH_TO_TOP)/rules.mak + +include $(TOOLS_PATH)/helper.mk diff --git a/reactos/lib/snmpapi/snmpapi.c b/reactos/lib/snmpapi/snmpapi.c new file mode 100644 index 00000000000..3b8776674a2 --- /dev/null +++ b/reactos/lib/snmpapi/snmpapi.c @@ -0,0 +1,378 @@ +/* + * COPYRIGHT: See COPYING in the top level directory + * PROJECT: ReactOS Sockets 2 Simple Network Management Protocol API DLL + * FILE: snmpapi.c + * PURPOSE: DLL entry + * PROGRAMMERS: Robert Dickenson (robd@reactos.org) + * REVISIONS: + * RDD August 18, 2002 Created + */ +#include "snmpapi.h" + +#ifdef DBG + +/* See debug.h for debug/trace constants */ +DWORD DebugTraceLevel = MAX_TRACE; + +#endif /* DBG */ + +/* To make the linker happy */ +//VOID STDCALL KeBugCheck (ULONG BugCheckCode) {} + + +BOOL +EXPORT +DllMain(HANDLE hInstDll, + ULONG dwReason, + PVOID Reserved) +{ + WSH_DbgPrint(MIN_TRACE, ("DllMain of snmpapi.dll\n")); + + switch (dwReason) { + case DLL_PROCESS_ATTACH: + /* Don't need thread attach notifications + so disable them to improve performance */ + DisableThreadLibraryCalls(hInstDll); + break; + + case DLL_THREAD_ATTACH: + break; + + case DLL_THREAD_DETACH: + break; + + case DLL_PROCESS_DETACH: + break; + } + return TRUE; +} + +//////////////////////////////////////////////////////////////////////////////// +/* +? SnmpSvcAddrIsIpx +? SnmpSvcAddrToSocket +? SnmpSvcGetEnterpriseOID +? SnmpTfxClose +? SnmpTfxOpen +? SnmpTfxQuery +? SnmpUtilAnsiToUnicode +? SnmpUtilUTF8ToUnicode +? SnmpUtilUnicodeToAnsi +? SnmpUtilUnicodeToUTF8 + */ +//////////////////////////////////////////////////////////////////////////////// + +VOID +SNMP_FUNC_TYPE +SnmpSvcAddrIsIpx(void* unknown, void* unknown2) +{ + UNIMPLEMENTED +} + +VOID +SNMP_FUNC_TYPE +SnmpSvcAddrToSocket(void* unknown, void* unknown2) +{ + UNIMPLEMENTED +} + +VOID +SNMP_FUNC_TYPE +SnmpSvcGetEnterpriseOID(void* unknown, void* unknown2) +{ + UNIMPLEMENTED +} + +LPVOID +SNMP_FUNC_TYPE +SnmpUtilMemAlloc(UINT nBytes) +{ + UNIMPLEMENTED + return NULL; +} + +VOID +SNMP_FUNC_TYPE +SnmpUtilMemFree(LPVOID pMem) +{ + UNIMPLEMENTED +} + +LPVOID +SNMP_FUNC_TYPE +SnmpUtilMemReAlloc(LPVOID pMem, UINT nBytes) +{ + UNIMPLEMENTED + return 0; +} + +VOID +SNMP_FUNC_TYPE +SnmpSvcInitUptime() +{ + UNIMPLEMENTED +} + +DWORD +SNMP_FUNC_TYPE +SnmpSvcGetUptime() +{ + UNIMPLEMENTED + return 0L; +} + +VOID +SNMP_FUNC_TYPE +SnmpSvcSetLogLevel(INT nLogLevel) +{ + switch (nLogLevel) { + case SNMP_LOG_SILENT: + break; + case SNMP_LOG_FATAL: + break; + case SNMP_LOG_ERROR: + break; + case SNMP_LOG_WARNING: + break; + case SNMP_LOG_TRACE: + break; + case SNMP_LOG_VERBOSE: + break; + } + UNIMPLEMENTED +} + +VOID +SNMP_FUNC_TYPE +SnmpSvcSetLogType(INT nLogType) +{ + switch (nLogType) { + case SNMP_OUTPUT_TO_CONSOLE: + break; + case SNMP_OUTPUT_TO_LOGFILE: + break; + case SNMP_OUTPUT_TO_DEBUGGER: + break; + } + UNIMPLEMENTED +} + +VOID +SNMP_FUNC_TYPE +SnmpTfxClose(void* unknown, void* unknown2) +{ + UNIMPLEMENTED +} + +VOID +SNMP_FUNC_TYPE +SnmpTfxOpen(void* unknown, void* unknown2) +{ + UNIMPLEMENTED +} + +VOID +SNMP_FUNC_TYPE +SnmpTfxQuery(void* unknown, void* unknown2) +{ + UNIMPLEMENTED +} + +VOID +SNMP_FUNC_TYPE +SnmpUtilAnsiToUnicode(void* unknown, void* unknown2) +{ + UNIMPLEMENTED +} + +SNMPAPI +SNMP_FUNC_TYPE +SnmpUtilAsnAnyCpy(AsnAny *pAnyDst, AsnAny *pAnySrc) +{ + UNIMPLEMENTED + return 0; +} + +VOID +SNMP_FUNC_TYPE +SnmpUtilAsnAnyFree(AsnAny *pAny) +{ + UNIMPLEMENTED +} + +VOID +SNMP_FUNC_TYPE +SnmpUtilDbgPrint(INT nLogLevel, LPSTR szFormat, ...) +{ + switch (nLogLevel) { + case SNMP_LOG_SILENT: + break; + case SNMP_LOG_FATAL: + break; + case SNMP_LOG_ERROR: + break; + case SNMP_LOG_WARNING: + break; + case SNMP_LOG_TRACE: + break; + case SNMP_LOG_VERBOSE: + break; + } + UNIMPLEMENTED +} + +LPSTR +SNMP_FUNC_TYPE +SnmpUtilIdsToA(UINT *Ids, UINT IdLength) +{ + UNIMPLEMENTED + return 0; +} + +SNMPAPI +SNMP_FUNC_TYPE +SnmpUtilOctetsCmp(AsnOctetString *pOctets1, AsnOctetString *pOctets2) +{ + UNIMPLEMENTED + return 0; +} + +SNMPAPI +SNMP_FUNC_TYPE +SnmpUtilOctetsCpy(AsnOctetString *pOctetsDst, AsnOctetString *pOctetsSrc) +{ + UNIMPLEMENTED + return 0; +} + +VOID +SNMP_FUNC_TYPE +SnmpUtilOctetsFree(AsnOctetString *pOctets) +{ + UNIMPLEMENTED +} + +SNMPAPI +SNMP_FUNC_TYPE +SnmpUtilOctetsNCmp(AsnOctetString *pOctets1, AsnOctetString *pOctets2, UINT nChars) +{ + UNIMPLEMENTED + return 0; +} + +SNMPAPI +SNMP_FUNC_TYPE +SnmpUtilOidAppend(AsnObjectIdentifier *pOidDst, AsnObjectIdentifier *pOidSrc) +{ + UNIMPLEMENTED +// return SNMP_BERAPI_OVERFLOW; +// return SNMP_MEM_ALLOC_ERROR; + return 0; +} + + +SNMPAPI +SNMP_FUNC_TYPE +SnmpUtilOidCmp(AsnObjectIdentifier *pOid1, AsnObjectIdentifier *pOid2) +{ + UNIMPLEMENTED + return 0; +} + +SNMPAPI +SNMP_FUNC_TYPE +SnmpUtilOidCpy(AsnObjectIdentifier *pOidDst, AsnObjectIdentifier *pOidSrc) +{ + UNIMPLEMENTED + return 0; +} + +VOID +SNMP_FUNC_TYPE +SnmpUtilOidFree(AsnObjectIdentifier *pOid) +{ + UNIMPLEMENTED +} + +SNMPAPI +SNMP_FUNC_TYPE +SnmpUtilOidNCmp(AsnObjectIdentifier *pOid1, AsnObjectIdentifier *pOid2, UINT nSubIds) +{ + UNIMPLEMENTED + return 0; +} + +LPSTR +SNMP_FUNC_TYPE +SnmpUtilOidToA(AsnObjectIdentifier *Oid) +{ + UNIMPLEMENTED + return 0; +} + +VOID +SNMP_FUNC_TYPE +SnmpUtilPrintAsnAny(AsnAny *pAny) +{ + UNIMPLEMENTED +} + +VOID +SNMP_FUNC_TYPE +SnmpUtilPrintOid(AsnObjectIdentifier *Oid) +{ + UNIMPLEMENTED +} + +VOID +SNMP_FUNC_TYPE +SnmpUtilUTF8ToUnicode(void* unknown, void* unknown2) +{ + UNIMPLEMENTED +} + +VOID +SNMP_FUNC_TYPE +SnmpUtilUnicodeToAnsi(void* unknown, void* unknown2) +{ + UNIMPLEMENTED +} + +VOID +SNMP_FUNC_TYPE +SnmpUtilUnicodeToUTF8(void* unknown, void* unknown2) +{ + UNIMPLEMENTED +} + +SNMPAPI +SNMP_FUNC_TYPE +SnmpUtilVarBindCpy(SnmpVarBind *pVbDst, SnmpVarBind *pVbSrc) +{ + UNIMPLEMENTED + return 0; +} + +VOID +SNMP_FUNC_TYPE +SnmpUtilVarBindFree(SnmpVarBind *pVb) +{ + UNIMPLEMENTED +} + +SNMPAPI +SNMP_FUNC_TYPE +SnmpUtilVarBindListCpy(SnmpVarBindList *pVblDst, SnmpVarBindList *pVblSrc) +{ + UNIMPLEMENTED + return 0; +} + +VOID +SNMP_FUNC_TYPE +SnmpUtilVarBindListFree(SnmpVarBindList *pVbl) +{ + UNIMPLEMENTED +} + +/* EOF */ diff --git a/reactos/lib/snmpapi/snmpapi.def b/reactos/lib/snmpapi/snmpapi.def new file mode 100644 index 00000000000..fa018b7ceff --- /dev/null +++ b/reactos/lib/snmpapi/snmpapi.def @@ -0,0 +1,43 @@ +; SNMPAPI.DLL - ReactOS Sockets 2 Simple Network Management Protocol API DLL + +LIBRARY snmpapi.dll + +EXPORTS +SnmpSvcAddrIsIpx +SnmpSvcAddrToSocket +SnmpSvcGetEnterpriseOID +SnmpSvcGetUptime +SnmpSvcInitUptime +SnmpSvcSetLogLevel +SnmpSvcSetLogType +SnmpTfxClose +SnmpTfxOpen +SnmpTfxQuery +SnmpUtilAnsiToUnicode +SnmpUtilAsnAnyCpy +SnmpUtilAsnAnyFree +SnmpUtilDbgPrint +SnmpUtilIdsToA +SnmpUtilMemAlloc +SnmpUtilMemFree +SnmpUtilMemReAlloc +SnmpUtilOctetsCmp +SnmpUtilOctetsCpy +SnmpUtilOctetsFree +SnmpUtilOctetsNCmp +SnmpUtilOidAppend +SnmpUtilOidCmp +SnmpUtilOidCpy +SnmpUtilOidFree +SnmpUtilOidNCmp +SnmpUtilOidToA +SnmpUtilPrintAsnAny +SnmpUtilPrintOid +SnmpUtilUTF8ToUnicode +SnmpUtilUnicodeToAnsi +SnmpUtilUnicodeToUTF8 +SnmpUtilVarBindCpy +SnmpUtilVarBindFree +SnmpUtilVarBindListCpy +SnmpUtilVarBindListFree +; EOF diff --git a/reactos/lib/snmpapi/snmpapi.edf b/reactos/lib/snmpapi/snmpapi.edf new file mode 100644 index 00000000000..ec27c961fea --- /dev/null +++ b/reactos/lib/snmpapi/snmpapi.edf @@ -0,0 +1,43 @@ +; SNMPAPI.DLL - ReactOS Sockets 2 Simple Network Management Protocol API DLL + +LIBRARY snmpapi.dll + +EXPORTS +SnmpSvcAddrIsIpx=SnmpSvcAddrIsIpx@8 +SnmpSvcAddrToSocket=SnmpSvcAddrToSocket@8 +SnmpSvcGetEnterpriseOID=SnmpSvcGetEnterpriseOID@8 +SnmpSvcGetUptime=SnmpSvcGetUptime@0 +SnmpSvcInitUptime=SnmpSvcInitUptime@0 +SnmpSvcSetLogLevel=SnmpSvcSetLogLevel@4 +SnmpSvcSetLogType=SnmpSvcSetLogType@4 +SnmpTfxClose=SnmpTfxClose@8 +SnmpTfxOpen=SnmpTfxOpen@8 +SnmpTfxQuery=SnmpTfxQuery@8 +SnmpUtilAnsiToUnicode=SnmpUtilAnsiToUnicode@8 +SnmpUtilAsnAnyCpy=SnmpUtilAsnAnyCpy@8 +SnmpUtilAsnAnyFree=SnmpUtilAsnAnyFree@4 +SnmpUtilDbgPrint=SnmpUtilDbgPrint@0 +SnmpUtilIdsToA=SnmpUtilIdsToA@8 +SnmpUtilMemAlloc=SnmpUtilMemAlloc@4 +SnmpUtilMemFree=SnmpUtilMemFree@4 +SnmpUtilMemReAlloc=SnmpUtilMemReAlloc@8 +SnmpUtilOctetsCmp=SnmpUtilOctetsCmp@8 +SnmpUtilOctetsCpy=SnmpUtilOctetsCpy@8 +SnmpUtilOctetsFree=SnmpUtilOctetsFree@4 +SnmpUtilOctetsNCmp=SnmpUtilOctetsNCmp@12 +SnmpUtilOidAppend=SnmpUtilOidAppend@8 +SnmpUtilOidCmp=SnmpUtilOidCmp@8 +SnmpUtilOidCpy=SnmpUtilOidCpy@8 +SnmpUtilOidFree=SnmpUtilOidFree@4 +SnmpUtilOidNCmp=SnmpUtilOidNCmp@12 +SnmpUtilOidToA=SnmpUtilOidToA@4 +SnmpUtilPrintAsnAny=SnmpUtilPrintAsnAny@4 +SnmpUtilPrintOid=SnmpUtilPrintOid@4 +SnmpUtilUTF8ToUnicode=SnmpUtilUTF8ToUnicode@8 +SnmpUtilUnicodeToAnsi=SnmpUtilUnicodeToAnsi@8 +SnmpUtilUnicodeToUTF8=SnmpUtilUnicodeToUTF8@8 +SnmpUtilVarBindCpy=SnmpUtilVarBindCpy@8 +SnmpUtilVarBindFree=SnmpUtilVarBindFree@4 +SnmpUtilVarBindListCpy=SnmpUtilVarBindListCpy@8 +SnmpUtilVarBindListFree=SnmpUtilVarBindListFree@4 +; EOF diff --git a/reactos/lib/snmpapi/snmpapi.h b/reactos/lib/snmpapi/snmpapi.h new file mode 100644 index 00000000000..d24ceb2f087 --- /dev/null +++ b/reactos/lib/snmpapi/snmpapi.h @@ -0,0 +1,257 @@ +/* + * COPYRIGHT: See COPYING in the top level directory + * PROJECT: ReactOS Windows Sockets 2 Simple Network Management Protocol API DLL + * FILE: include/snmpapi.h + * PURPOSE: Simple Network Management Protocol API DLL + */ +#ifndef __SNMPAPI_H +#define __SNMPAPI_H + +#ifdef __GNUC__ +#include +#else +#include +#endif +#include +#include + + +#ifdef __GNUC__ +#define EXPORT STDCALL +#define SNMP_FUNC_TYPE STDCALL +#else +#define EXPORT CALLBACK +#define SNMP_FUNC_TYPE CALLBACK +#endif + +#ifndef SNMP_FUNC_TYPE +#define SNMP_FUNC_TYPE WINAPI +#endif + +#define SNMPAPI INT +#define SNMPAPI_NOERROR TRUE +#define SNMPAPI_ERROR FALSE + +#define OBJ_NAME_PATH_SEPARATOR ((WCHAR)L'\\') + +//////////////////////////////////////////////////////////////////////////////// + +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; + + +LPVOID SNMP_FUNC_TYPE SnmpUtilMemAlloc( + UINT nBytes // bytes to allocate for object +); + +VOID SNMP_FUNC_TYPE SnmpUtilMemFree( + LPVOID pMem // pointer to memory object to release +); + +LPVOID SNMP_FUNC_TYPE SnmpUtilMemReAlloc( + LPVOID pMem, // pointer to memory object + UINT nBytes // bytes to allocate +); + +VOID SNMP_FUNC_TYPE SnmpSvcInitUptime(); + +DWORD SNMP_FUNC_TYPE SnmpSvcGetUptime(); + +VOID SNMP_FUNC_TYPE SnmpSvcSetLogLevel( + INT nLogLevel // level of severity of the event +); + +VOID SNMP_FUNC_TYPE SnmpSvcSetLogType( + INT nLogType // destination for debug output +); + +SNMPAPI SNMP_FUNC_TYPE SnmpUtilAsnAnyCpy( + AsnAny *pAnyDst, // destination structure + AsnAny *pAnySrc // source structure +); + +VOID SNMP_FUNC_TYPE SnmpUtilAsnAnyFree( + AsnAny *pAny // pointer to structure to free +); + +//VOID SNMP_FUNC_TYPE SnmpUtilDbgPrint( +// INT nLogLevel, // level of severity of event +// LPSTR szFormat // pointer to a format string +//); + +LPSTR SNMP_FUNC_TYPE SnmpUtilIdsToA( + UINT *Ids, // object identifier to convert + UINT IdLength // number of elements +); + +SNMPAPI SNMP_FUNC_TYPE SnmpUtilOctetsCmp( + AsnOctetString *pOctets1, // first octet string + AsnOctetString *pOctets2 // second octet string +); + +SNMPAPI SNMP_FUNC_TYPE SnmpUtilOctetsCpy( + AsnOctetString *pOctetsDst, // destination octet string + AsnOctetString *pOctetsSrc // source octet string +); + +VOID SNMP_FUNC_TYPE SnmpUtilOctetsFree( + AsnOctetString *pOctets // octet string to free +); + +SNMPAPI SNMP_FUNC_TYPE SnmpUtilOctetsNCmp( + AsnOctetString *pOctets1, // first octet string + AsnOctetString *pOctets2, // second octet string + UINT nChars // maximum length to compare +); + +SNMPAPI SNMP_FUNC_TYPE SnmpUtilOidAppend( + AsnObjectIdentifier *pOidDst, // destination object identifier + AsnObjectIdentifier *pOidSrc // source object identifier +); + +SNMPAPI SNMP_FUNC_TYPE SnmpUtilOidCmp( + AsnObjectIdentifier *pOid1, // first object identifier + AsnObjectIdentifier *pOid2 // second object identifier +); + +SNMPAPI SNMP_FUNC_TYPE SnmpUtilOidCpy( + AsnObjectIdentifier *pOidDst, // destination object identifier + AsnObjectIdentifier *pOidSrc // source object identifier +); + +VOID SNMP_FUNC_TYPE SnmpUtilOidFree( + AsnObjectIdentifier *pOid // object identifier to free +); + +SNMPAPI SNMP_FUNC_TYPE SnmpUtilOidNCmp( + AsnObjectIdentifier *pOid1, // first object identifier + AsnObjectIdentifier *pOid2, // second object identifier + UINT nSubIds // maximum length to compare +); + +LPSTR SNMP_FUNC_TYPE SnmpUtilOidToA( + AsnObjectIdentifier *Oid // object identifier to convert +); + +VOID SNMP_FUNC_TYPE SnmpUtilPrintAsnAny( + AsnAny *pAny // pointer to value to print +); + +VOID SNMP_FUNC_TYPE SnmpUtilPrintOid( + AsnObjectIdentifier *Oid // object identifier to print +); + +SNMPAPI SNMP_FUNC_TYPE SnmpUtilVarBindCpy( + SnmpVarBind *pVbDst, // destination variable bindings + SnmpVarBind *pVbSrc // source variable bindings +); + +VOID SNMP_FUNC_TYPE SnmpUtilVarBindFree( + SnmpVarBind *pVb // variable binding to free +); + +SNMPAPI SNMP_FUNC_TYPE SnmpUtilVarBindListCpy( + SnmpVarBindList *pVblDst, // destination variable bindings list + SnmpVarBindList *pVblSrc // source variable bindings list +); + +VOID SNMP_FUNC_TYPE SnmpUtilVarBindListFree( + SnmpVarBindList *pVbl // variable bindings list to free +); + + + +//////////////////////////////////////////////////////////////////////////////// +// SNMP Debugging Definitions +// + +#define SNMP_LOG_SILENT 0x0 +#define SNMP_LOG_FATAL 0x1 +#define SNMP_LOG_ERROR 0x2 +#define SNMP_LOG_WARNING 0x3 +#define SNMP_LOG_TRACE 0x4 +#define SNMP_LOG_VERBOSE 0x5 + +#define SNMP_OUTPUT_TO_CONSOLE 0x1 +#define SNMP_OUTPUT_TO_LOGFILE 0x2 +//#define SNMP_OUTPUT_TO_EVENTLOG 0x4 // no longer supported +#define SNMP_OUTPUT_TO_DEBUGGER 0x8 + +//////////////////////////////////////////////////////////////////////////////// +// SNMP Debugging Prototypes +// + +VOID +SNMP_FUNC_TYPE +SnmpUtilDbgPrint( + IN INT nLogLevel, // see log levels above... + IN LPSTR szFormat, + IN ... + ); + +#if DBG +#define SNMPDBG(_x_) SnmpUtilDbgPrint _x_ +#else +#define SNMPDBG(_x_) +#endif + + +//////////////////////////////////////////////////////////////////////////////// + +#endif /* __SNMPAPI_H */ + +/* EOF */ diff --git a/reactos/lib/snmpapi/snmpapi.rc b/reactos/lib/snmpapi/snmpapi.rc new file mode 100644 index 00000000000..01b7b1cc5fc --- /dev/null +++ b/reactos/lib/snmpapi/snmpapi.rc @@ -0,0 +1,39 @@ +#include +#include + +LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US + +VS_VERSION_INFO VERSIONINFO + FILEVERSION RES_UINT_FV_MAJOR,RES_UINT_FV_MINOR,RES_UINT_FV_REVISION,RES_UINT_FV_BUILD + PRODUCTVERSION RES_UINT_PV_MAJOR,RES_UINT_PV_MINOR,RES_UINT_PV_REVISION,RES_UINT_PV_BUILD + FILEFLAGSMASK 0x3fL +#ifdef _DEBUG + FILEFLAGS 0x1L +#else + FILEFLAGS 0x0L +#endif + FILEOS 0x40004L + FILETYPE 0x2L + FILESUBTYPE 0x0L +BEGIN + BLOCK "StringFileInfo" + BEGIN + BLOCK "040904b0" + BEGIN + VALUE "CompanyName", RES_STR_COMPANY_NAME + VALUE "FileDescription", "ReactOS Sockets 2 SNMP Helper API\0" + VALUE "FileVersion", RES_STR_FILE_VERSION + VALUE "InternalName", "snmpapi\0" + VALUE "LegalCopyright", RES_STR_LEGAL_COPYRIGHT + VALUE "OriginalFilename", "snmpapi.dll\0" + VALUE "ProductName", RES_STR_PRODUCT_NAME + VALUE "ProductVersion", RES_STR_PRODUCT_VERSION + END + END + BLOCK "VarFileInfo" + BEGIN + VALUE "Translation", 0x409, 1200 + END +END + +