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"
16 #define SNMP_FUNC_TYPE STDCALL
23 #define EXPORT STDCALL
25 #define EXPORT CALLBACK
31 /* See debug.h for debug/trace constants */
32 DWORD DebugTraceLevel
= MAX_TRACE
;
37 DWORD dwUptimeStartTicks
;
40 /* To make the linker happy */
41 //VOID STDCALL KeBugCheck (ULONG BugCheckCode) {}
46 DllMain(HANDLE hInstDll
,
50 WSH_DbgPrint(MIN_TRACE
, ("DllMain of snmpapi.dll\n"));
53 case DLL_PROCESS_ATTACH
:
54 /* Don't need thread attach notifications
55 so disable them to improve performance */
56 DisableThreadLibraryCalls(hInstDll
);
59 case DLL_THREAD_ATTACH
:
62 case DLL_THREAD_DETACH
:
65 case DLL_PROCESS_DETACH
:
71 ////////////////////////////////////////////////////////////////////////////////
75 ? SnmpSvcGetEnterpriseOID
79 ? SnmpUtilAnsiToUnicode
80 ? SnmpUtilUTF8ToUnicode
81 ? SnmpUtilUnicodeToAnsi
82 ? SnmpUtilUnicodeToUTF8
84 ////////////////////////////////////////////////////////////////////////////////
91 SnmpSvcAddrIsIpx(void* unknown
, void* unknown2
)
102 SnmpSvcAddrToSocket(void* unknown
, void* unknown2
)
113 SnmpSvcGetEnterpriseOID(void* unknown
, void* unknown2
)
124 SnmpUtilMemAlloc(UINT nBytes
)
127 pMem
= GlobalAlloc(GPTR
, nBytes
);
137 SnmpUtilMemFree(LPVOID pMem
)
148 SnmpUtilMemReAlloc(LPVOID pMem
, UINT nBytes
)
150 pMem
= GlobalReAlloc(pMem
, nBytes
, GPTR
);
162 dwUptimeStartTicks
= GetTickCount();
174 DWORD dwTickCount
= GetTickCount();
175 dwUptime
= dwTickCount
- dwUptimeStartTicks
;
185 SnmpSvcSetLogLevel(INT nLogLevel
)
188 case SNMP_LOG_SILENT
:
194 case SNMP_LOG_WARNING
:
198 case SNMP_LOG_VERBOSE
:
210 SnmpSvcSetLogType(INT nLogType
)
213 case SNMP_OUTPUT_TO_CONSOLE
:
215 case SNMP_OUTPUT_TO_LOGFILE
:
217 case SNMP_OUTPUT_TO_DEBUGGER
:
229 SnmpTfxClose(void* unknown
, void* unknown2
)
240 SnmpTfxOpen(void* unknown
, void* unknown2
)
251 SnmpTfxQuery(void* unknown
, void* unknown2
)
262 SnmpUtilAnsiToUnicode(void* unknown
, void* unknown2
)
273 SnmpUtilAsnAnyCpy(AsnAny
*pAnyDst
, AsnAny
*pAnySrc
)
285 SnmpUtilAsnAnyFree(AsnAny
*pAny
)
296 SnmpUtilDbgPrint(INT nLogLevel
, LPSTR szFormat
, ...)
299 case SNMP_LOG_SILENT
:
305 case SNMP_LOG_WARNING
:
309 case SNMP_LOG_VERBOSE
:
321 SnmpUtilIdsToA(UINT
*Ids
, UINT IdLength
)
333 SnmpUtilOctetsCmp(AsnOctetString
*pOctets1
, AsnOctetString
*pOctets2
)
345 SnmpUtilOctetsCpy(AsnOctetString
*pOctetsDst
, AsnOctetString
*pOctetsSrc
)
357 SnmpUtilOctetsFree(AsnOctetString
*pOctets
)
368 SnmpUtilOctetsNCmp(AsnOctetString
*pOctets1
, AsnOctetString
*pOctets2
, UINT nChars
)
380 SnmpUtilOidAppend(AsnObjectIdentifier
*pOidDst
, AsnObjectIdentifier
*pOidSrc
)
382 //SnmpUtilMemReAlloc(pOidDst, sizeof(AsnObjectIdentifier));
383 //SetLastError(SNMP_BERAPI_OVERFLOW);
384 SetLastError(SNMP_MEM_ALLOC_ERROR
);
394 SnmpUtilOidCmp(AsnObjectIdentifier
*pOid1
, AsnObjectIdentifier
*pOid2
)
406 SnmpUtilOidCpy(AsnObjectIdentifier
*pOidDst
, AsnObjectIdentifier
*pOidSrc
)
418 SnmpUtilOidFree(AsnObjectIdentifier
*pOid
)
429 SnmpUtilOidNCmp(AsnObjectIdentifier
*pOid1
, AsnObjectIdentifier
*pOid2
, UINT nSubIds
)
441 SnmpUtilOidToA(AsnObjectIdentifier
*Oid
)
453 SnmpUtilPrintAsnAny(AsnAny
*pAny
)
464 SnmpUtilPrintOid(AsnObjectIdentifier
*Oid
)
475 SnmpUtilUTF8ToUnicode(void* unknown
, void* unknown2
)
486 SnmpUtilUnicodeToAnsi(void* unknown
, void* unknown2
)
497 SnmpUtilUnicodeToUTF8(void* unknown
, void* unknown2
)
508 SnmpUtilVarBindCpy(SnmpVarBind
*pVbDst
, SnmpVarBind
*pVbSrc
)
520 SnmpUtilVarBindFree(SnmpVarBind
*pVb
)
531 SnmpUtilVarBindListCpy(SnmpVarBindList
*pVblDst
, SnmpVarBindList
*pVblSrc
)
543 SnmpUtilVarBindListFree(SnmpVarBindList
*pVbl
)