37#define SNMPAPI_GET_PROC(func) \
38 p ## func = (void*)GetProcAddress(hSnmpapi, #func); \
40 trace("GetProcAddress(%s) failed\n", #func);
49#undef SNMPAPI_GET_PROC
55 static UINT ids1[] = { 1,3,6,1,4,1,311 };
56 static UINT ids2[] = {
57 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
58 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
59 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
60 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
61 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
62 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
63 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
64 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
65 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 };
66 static UINT ids3[] = { 0xffffffff };
73 static const char expect0[] =
"<null oid>";
74 static const char expect0_alt[] =
"NUL";
75 static const char expect1[] =
"1.3.6.1.4.1.311";
77 "1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1."
78 "1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1."
79 "1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1."
80 "1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1."
81 "1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1."
82 "1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1."
83 "1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1."
84 "1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1";
85 static const char expect3[] =
86 "1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1."
87 "1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1."
88 "1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1."
89 "1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1."
90 "1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1."
91 "1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1."
92 "1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1."
93 "1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1";
94 static const char expect3_alt[] =
95 "1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1."
96 "1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1."
97 "1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1."
98 "1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1."
99 "1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1."
100 "1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1."
101 "1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1."
102 "1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1.1";
103 static const char expect4[] =
"-1";
109 ok(
ret !=
NULL,
"SnmpUtilOidToA failed\n");
110 ok(!
strcmp(
ret, expect0),
"SnmpUtilOidToA failed got\n%s\n expected\n%s\n",
115 ok(
ret !=
NULL,
"SnmpUtilOidToA failed\n");
118 "SnmpUtilOidToA failed got\n%s\n expected\n%s\n",
122 ok(
ret !=
NULL,
"SnmpUtilOidToA failed\n");
123 ok(!
strcmp(
ret, expect1),
"SnmpUtilOidToA failed got\n%s\n expected\n%s\n",
127 ok(
ret !=
NULL,
"SnmpUtilOidToA failed\n");
132 ok(
ret !=
NULL,
"SnmpUtilOidToA failed\n");
133 ok(!
strcmp(
ret, expect3),
"SnmpUtilOidToA failed got\n%s\n expected\n%s\n",
137 ok(
ret !=
NULL,
"SnmpUtilOidToA failed\n");
140 "SnmpUtilOidToA failed got\n%s\n expected\n%s\n",
144 ok(
ret !=
NULL,
"SnmpUtilOidToA failed\n");
145 ok(!
strcmp(
ret, expect4),
"SnmpUtilOidToA failed got\n%s\n expected\n%s\n",
156 ok(!
ret,
"SnmpUtilAsnAnyCpy succeeded\n");
159 ok(!
ret,
"SnmpUtilAsnAnyCpy succeeded\n");
162 ok(!
ret,
"SnmpUtilAsnAnyCpy succeeded\n");
166 ok(
ret,
"SnmpUtilAsnAnyCpy failed\n");
170 pSnmpUtilAsnAnyFree(
NULL);
172 pSnmpUtilAsnAnyFree(&
dst);
174 ok(
dst.asnValue.number == 1,
"SnmpUtilAsnAnyFree failed\n");
180 static BYTE stream[] = {
'1',
'2',
'3',
'4' };
184 ok(!
ret,
"SnmpUtilOctetsCpy succeeded\n");
188 ok(
ret,
"SnmpUtilOctetsCpy failed\n");
189 ok(
dst.length == 0,
"SnmpUtilOctetsCpy failed\n");
190 ok(
dst.stream ==
NULL,
"SnmpUtilOctetsCpy failed\n");
191 ok(
dst.dynamic ==
FALSE,
"SnmpUtilOctetsCpy failed\n");
194 ok(!
ret,
"SnmpUtilOctetsCpy succeeded\n");
198 ok(
ret,
"SnmpUtilOctetsCpy failed\n");
199 ok(
src.length ==
dst.length,
"SnmpUtilOctetsCpy failed\n");
201 ok(
dst.dynamic ==
TRUE,
"SnmpUtilOctetsCpy failed\n");
203 pSnmpUtilOctetsFree(
NULL);
204 pSnmpUtilOctetsFree(&
dst);
205 ok(
dst.stream ==
NULL,
"SnmpUtilOctetsFree failed\n");
206 ok(
dst.length == 0,
"SnmpUtilOctetsFree failed\n");
207 ok(
dst.dynamic ==
FALSE,
"SnmpUtilOctetsFree failed\n");
213 static UINT ids[] = { 1, 3, 6, 1, 4, 1, 311 };
220 ok(!
ret,
"SnmpUtilOidCpy succeeded\n");
224 ok(
ret,
"SnmpUtilOidCpy failed\n");
225 ok(
dst.idLength == 0,
"SnmpUtilOidCpy failed\n");
226 ok(
dst.ids ==
NULL,
"SnmpUtilOidCpy failed\n");
229 ok(!
ret,
"SnmpUtilOidCpy succeeded\n");
234 ok(
ret,
"SnmpUtilOidCpy failed\n");
235 ok(
src.idLength ==
dst.idLength,
"SnmpUtilOidCpy failed\n");
243 ok(!
ret,
"SnmpUtilOidCpy succeeded\n");
247 ok(
ret,
"SnmpUtilOidCpy failed\n");
248 ok(
dst.idLength == 0,
"SnmpUtilOidCpy failed\n");
249 ok(
dst.ids ==
NULL,
"SnmpUtilOidCpy failed\n");
252 ok(!
ret,
"SnmpUtilOidCpy succeeded\n");
257 ok(
ret,
"SnmpUtilOidCpy failed\n");
258 ok(
src.idLength ==
dst.idLength,
"SnmpUtilOidCpy failed\n");
267 ok(
dst.idLength == 0,
"SnmpUtilOidFree failed\n");
268 ok(
dst.ids ==
NULL,
"SnmpUtilOidFree failed\n");
274 static BYTE stream1[] = {
'1',
'2',
'3',
'4' };
275 static BYTE stream2[] = {
'5',
'6',
'7',
'8' };
280 ok(!
ret,
"SnmpUtilOctetsNCmp succeeded\n");
283 ok(!
ret,
"SnmpUtilOctetsNCmp succeeded\n");
285 ret = pSnmpUtilOctetsNCmp(&octets1,
NULL, 0);
286 ok(!
ret,
"SnmpUtilOctetsNCmp succeeded\n");
288 ret = pSnmpUtilOctetsNCmp(&octets1,
NULL, 1);
289 ok(!
ret,
"SnmpUtilOctetsNCmp succeeded\n");
291 ret = pSnmpUtilOctetsNCmp(
NULL, &octets2, 0);
292 ok(!
ret,
"SnmpUtilOctetsNCmp succeeded\n");
294 ret = pSnmpUtilOctetsNCmp(
NULL, &octets2, 1);
295 ok(!
ret,
"SnmpUtilOctetsNCmp succeeded\n");
297 ret = pSnmpUtilOctetsNCmp(&octets1, &octets1, 0);
298 ok(!
ret,
"SnmpUtilOctetsNCmp failed\n");
300 ret = pSnmpUtilOctetsNCmp(&octets1, &octets1, 4);
301 ok(!
ret,
"SnmpUtilOctetsNCmp failed\n");
303 ret = pSnmpUtilOctetsNCmp(&octets1, &octets2, 4);
304 ok(
ret == -4,
"SnmpUtilOctetsNCmp failed\n");
306 ret = pSnmpUtilOctetsNCmp(&octets2, &octets1, 4);
307 ok(
ret == 4,
"SnmpUtilOctetsNCmp failed\n");
313 static BYTE stream1[] = {
'1',
'2',
'3' };
314 static BYTE stream2[] = {
'1',
'2',
'3',
'4' };
320 ok(!
ret,
"SnmpUtilOctetsCmp succeeded\n");
322 ret = pSnmpUtilOctetsCmp(&octets1,
NULL);
323 ok(!
ret,
"SnmpUtilOctetsCmp succeeded\n");
325 ret = pSnmpUtilOctetsCmp(
NULL, &octets2);
326 ok(!
ret,
"SnmpUtilOctetsCmp succeeded\n");
329 ret = pSnmpUtilOctetsCmp(&octets2, &octets1);
330 ok(
ret == 1,
"SnmpUtilOctetsCmp failed\n");
332 ret = pSnmpUtilOctetsCmp(&octets1, &octets2);
333 ok(
ret < 0,
"SnmpUtilOctetsCmp failed\n");
339 static UINT ids1[] = { 1, 2, 3, 4 };
340 static UINT ids2[] = { 5, 6, 7, 8 };
348 ok(!
ret,
"SnmpUtilOidNCmp succeeded\n");
351 ok(!
ret,
"SnmpUtilOidNCmp succeeded\n");
354 ok(!
ret,
"SnmpUtilOidNCmp succeeded\n");
357 ok(!
ret,
"SnmpUtilOidNCmp succeeded\n");
360 ok(!
ret,
"SnmpUtilOidNCmp succeeded\n");
363 ok(!
ret,
"SnmpUtilOidNCmp succeeded\n");
367 ok(!
ret,
"SnmpUtilOidNCmp failed\n");
370 ok(!
ret,
"SnmpUtilOidNCmp failed\n");
373 ok(
ret < 0,
"SnmpUtilOidNCmp failed: %d\n",
ret);
376 ok(
ret > 0,
"SnmpUtilOidNCmp failed: %d\n",
ret);
381 ok(!
ret,
"SnmpUtilOidNCmp failed: %d\n",
ret);
383 ok(
ret > 0,
"SnmpUtilOidNCmp failed: %d\n",
ret);
385 ok(
ret < 0,
"SnmpUtilOidNCmp failed: %d\n",
ret);
388 ok(!
ret,
"SnmpUtilOidNCmp failed: %d\n",
ret);
390 ok(!
ret,
"SnmpUtilOidNCmp failed: %d\n",
ret);
396 static UINT ids1[] = { 1, 2, 3 };
397 static UINT ids2[] = { 1, 2, 3, 4 };
403 ok(!
ret,
"SnmpUtilOidCmp succeeded\n");
406 ok(!
ret,
"SnmpUtilOidCmp succeeded\n");
409 ok(!
ret,
"SnmpUtilOidCmp succeeded\n");
413 ok(
ret > 0,
"SnmpUtilOidCmp failed\n");
416 ok(
ret < 0,
"SnmpUtilOidCmp failed\n");
423 static UINT ids2[] = { 4, 5, 6 };
439 ok(!
ret,
"SnmpUtilOidAppend succeeded\n");
442 ok(
ret,
"SnmpUtilOidAppend failed\n");
445 ok(!
ret,
"SnmpUtilOidAppend succeeded\n");
449 ok(
ret,
"SnmpUtilOidAppend failed\n");
450 ok(
oid1.idLength == 6,
"SnmpUtilOidAppend failed\n");
452 "SnmpUtilOidAppend failed\n");
460 static UINT ids[] = { 1, 3, 6, 1, 4, 1, 311 };
467 ok(!
ret,
"SnmpUtilVarBindCpy succeeded\n");
471 ok(
ret,
"SnmpUtilVarBindCpy failed\n");
472 ok(
dst.name.idLength == 0,
"SnmpUtilVarBindCpy failed\n");
473 ok(
dst.name.ids ==
NULL,
"SnmpUtilVarBindCpy failed\n");
474 ok(
dst.value.asnType ==
ASN_NULL,
"SnmpUtilVarBindCpy failed\n");
475 ok(
dst.value.asnValue.number == 0,
"SnmpUtilVarBindCpy failed\n");
478 ok(!
ret,
"SnmpUtilVarBindCpy succeeded\n");
483 ok(
ret,
"SnmpUtilVarBindCpy failed\n");
484 ok(
src.name.idLength ==
dst.name.idLength,
"SnmpUtilVarBindCpy failed\n");
486 "SnmpUtilVarBindCpy failed\n");
488 "SnmpUtilVarBindCpy failed\n");
496 ok(
dst.name.idLength == 0,
"SnmpUtilVarBindFree failed\n");
497 ok(
dst.name.ids ==
NULL,
"SnmpUtilVarBindFree failed\n");
498 ok(
dst.value.asnType ==
ASN_NULL,
"SnmpUtilVarBindFree failed\n");
499 ok(
dst.value.asnValue.number == 1,
"SnmpUtilVarBindFree failed\n");
505 static UINT ids[] = { 1, 3, 6, 1, 4, 1, 311 };
511 ok(!
ret,
"SnmpUtilVarBindCpy succeeded\n");
514 ok(!
ret,
"SnmpUtilVarBindListCpy succeeded\n");
522 ok(
ret,
"SnmpUtilVarBindListCpy failed\n");
523 ok(dst_list.
list ==
NULL,
"SnmpUtilVarBindListCpy failed\n");
524 ok(dst_list.
len == 0,
"SnmpUtilVarBindListCpy failed\n");
528 ok(
ret,
"SnmpUtilVarBindListCpy failed\n");
529 ok(src_list.
len == dst_list.
len,
"SnmpUtilVarBindListCpy failed\n");
531 "SnmpUtilVarBindListCpy failed\n");
534 "SnmpUtilVarBindListCpy failed\n");
536 "SnmpUtilVarBindListCpy failed\n");
542 ok(dst_list.
list ==
NULL,
"SnmpUtilVarBindListFree failed\n");
543 ok(dst_list.
len == 0,
"SnmpUtilVarBindListFree failed\n");
552 if (!pSnmpUtilAsnAnyCpy || !pSnmpUtilAsnAnyFree)
553 win_skip(
"SnmpUtilAsnAnyCpy and/or SnmpUtilAsnAnyFree not available\n");
557 if (!pSnmpUtilOctetsCpy || !pSnmpUtilOctetsFree)
558 win_skip(
"SnmpUtilOctetsCpy and/or SnmpUtilOctetsFree not available\n");
564 if (!pSnmpUtilOctetsNCmp)
565 win_skip(
"SnmpUtilOctetsNCmp not available\n");
569 if (!pSnmpUtilOctetsCmp)
570 win_skip(
"SnmpUtilOctetsCmp not available\n");
int strcmp(const char *String1, const char *String2)
int memcmp(void *Buffer1, void *Buffer2, ACPI_SIZE Count)
HMODULE WINAPI DECLSPEC_HOTPATCH GetModuleHandleA(LPCSTR lpModuleName)
INT WINAPI SnmpUtilVarBindCpy(SnmpVarBind *dst, SnmpVarBind *src)
VOID WINAPI SnmpUtilOctetsFree(AsnOctetString *octets)
INT WINAPI SnmpUtilOidAppend(AsnObjectIdentifier *dst, AsnObjectIdentifier *src)
INT WINAPI SnmpUtilVarBindListCpy(SnmpVarBindList *dst, SnmpVarBindList *src)
INT WINAPI SnmpUtilOctetsCpy(AsnOctetString *dst, AsnOctetString *src)
INT WINAPI SnmpUtilOctetsCmp(AsnOctetString *octets1, AsnOctetString *octets2)
INT WINAPI SnmpUtilOctetsNCmp(AsnOctetString *octets1, AsnOctetString *octets2, UINT count)
INT WINAPI SnmpUtilOidCmp(AsnObjectIdentifier *oid1, AsnObjectIdentifier *oid2)
VOID WINAPI SnmpUtilAsnAnyFree(AsnAny *any)
LPVOID WINAPI SnmpUtilMemAlloc(UINT nbytes)
VOID WINAPI SnmpUtilVarBindListFree(SnmpVarBindList *vb)
INT WINAPI SnmpUtilOidNCmp(AsnObjectIdentifier *oid1, AsnObjectIdentifier *oid2, UINT count)
INT WINAPI SnmpUtilAsnAnyCpy(AsnAny *dst, AsnAny *src)
VOID WINAPI SnmpUtilOidFree(AsnObjectIdentifier *oid)
INT WINAPI SnmpUtilOidCpy(AsnObjectIdentifier *dst, AsnObjectIdentifier *src)
VOID WINAPI SnmpUtilVarBindFree(SnmpVarBind *vb)
LPSTR WINAPI SnmpUtilOidToA(AsnObjectIdentifier *oid)
#define memcpy(s1, s2, n)
#define expect2(expected1, expected2, got1, got2)
static void test_SnmpUtilVarBindCpyFree(void)
static void test_SnmpUtilOidCmp(void)
static void test_SnmpUtilOidNCmp(void)
static void test_SnmpUtilOctetsNCmp(void)
static void test_SnmpUtilOidAppend(void)
#define SNMPAPI_GET_PROC(func)
static void test_SnmpUtilOidToA(void)
static void test_SnmpUtilAsnAnyCpyFree(void)
static void test_SnmpUtilOctetsCmp(void)
static void test_SnmpUtilOctetsCpyFree(void)
static void test_SnmpUtilVarBindListCpyFree(void)
static void InitFunctionPtrs(void)
static void test_SnmpUtilOidCpyFree(void)