Changeset 2899 for trunk/kLdr/tstkLdrMod.c
- Timestamp:
- Dec 24, 2006, 4:20:40 AM (19 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/kLdr/tstkLdrMod.c
r2890 r2899 70 70 71 71 /** Dummy import resolver callback. */ 72 static int BasicTestsGetImport(PKLDRMOD pMod, uint32_t iImport, uint32_t iSymbol, const char *p szSymbol,73 PKLDRADDR puValue, uint32_t *pfKind, void *pvUser)72 static int BasicTestsGetImport(PKLDRMOD pMod, uint32_t iImport, uint32_t iSymbol, const char *pchSymbol, size_t cchSymbol, 73 const char *pszVersion, PKLDRADDR puValue, uint32_t *pfKind, void *pvUser) 74 74 { 75 75 *puValue = 0xdeadface; … … 197 197 * Dump symbols and check that we can query each of them recursivly. 198 198 */ 199 static int BasicTestsEnumSymCallback(PKLDRMOD pMod, uint32_t iSymbol, const char *p szSymbol,200 KLDRADDR uValue, uint32_t fKind, void *pvUser)199 static int BasicTestsEnumSymCallback(PKLDRMOD pMod, uint32_t iSymbol, const char *pchSymbol, size_t cchSymbol, 200 const char *pszVersion, KLDRADDR uValue, uint32_t fKind, void *pvUser) 201 201 { 202 202 KLDRADDR uValue2; … … 206 206 /* dump */ 207 207 printf("#0x%08x: %016" PRI_KLDRADDR " %#08x", iSymbol, uValue, fKind); 208 if (p szSymbol)209 printf(" % s", pszSymbol);208 if (pchSymbol) 209 printf(" %.*s", cchSymbol, pchSymbol); 210 210 printf("\n"); 211 211 … … 213 213 if (iSymbol != NIL_KLDRMOD_SYM_ORDINAL) 214 214 { 215 rc = kLdrModQuerySymbol(pMod, pvUser, MY_BASEADDRESS, iSymbol, NULL, NULL, NULL,215 rc = kLdrModQuerySymbol(pMod, pvUser, MY_BASEADDRESS, iSymbol, NULL, 0, NULL, NULL, NULL, 216 216 &uValue2, &fKind2); 217 217 if (rc) 218 return Failure("Couldn't find symbol %#x (% s) by ordinal. rc=%d", iSymbol, pszSymbol, rc);218 return Failure("Couldn't find symbol %#x (%.*s) by ordinal. rc=%d", iSymbol, cchSymbol, pchSymbol, rc); 219 219 if (uValue != uValue2) 220 return Failure("Symbol %#x (% s): Value mismatch %016" PRI_KLDRADDR " != %016" PRI_KLDRADDR " (enum!=query/ord) pvBits=%p",221 iSymbol, pszSymbol, uValue, uValue2, pvUser);220 return Failure("Symbol %#x (%.*s): Value mismatch %016" PRI_KLDRADDR " != %016" PRI_KLDRADDR " (enum!=query/ord) pvBits=%p", 221 iSymbol, cchSymbol, pchSymbol, uValue, uValue2, pvUser); 222 222 if (fKind != fKind2) 223 return Failure("Symbol %#x (% s): Kind mismatch %#x != %#x (enum!=query/ord) pvBits=%p",224 iSymbol, pszSymbol, fKind, fKind2, pvUser);223 return Failure("Symbol %#x (%.*s): Kind mismatch %#x != %#x (enum!=query/ord) pvBits=%p", 224 iSymbol, cchSymbol, pchSymbol, fKind, fKind2, pvUser); 225 225 } 226 226 227 227 /* query by name. */ 228 if (p szSymbol)229 { 230 rc = kLdrModQuerySymbol(pMod, pvUser, MY_BASEADDRESS, NIL_KLDRMOD_SYM_ORDINAL, p szSymbol, NULL, NULL,231 &uValue2, &fKind2);228 if (pchSymbol) 229 { 230 rc = kLdrModQuerySymbol(pMod, pvUser, MY_BASEADDRESS, NIL_KLDRMOD_SYM_ORDINAL, pchSymbol, cchSymbol, pszVersion, 231 NULL, NULL, &uValue2, &fKind2); 232 232 if (rc) 233 return Failure("Couldn't find symbol %#x (% s) by name. rc=%d", iSymbol, pszSymbol, rc);233 return Failure("Couldn't find symbol %#x (%.*s) by name. rc=%d", iSymbol, cchSymbol, pchSymbol, rc); 234 234 if (uValue != uValue2) 235 return Failure("Symbol %#x (% s): Value mismatch %016" PRI_KLDRADDR " != %016" PRI_KLDRADDR " (enum!=query/name) pvBits=%p",236 iSymbol, pszSymbol, uValue, uValue2, pvUser);235 return Failure("Symbol %#x (%.*s): Value mismatch %016" PRI_KLDRADDR " != %016" PRI_KLDRADDR " (enum!=query/name) pvBits=%p", 236 iSymbol, cchSymbol, pchSymbol, uValue, uValue2, pvUser); 237 237 if (fKind != fKind2) 238 return Failure("Symbol %#x (% s): Kind mismatch %#x != %#x (enum!=query/name) pvBits=%p",239 iSymbol, pszSymbol, fKind, fKind2, pvUser);238 return Failure("Symbol %#x (%.*s): Kind mismatch %#x != %#x (enum!=query/name) pvBits=%p", 239 iSymbol, cchSymbol, pchSymbol, fKind, fKind2, pvUser); 240 240 } 241 241 … … 353 353 fKind = 0xdeadf00d; 354 354 Value = 0x0badc0de; 355 rc = kLdrModQuerySymbol(pMod, pvBits, MY_BASEADDRESS, NIL_KLDRMOD_SYM_ORDINAL - 20, NULL, NULL,NULL,355 rc = kLdrModQuerySymbol(pMod, pvBits, MY_BASEADDRESS, NIL_KLDRMOD_SYM_ORDINAL - 20, NULL, 0, NULL, NULL, NULL, 356 356 &Value, &fKind); 357 357 if (rc) … … 365 365 fKind = 0xdeadf00d; 366 366 Value = 0x0badc0de; 367 rc = kLdrModQuerySymbol(pMod, pvBits, MY_BASEADDRESS, NIL_KLDRMOD_SYM_ORDINAL, NULL, NULL,NULL,367 rc = kLdrModQuerySymbol(pMod, pvBits, MY_BASEADDRESS, NIL_KLDRMOD_SYM_ORDINAL, NULL, 0, NULL, NULL, NULL, 368 368 &Value, &fKind); 369 369 if (!rc) … … 404 404 * Check/dump the module structure. 405 405 */ 406 printf("pMod=%p u32Magic=%#x cSegments=%d\n", pMod, pMod->u32Magic, pMod->cSegments);406 printf("pMod=%p u32Magic=%#x cSegments=%d\n", (void *)pMod, pMod->u32Magic, pMod->cSegments); 407 407 printf("enmType=%d enmFmt=%d enmArch=%d enmCpu=%d enmEndian=%d\n", 408 408 pMod->enmType, pMod->enmFmt, pMod->enmArch, pMod->enmCpu, pMod->enmEndian); … … 436 436 pMod->aSegments[i].LinkAddress, pMod->aSegments[i].cb, pMod->aSegments[i].Alignment); 437 437 printf(" RVA: %016" PRI_KLDRADDR " cbMapped: %016" PRI_KLDRSIZE " MapAddress=%p\n", 438 pMod->aSegments[i].RVA, (KLDRSIZE)pMod->aSegments[i].cbMapped, pMod->aSegments[i].MapAddress);438 pMod->aSegments[i].RVA, (KLDRSIZE)pMod->aSegments[i].cbMapped, (void *)pMod->aSegments[i].MapAddress); 439 439 printf(" offFile: %016" PRI_KLDRADDR " cbFile: %016" PRI_KLDRSIZE "\n", 440 440 (KLDRADDR)pMod->aSegments[i].offFile, (KLDRSIZE)pMod->aSegments[i].cbFile);
Note:
See TracChangeset
for help on using the changeset viewer.