Ignore:
Timestamp:
Sep 2, 2007, 10:55:51 PM (18 years ago)
Author:
bird
Message:

kLdrRdr cleanup.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/kStuff/kLdr/kLdrModMachO.c

    r3573 r3578  
    159159                                    PFNKLDRMODGETIMPORT pfnGetImport, void *pvUser);
    160160
    161 static int  kldrModMachODoCreate(PKLDRRDR pRdr, PKLDRMODMACHO *ppMod);
    162 static int  kldrModMachOPreParseLoadCommands(KU8 *pbLoadCommands, const mach_header_32_t *pHdr, PKLDRRDR pRdr,
     161static int  kldrModMachODoCreate(PKRDR pRdr, PKLDRMODMACHO *ppMod);
     162static int  kldrModMachOPreParseLoadCommands(KU8 *pbLoadCommands, const mach_header_32_t *pHdr, PKRDR pRdr,
    163163                                             KU32 *pcSegments, KU32 *pcSections, KU32 *pcbStringPool);
    164164static int  kldrModMachOParseLoadCommands(PKLDRMODMACHO pModMachO, char *pbStringPool, KU32 cbStringPool);
     
    196196 * @param   ppMod           Where to store the module instance pointer.
    197197 */
    198 static int kldrModMachOCreate(PCKLDRMODOPS pOps, PKLDRRDR pRdr, KLDRFOFF offNewHdr, PPKLDRMOD ppMod)
     198static int kldrModMachOCreate(PCKLDRMODOPS pOps, PKRDR pRdr, KLDRFOFF offNewHdr, PPKLDRMOD ppMod)
    199199{
    200200    PKLDRMODMACHO pModMachO;
     
    225225 * simplify cleanup on failure.
    226226 */
    227 static int kldrModMachODoCreate(PKLDRRDR pRdr, PKLDRMODMACHO *ppModMachO)
     227static int kldrModMachODoCreate(PKRDR pRdr, PKLDRMODMACHO *ppModMachO)
    228228{
    229229    union
     
    246246     * Read the Mach-O header.
    247247     */
    248     rc = kLdrRdrRead(pRdr, &s, sizeof(s), 0);
     248    rc = kRdrRead(pRdr, &s, sizeof(s), 0);
    249249    if (rc)
    250250        return rc;
     
    260260
    261261    /* sanity checks. */
    262     if (    s.Hdr32.sizeofcmds > kLdrRdrSize(pRdr) - sizeof(mach_header_32_t)
     262    if (    s.Hdr32.sizeofcmds > kRdrSize(pRdr) - sizeof(mach_header_32_t)
    263263        ||  s.Hdr32.sizeofcmds < sizeof(load_command_t) * s.Hdr32.ncmds
    264264        ||  (s.Hdr32.flags & ~MH_VALID_FLAGS))
     
    281281    if (!pbLoadCommands)
    282282        return KLDR_ERR_NO_MEMORY;
    283     rc = kLdrRdrRead(pRdr, pbLoadCommands, s.Hdr32.sizeofcmds,
     283    rc = kRdrRead(pRdr, pbLoadCommands, s.Hdr32.sizeofcmds,
    284284                        s.Hdr32.magic == IMAGE_MACHO32_SIGNATURE
    285285                     || s.Hdr32.magic == IMAGE_MACHO32_SIGNATURE_OE
     
    297297     * Calc the instance size, allocate and initialize it.
    298298     */
    299     cchFilename = kHlpStrLen(kLdrRdrName(pRdr));
     299    cchFilename = kHlpStrLen(kRdrName(pRdr));
    300300    cb = K_ALIGN_Z(  K_OFFSETOF(KLDRMODMACHO, aSegments[cSegments])
    301301                      + sizeof(KLDRMODMACHOSECT) * cSections, 16)
     
    318318    pMod->cchFilename = cchFilename;
    319319    pMod->pszFilename = (char *)&pMod->aSegments[pMod->cSegments];
    320     kHlpMemCopy((char *)pMod->pszFilename, kLdrRdrName(pRdr), cchFilename + 1);
     320    kHlpMemCopy((char *)pMod->pszFilename, kRdrName(pRdr), cchFilename + 1);
    321321    pMod->pszName = kHlpGetFilename(pMod->pszFilename);
    322322    pMod->cchName = cchFilename - (pMod->pszName - pMod->pszFilename);
     
    429429 * @param   pcbStringPool   Where to store the string pool size.
    430430 */
    431 static int  kldrModMachOPreParseLoadCommands(KU8 *pbLoadCommands, const mach_header_32_t *pHdr, PKLDRRDR pRdr,
     431static int  kldrModMachOPreParseLoadCommands(KU8 *pbLoadCommands, const mach_header_32_t *pHdr, PKRDR pRdr,
    432432                                             KU32 *pcSegments, KU32 *pcSections, KU32 *pcbStringPool)
    433433{
     
    442442        uuid_command_t       *pUuid;
    443443    } u;
    444     const KU64 cbFile = kLdrRdrSize(pRdr);
     444    const KU64 cbFile = kRdrSize(pRdr);
    445445    KU32 cSegments = 0;
    446446    KU32 cSections = 0;
     
    670670                      : sizeof(macho_nlist_64_t);
    671671                if (    u.pSymTab->symoff >= cbFile
    672                     ||  (KU64)u.pSymTab->symoff + u.pSymTab->nsyms * cbSym > kLdrRdrSize(pRdr))
     672                    ||  (KU64)u.pSymTab->symoff + u.pSymTab->nsyms * cbSym > kRdrSize(pRdr))
    673673                    return KLDR_ERR_MACHO_BAD_LOAD_COMMAND;
    674674                if (    u.pSymTab->stroff >= cbFile
     
    10081008    if (pMod->pRdr)
    10091009    {
    1010         rc = kLdrRdrClose(pMod->pRdr);
     1010        rc = kRdrClose(pMod->pRdr);
    10111011        pMod->pRdr = NULL;
    10121012    }
     
    15721572    else
    15731573    {
    1574         rc = kLdrRdrMap(pMod->pRdr, &pvBase, pMod->cSegments, pMod->aSegments, fFixed);
     1574        rc = kRdrMap(pMod->pRdr, &pvBase, pMod->cSegments, pMod->aSegments, fFixed);
    15751575        if (rc)
    15761576            return rc;
     
    16111611    else
    16121612    {
    1613         rc = kLdrRdrUnmap(pMod->pRdr, pModMachO->pvMapping, pMod->cSegments, pMod->aSegments);
     1613        rc = kRdrUnmap(pMod->pRdr, pModMachO->pvMapping, pMod->cSegments, pMod->aSegments);
    16141614        if (rc)
    16151615            return rc;
     
    16591659
    16601660    /* the file provider does it all */
    1661     return kLdrRdrRefresh(pMod->pRdr, pModMachO->pvMapping, pMod->cSegments, pMod->aSegments);
     1661    return kRdrRefresh(pMod->pRdr, pModMachO->pvMapping, pMod->cSegments, pMod->aSegments);
    16621662}
    16631663
     
    16821682    else
    16831683    {
    1684         rc = kLdrRdrProtect(pMod->pRdr, pModMachO->pvMapping, pMod->cSegments, pMod->aSegments, 1 /* unprotect */);
     1684        rc = kRdrProtect(pMod->pRdr, pModMachO->pvMapping, pMod->cSegments, pMod->aSegments, 1 /* unprotect */);
    16851685        if (rc)
    16861686            return rc;
     
    16991699        rc2 = KLDR_ERR_TODO; /* deal with this if it ever occurs. */
    17001700    else
    1701         rc2 = kLdrRdrProtect(pMod->pRdr, pModMachO->pvMapping, pMod->cSegments, pMod->aSegments, 0 /* protect */);
     1701        rc2 = kRdrProtect(pMod->pRdr, pModMachO->pvMapping, pMod->cSegments, pMod->aSegments, 0 /* protect */);
    17021702    if (!rc && rc2)
    17031703        rc = rc2;
     
    21512151            {
    21522152                /* read */
    2153                 rc = kLdrRdrRead(pModMachO->pMod->pRdr, pvSyms, cbSyms, pModMachO->offSymbols);
     2153                rc = kRdrRead(pModMachO->pMod->pRdr, pvSyms, cbSyms, pModMachO->offSymbols);
    21542154                if (!rc && pModMachO->cchStrings)
    2155                     rc = kLdrRdrRead(pModMachO->pMod->pRdr, pvStrings, pModMachO->cchStrings, pModMachO->offStrings);
     2155                    rc = kRdrRead(pModMachO->pMod->pRdr, pvStrings, pModMachO->cchStrings, pModMachO->offStrings);
    21562156                if (!rc)
    21572157                {
     
    22242224
    22252225    /* read the fixups. */
    2226     rc = kLdrRdrRead(pModMachO->pMod->pRdr, paFixups, cbFixups, offFixups);
     2226    rc = kRdrRead(pModMachO->pMod->pRdr, paFixups, cbFixups, offFixups);
    22272227    if (!rc)
    22282228    {
     
    22582258    int rc = 0;
    22592259    if (!pModMachO->pvBits)
    2260         rc = kLdrRdrAllMap(pModMachO->pMod->pRdr, &pModMachO->pvBits);
     2260        rc = kRdrAllMap(pModMachO->pMod->pRdr, &pModMachO->pvBits);
    22612261    return rc;
    22622262}
     
    23232323                ||  !pMod->aSegments[i].Alignment)
    23242324                continue;
    2325             rc = kLdrRdrRead(pMod->pRdr,
     2325            rc = kRdrRead(pMod->pRdr,
    23262326                             (KU8 *)pvBits + (pMod->aSegments[i].LinkAddress - pModMachO->LinkAddress),
    23272327                             pMod->aSegments[i].cbFile,
Note: See TracChangeset for help on using the changeset viewer.