Changeset 2871 for trunk/kLdr/testcase/tst-0-driver.c
- Timestamp:
- Nov 12, 2006, 7:16:41 AM (19 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/kLdr/testcase/tst-0-driver.c
r2870 r2871 397 397 398 398 /* 399 * Now do what tst-0 would do .399 * Now do what tst-0 would do; load the three dlls, resolve and call their functions. 400 400 */ 401 401 if (!g_cErrors) 402 402 { 403 403 HKLDRMOD hModA; 404 int (*pfnFuncA)(void); 405 HKLDRMOD hModB; 406 int (*pfnFuncB)(void); 407 HKLDRMOD hModC; 408 int (*pfnFuncC)(void); 409 uintptr_t uValue; 410 411 rc = kLdrDyldLoad("tst-0-a", NULL, NULL, KLDRDYLD_SEARCH_HOST, 0, &hModA, NULL, 0); 412 if (rc) 413 Failure("kLdrDyldLoad(\"tst-0-a\",,,,) -> %d (%#x)\n", rc, rc); 414 if (!rc) 415 { 416 rc = kLdrDyldLoad("tst-0-b", NULL, NULL, KLDRDYLD_SEARCH_HOST, 0, &hModB, szErr, sizeof(szErr)); 417 if (rc) 418 Failure("kLdrDyldLoad(\"tst-0-b\",,,,) -> %d (%#x) szErr='%s'\n", rc, rc, szErr); 419 } 420 if (!rc) 421 { 422 rc = kLdrDyldLoad("tst-0-c", NULL, NULL, KLDRDYLD_SEARCH_HOST, 0, &hModC, szErr, sizeof(szErr)); 423 if (rc) 424 Failure("kLdrDyldLoad(\"tst-0-c\",,,,) -> %d (%#x) szErr='%s'\n", rc, rc, szErr); 425 } 426 if (!rc) 427 { 428 rc = kLdrDyldQuerySymbol(hModA, NIL_KLDRMOD_SYM_ORDINAL, MY_NAME("FuncA"), &uValue, NULL); 429 if (!rc) 430 pfnFuncA = (int (*)(void))uValue; 431 else 432 Failure("kLdrDyldQuerySymbol(,,\"FuncA\",,) -> %d (%#x)\n", rc, rc); 433 } 434 if (!rc) 435 { 436 rc = kLdrDyldQuerySymbol(hModB, NIL_KLDRMOD_SYM_ORDINAL, MY_NAME("FuncB"), &uValue, NULL); 437 if (!rc) 438 pfnFuncB = (int (*)(void))uValue; 439 else 440 Failure("kLdrDyldQuerySymbol(,,\"FuncB\",,) -> %d (%#x)\n", rc, rc); 441 } 442 if (!rc) 443 { 444 rc = kLdrDyldQuerySymbol(hModC, NIL_KLDRMOD_SYM_ORDINAL, MY_NAME("FuncC"), &uValue, NULL); 445 if (!rc) 446 pfnFuncC = (int (*)(void))uValue; 447 else 448 Failure("kLdrDyldQuerySymbol(,,\"FuncA\",,) -> %d (%#x)\n", rc, rc); 449 } 450 if (!rc) 451 { 452 rc = pfnFuncA() | pfnFuncB() | pfnFuncC(); 453 if (rc == 0x42424242) 454 printf("tst-0-driver: FuncA/B/C => %#x (correct)\n", rc); 455 else 456 Failure("FuncA/B/C => %#x\n", rc); 457 } 404 458 } 405 459 … … 408 462 */ 409 463 if (!g_cErrors) 410 printf("tst-0 : SUCCESS\n");464 printf("tst-0-driver: SUCCESS\n"); 411 465 else 412 printf("tst-0 : FAILURE - %d errors\n", g_cErrors);466 printf("tst-0-driver: FAILURE - %d errors\n", g_cErrors); 413 467 return !!g_cErrors; 414 468 }
Note:
See TracChangeset
for help on using the changeset viewer.