Ignore:
Timestamp:
Dec 24, 2006, 4:20:40 AM (19 years ago)
Author:
bird
Message:

Made it build (version + name length).

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/kLdr/tstkLdrMod.c

    r2890 r2899  
    7070
    7171/** Dummy import resolver callback. */
    72 static int BasicTestsGetImport(PKLDRMOD pMod, uint32_t iImport, uint32_t iSymbol, const char *pszSymbol,
    73                                PKLDRADDR puValue, uint32_t *pfKind, void *pvUser)
     72static 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)
    7474{
    7575    *puValue = 0xdeadface;
     
    197197 * Dump symbols and check that we can query each of them recursivly.
    198198 */
    199 static int BasicTestsEnumSymCallback(PKLDRMOD pMod, uint32_t iSymbol, const char *pszSymbol,
    200                                      KLDRADDR uValue, uint32_t fKind, void *pvUser)
     199static int BasicTestsEnumSymCallback(PKLDRMOD pMod, uint32_t iSymbol, const char *pchSymbol, size_t cchSymbol,
     200                                     const char *pszVersion, KLDRADDR uValue, uint32_t fKind, void *pvUser)
    201201{
    202202    KLDRADDR    uValue2;
     
    206206    /* dump */
    207207    printf("#0x%08x: %016" PRI_KLDRADDR " %#08x", iSymbol, uValue, fKind);
    208     if (pszSymbol)
    209         printf(" %s", pszSymbol);
     208    if (pchSymbol)
     209        printf(" %.*s", cchSymbol, pchSymbol);
    210210    printf("\n");
    211211
     
    213213    if (iSymbol != NIL_KLDRMOD_SYM_ORDINAL)
    214214    {
    215         rc = kLdrModQuerySymbol(pMod, pvUser, MY_BASEADDRESS, iSymbol, NULL, NULL, NULL,
     215        rc = kLdrModQuerySymbol(pMod, pvUser, MY_BASEADDRESS, iSymbol, NULL, 0, NULL, NULL, NULL,
    216216                                &uValue2, &fKind2);
    217217        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);
    219219        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);
    222222        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);
    225225    }
    226226
    227227    /* query by name. */
    228     if (pszSymbol)
    229     {
    230         rc = kLdrModQuerySymbol(pMod, pvUser, MY_BASEADDRESS, NIL_KLDRMOD_SYM_ORDINAL, pszSymbol, 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);
    232232        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);
    234234        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);
    237237        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);
    240240    }
    241241
     
    353353    fKind = 0xdeadf00d;
    354354    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,
    356356                            &Value, &fKind);
    357357    if (rc)
     
    365365    fKind = 0xdeadf00d;
    366366    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,
    368368                            &Value, &fKind);
    369369    if (!rc)
     
    404404     * Check/dump the module structure.
    405405     */
    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);
    407407    printf("enmType=%d enmFmt=%d enmArch=%d enmCpu=%d enmEndian=%d\n",
    408408           pMod->enmType, pMod->enmFmt, pMod->enmArch, pMod->enmCpu, pMod->enmEndian);
     
    436436               pMod->aSegments[i].LinkAddress, pMod->aSegments[i].cb, pMod->aSegments[i].Alignment);
    437437        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);
    439439        printf("    offFile: %016" PRI_KLDRADDR "   cbFile: %016" PRI_KLDRSIZE "\n",
    440440               (KLDRADDR)pMod->aSegments[i].offFile, (KLDRSIZE)pMod->aSegments[i].cbFile);
Note: See TracChangeset for help on using the changeset viewer.