2 * COPYRIGHT: See COPYING in the top level directory
3 * PROJECT: ReactOS Sockets 2 Simple Network Management Protocol API DLL
6 * PROGRAMMERS: Robert Dickenson (robd@reactos.org)
8 * RDD August 18, 2002 Created
10 //#include "snmpapi.h"
21 #define SNMP_FUNC_TYPE STDCALL
28 #define EXPORT STDCALL
30 #define EXPORT CALLBACK
36 /* See debug.h for debug/trace constants */
37 DWORD DebugTraceLevel = MAX_TRACE;
42 DWORD dwUptimeStartTicks;
45 /* To make the linker happy */
46 //VOID STDCALL KeBugCheck (ULONG BugCheckCode) {}
51 DllMain(HANDLE hInstDll,
55 WSH_DbgPrint(MIN_TRACE, ("DllMain of snmpapi.dll\n"));
58 case DLL_PROCESS_ATTACH:
59 /* Don't need thread attach notifications
60 so disable them to improve performance */
61 DisableThreadLibraryCalls(hInstDll);
64 case DLL_THREAD_ATTACH:
67 case DLL_THREAD_DETACH:
70 case DLL_PROCESS_DETACH:
76 ////////////////////////////////////////////////////////////////////////////////
80 ? SnmpSvcGetEnterpriseOID
84 ? SnmpUtilAnsiToUnicode
85 ? SnmpUtilUTF8ToUnicode
86 ? SnmpUtilUnicodeToAnsi
87 ? SnmpUtilUnicodeToUTF8
89 ////////////////////////////////////////////////////////////////////////////////
93 SnmpSvcAddrIsIpx(void* unknown, void* unknown2)
100 SnmpSvcAddrToSocket(void* unknown, void* unknown2)
107 SnmpSvcGetEnterpriseOID(void* unknown, void* unknown2)
114 SnmpUtilMemAlloc(UINT nBytes)
117 pMem = GlobalAlloc(GPTR, nBytes);
123 SnmpUtilMemFree(LPVOID pMem)
130 SnmpUtilMemReAlloc(LPVOID pMem, UINT nBytes)
132 pMem = GlobalReAlloc(pMem, nBytes, GPTR);
140 dwUptimeStartTicks = GetTickCount();
148 DWORD dwTickCount = GetTickCount();
149 dwUptime = dwTickCount - dwUptimeStartTicks;
155 SnmpSvcSetLogLevel(INT nLogLevel)
158 case SNMP_LOG_SILENT:
164 case SNMP_LOG_WARNING:
168 case SNMP_LOG_VERBOSE:
176 SnmpSvcSetLogType(INT nLogType)
179 case SNMP_OUTPUT_TO_CONSOLE:
181 case SNMP_OUTPUT_TO_LOGFILE:
183 case SNMP_OUTPUT_TO_DEBUGGER:
191 SnmpTfxClose(void* unknown, void* unknown2)
198 SnmpTfxOpen(void* unknown, void* unknown2)
205 SnmpTfxQuery(void* unknown, void* unknown2)
212 SnmpUtilAnsiToUnicode(void* unknown, void* unknown2)
219 SnmpUtilAsnAnyCpy(AsnAny *pAnyDst, AsnAny *pAnySrc)
227 SnmpUtilAsnAnyFree(AsnAny *pAny)
234 SnmpUtilDbgPrint(INT nLogLevel, LPSTR szFormat, ...)
237 case SNMP_LOG_SILENT:
243 case SNMP_LOG_WARNING:
247 case SNMP_LOG_VERBOSE:
255 SnmpUtilIdsToA(UINT *Ids, UINT IdLength)
263 SnmpUtilOctetsCmp(AsnOctetString *pOctets1, AsnOctetString *pOctets2)
271 SnmpUtilOctetsCpy(AsnOctetString *pOctetsDst, AsnOctetString *pOctetsSrc)
279 SnmpUtilOctetsFree(AsnOctetString *pOctets)
286 SnmpUtilOctetsNCmp(AsnOctetString *pOctets1, AsnOctetString *pOctets2, UINT nChars)
294 SnmpUtilOidAppend(AsnObjectIdentifier *pOidDst, AsnObjectIdentifier *pOidSrc)
296 //SnmpUtilMemReAlloc(pOidDst, sizeof(AsnObjectIdentifier));
297 //SetLastError(SNMP_BERAPI_OVERFLOW);
298 SetLastError(SNMP_MEM_ALLOC_ERROR);
305 SnmpUtilOidCmp(AsnObjectIdentifier *pOid1, AsnObjectIdentifier *pOid2)
313 SnmpUtilOidCpy(AsnObjectIdentifier *pOidDst, AsnObjectIdentifier *pOidSrc)
321 SnmpUtilOidFree(AsnObjectIdentifier *pOid)
328 SnmpUtilOidNCmp(AsnObjectIdentifier *pOid1, AsnObjectIdentifier *pOid2, UINT nSubIds)
336 SnmpUtilOidToA(AsnObjectIdentifier *Oid)
344 SnmpUtilPrintAsnAny(AsnAny *pAny)
351 SnmpUtilPrintOid(AsnObjectIdentifier *Oid)
358 SnmpUtilUTF8ToUnicode(void* unknown, void* unknown2)
365 SnmpUtilUnicodeToAnsi(void* unknown, void* unknown2)
372 SnmpUtilUnicodeToUTF8(void* unknown, void* unknown2)
379 SnmpUtilVarBindCpy(SnmpVarBind *pVbDst, SnmpVarBind *pVbSrc)
387 SnmpUtilVarBindFree(SnmpVarBind *pVb)
394 SnmpUtilVarBindListCpy(SnmpVarBindList *pVblDst, SnmpVarBindList *pVblSrc)
402 SnmpUtilVarBindListFree(SnmpVarBindList *pVbl)