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
)