update for HEAD-2003091401
[reactos.git] / lib / snmpapi / snmpapi.c
1 /*
2  * COPYRIGHT:   See COPYING in the top level directory
3  * PROJECT:     ReactOS Sockets 2 Simple Network Management Protocol API DLL
4  * FILE:        snmpapi.c
5  * PURPOSE:     DLL entry
6  * PROGRAMMERS: Robert Dickenson (robd@reactos.org)
7  * REVISIONS:
8  *   RDD August 18, 2002 Created
9  */
10 //#include "snmpapi.h"
11
12
13 #ifdef __GNUC__
14 #include <wsahelp.h>
15 #else
16 #include <winsock2.h>
17 #endif
18 #include <windows.h>
19
20 #ifdef __GNUC__
21 #define SNMP_FUNC_TYPE STDCALL
22 #endif
23 #include <snmp.h>
24 #include "debug.h"
25
26
27 #ifdef __GNUC__
28 #define EXPORT STDCALL
29 #else
30 #define EXPORT CALLBACK
31 #endif
32
33
34 #ifdef DBG
35
36 /* See debug.h for debug/trace constants */
37 DWORD DebugTraceLevel = MAX_TRACE;
38
39 #endif /* DBG */
40
41
42 DWORD dwUptimeStartTicks;
43
44
45 /* To make the linker happy */
46 //VOID STDCALL KeBugCheck (ULONG        BugCheckCode) {}
47
48
49 BOOL
50 EXPORT
51 DllMain(HANDLE hInstDll,
52         ULONG dwReason,
53         PVOID Reserved)
54 {
55     WSH_DbgPrint(MIN_TRACE, ("DllMain of snmpapi.dll\n"));
56
57     switch (dwReason) {
58     case DLL_PROCESS_ATTACH:
59         /* Don't need thread attach notifications
60            so disable them to improve performance */
61         DisableThreadLibraryCalls(hInstDll);
62         break;
63
64     case DLL_THREAD_ATTACH:
65         break;
66
67     case DLL_THREAD_DETACH:
68         break;
69
70     case DLL_PROCESS_DETACH:
71         break;
72     }
73     return TRUE;
74 }
75
76 ////////////////////////////////////////////////////////////////////////////////
77 /*
78 ? SnmpSvcAddrIsIpx
79 ? SnmpSvcAddrToSocket
80 ? SnmpSvcGetEnterpriseOID
81 ? SnmpTfxClose
82 ? SnmpTfxOpen
83 ? SnmpTfxQuery
84 ? SnmpUtilAnsiToUnicode
85 ? SnmpUtilUTF8ToUnicode
86 ? SnmpUtilUnicodeToAnsi
87 ? SnmpUtilUnicodeToUTF8
88  */
89 ////////////////////////////////////////////////////////////////////////////////
90
91 /*
92  * @unimplemented
93  */
94 VOID
95 SNMP_FUNC_TYPE
96 SnmpSvcAddrIsIpx(void* unknown, void* unknown2)
97 {
98     UNIMPLEMENTED
99 }
100
101
102 /*
103  * @unimplemented
104  */
105 VOID
106 SNMP_FUNC_TYPE
107 SnmpSvcAddrToSocket(void* unknown, void* unknown2)
108 {
109     UNIMPLEMENTED
110 }
111
112
113 /*
114  * @unimplemented
115  */
116 VOID
117 SNMP_FUNC_TYPE
118 SnmpSvcGetEnterpriseOID(void* unknown, void* unknown2)
119 {
120     UNIMPLEMENTED
121 }
122
123
124 /*
125  * @implemented
126  */
127 LPVOID
128 SNMP_FUNC_TYPE
129 SnmpUtilMemAlloc(UINT nBytes)
130 {
131         VOID* pMem = NULL;
132         pMem = GlobalAlloc(GPTR, nBytes);
133     return pMem;
134 }
135
136
137 /*
138  * @implemented
139  */
140 VOID
141 SNMP_FUNC_TYPE
142 SnmpUtilMemFree(LPVOID pMem)
143 {
144         GlobalFree(pMem);
145 }
146
147
148 /*
149  * @unimplemented
150  */
151 LPVOID
152 SNMP_FUNC_TYPE
153 SnmpUtilMemReAlloc(LPVOID pMem, UINT nBytes)
154 {
155         pMem = GlobalReAlloc(pMem, nBytes, GPTR);
156     return pMem;
157 }
158
159
160 /*
161  * @implemented
162  */
163 VOID
164 SNMP_FUNC_TYPE
165 SnmpSvcInitUptime()
166 {
167     dwUptimeStartTicks = GetTickCount();
168 }
169
170
171 /*
172  * @implemented
173  */
174 DWORD 
175 SNMP_FUNC_TYPE
176 SnmpSvcGetUptime()
177 {
178         DWORD dwUptime;
179         DWORD dwTickCount = GetTickCount();
180         dwUptime = dwTickCount - dwUptimeStartTicks;
181     return dwUptime;
182 }
183
184
185 /*
186  * @unimplemented
187  */
188 VOID
189 SNMP_FUNC_TYPE
190 SnmpSvcSetLogLevel(INT nLogLevel)
191 {
192     switch (nLogLevel) {
193     case SNMP_LOG_SILENT:
194         break;
195     case SNMP_LOG_FATAL:
196         break;
197     case SNMP_LOG_ERROR:
198         break;
199     case SNMP_LOG_WARNING:
200         break;
201     case SNMP_LOG_TRACE:
202         break;
203     case SNMP_LOG_VERBOSE:
204         break;
205     }
206     UNIMPLEMENTED
207 }
208
209
210 /*
211  * @unimplemented
212  */
213 VOID
214 SNMP_FUNC_TYPE
215 SnmpSvcSetLogType(INT nLogType)
216 {
217     switch (nLogType) {
218     case SNMP_OUTPUT_TO_CONSOLE:
219         break;
220     case SNMP_OUTPUT_TO_LOGFILE:
221         break;
222     case SNMP_OUTPUT_TO_DEBUGGER:
223         break;
224     }
225     UNIMPLEMENTED
226 }
227
228
229 /*
230  * @unimplemented
231  */
232 VOID
233 SNMP_FUNC_TYPE
234 SnmpTfxClose(void* unknown, void* unknown2)
235 {
236     UNIMPLEMENTED
237 }
238
239
240 /*
241  * @unimplemented
242  */
243 VOID
244 SNMP_FUNC_TYPE
245 SnmpTfxOpen(void* unknown, void* unknown2)
246 {
247     UNIMPLEMENTED
248 }
249
250
251 /*
252  * @unimplemented
253  */
254 VOID
255 SNMP_FUNC_TYPE
256 SnmpTfxQuery(void* unknown, void* unknown2)
257 {
258     UNIMPLEMENTED
259 }
260
261
262 /*
263  * @unimplemented
264  */
265 VOID
266 SNMP_FUNC_TYPE
267 SnmpUtilAnsiToUnicode(void* unknown, void* unknown2)
268 {
269     UNIMPLEMENTED
270 }
271
272
273 /*
274  * @unimplemented
275  */
276 SNMPAPI
277 SNMP_FUNC_TYPE
278 SnmpUtilAsnAnyCpy(AsnAny *pAnyDst, AsnAny *pAnySrc)
279 {
280     UNIMPLEMENTED
281     return 0;
282 }
283
284
285 /*
286  * @unimplemented
287  */
288 VOID
289 SNMP_FUNC_TYPE
290 SnmpUtilAsnAnyFree(AsnAny *pAny)
291 {
292     UNIMPLEMENTED
293 }
294
295
296 /*
297  * @unimplemented
298  */
299 VOID
300 SNMP_FUNC_TYPE
301 SnmpUtilDbgPrint(INT nLogLevel, LPSTR szFormat, ...)
302 {
303     switch (nLogLevel) {
304     case SNMP_LOG_SILENT:
305         break;
306     case SNMP_LOG_FATAL:
307         break;
308     case SNMP_LOG_ERROR:
309         break;
310     case SNMP_LOG_WARNING:
311         break;
312     case SNMP_LOG_TRACE:
313         break;
314     case SNMP_LOG_VERBOSE:
315         break;
316     }
317     UNIMPLEMENTED
318 }
319
320
321 /*
322  * @unimplemented
323  */
324 LPSTR
325 SNMP_FUNC_TYPE
326 SnmpUtilIdsToA(UINT *Ids, UINT IdLength)
327 {
328     UNIMPLEMENTED
329     return 0;
330 }
331
332
333 /*
334  * @unimplemented
335  */
336 SNMPAPI
337 SNMP_FUNC_TYPE
338 SnmpUtilOctetsCmp(AsnOctetString *pOctets1, AsnOctetString *pOctets2)
339 {
340     UNIMPLEMENTED
341     return 0;
342 }
343
344
345 /*
346  * @unimplemented
347  */
348 SNMPAPI
349 SNMP_FUNC_TYPE
350 SnmpUtilOctetsCpy(AsnOctetString *pOctetsDst, AsnOctetString *pOctetsSrc)
351 {
352     UNIMPLEMENTED
353     return 0;
354 }
355
356
357 /*
358  * @unimplemented
359  */
360 VOID
361 SNMP_FUNC_TYPE
362 SnmpUtilOctetsFree(AsnOctetString *pOctets)
363 {
364     UNIMPLEMENTED
365 }
366
367
368 /*
369  * @unimplemented
370  */
371 SNMPAPI
372 SNMP_FUNC_TYPE
373 SnmpUtilOctetsNCmp(AsnOctetString *pOctets1, AsnOctetString *pOctets2, UINT nChars)
374 {
375     UNIMPLEMENTED
376     return 0;
377 }
378
379
380 /*
381  * @unimplemented
382  */
383 SNMPAPI
384 SNMP_FUNC_TYPE
385 SnmpUtilOidAppend(AsnObjectIdentifier *pOidDst, AsnObjectIdentifier *pOidSrc)
386 {
387         //SnmpUtilMemReAlloc(pOidDst, sizeof(AsnObjectIdentifier));
388         //SetLastError(SNMP_BERAPI_OVERFLOW);
389         SetLastError(SNMP_MEM_ALLOC_ERROR);
390     return 0; // failed
391 }
392
393
394 /*
395  * @unimplemented
396  */
397 SNMPAPI
398 SNMP_FUNC_TYPE
399 SnmpUtilOidCmp(AsnObjectIdentifier *pOid1, AsnObjectIdentifier *pOid2)
400 {
401     UNIMPLEMENTED
402     return 0;
403 }
404
405
406 /*
407  * @unimplemented
408  */
409 SNMPAPI
410 SNMP_FUNC_TYPE
411 SnmpUtilOidCpy(AsnObjectIdentifier *pOidDst, AsnObjectIdentifier *pOidSrc)
412 {
413     UNIMPLEMENTED
414     return 0;
415 }
416
417
418 /*
419  * @unimplemented
420  */
421 VOID
422 SNMP_FUNC_TYPE
423 SnmpUtilOidFree(AsnObjectIdentifier *pOid)
424 {
425     UNIMPLEMENTED
426 }
427
428
429 /*
430  * @unimplemented
431  */
432 SNMPAPI
433 SNMP_FUNC_TYPE
434 SnmpUtilOidNCmp(AsnObjectIdentifier *pOid1, AsnObjectIdentifier *pOid2, UINT nSubIds)
435 {
436     UNIMPLEMENTED
437     return 0;
438 }
439
440
441 /*
442  * @unimplemented
443  */
444 LPSTR
445 SNMP_FUNC_TYPE
446 SnmpUtilOidToA(AsnObjectIdentifier *Oid)
447 {
448     UNIMPLEMENTED
449     return 0;
450 }
451
452
453 /*
454  * @unimplemented
455  */
456 VOID
457 SNMP_FUNC_TYPE
458 SnmpUtilPrintAsnAny(AsnAny *pAny)
459 {
460     UNIMPLEMENTED
461 }
462
463
464 /*
465  * @unimplemented
466  */
467 VOID
468 SNMP_FUNC_TYPE
469 SnmpUtilPrintOid(AsnObjectIdentifier *Oid)
470 {
471     UNIMPLEMENTED
472 }
473
474
475 /*
476  * @unimplemented
477  */
478 VOID
479 SNMP_FUNC_TYPE
480 SnmpUtilUTF8ToUnicode(void* unknown, void* unknown2)
481 {
482     UNIMPLEMENTED
483 }
484
485
486 /*
487  * @unimplemented
488  */
489 VOID
490 SNMP_FUNC_TYPE
491 SnmpUtilUnicodeToAnsi(void* unknown, void* unknown2)
492 {
493     UNIMPLEMENTED
494 }
495
496
497 /*
498  * @unimplemented
499  */
500 VOID
501 SNMP_FUNC_TYPE
502 SnmpUtilUnicodeToUTF8(void* unknown, void* unknown2)
503 {
504     UNIMPLEMENTED
505 }
506
507
508 /*
509  * @unimplemented
510  */
511 SNMPAPI
512 SNMP_FUNC_TYPE
513 SnmpUtilVarBindCpy(SnmpVarBind *pVbDst, SnmpVarBind *pVbSrc)
514 {
515     UNIMPLEMENTED
516     return 0;
517 }
518
519
520 /*
521  * @unimplemented
522  */
523 VOID
524 SNMP_FUNC_TYPE
525 SnmpUtilVarBindFree(SnmpVarBind *pVb)
526 {
527     UNIMPLEMENTED
528 }
529
530
531 /*
532  * @unimplemented
533  */
534 SNMPAPI
535 SNMP_FUNC_TYPE
536 SnmpUtilVarBindListCpy(SnmpVarBindList *pVblDst, SnmpVarBindList *pVblSrc)
537 {
538     UNIMPLEMENTED
539     return 0;
540 }
541
542
543 /*
544  * @unimplemented
545  */
546 VOID
547 SNMP_FUNC_TYPE
548 SnmpUtilVarBindListFree(SnmpVarBindList *pVbl)
549 {
550     UNIMPLEMENTED
551 }
552
553 /* EOF */
554