Ignore:
Timestamp:
Aug 27, 2007, 9:54:05 PM (18 years ago)
Author:
bird
Message:

Use the new type system.

File:
1 edited

Legend:

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

    r3537 r3567  
    9494 */
    9595# define KLDRMODNATIVE_RVA2TYPE(pvBits, uRVA, type) \
    96         ( (type) ((uintptr_t)(pvBits) + (uRVA)) )
     96        ( (type) ((KUPTR)(pvBits) + (uRVA)) )
    9797
    9898#endif /* PE OSes */
     
    111111    PKLDRMOD                    pMod;
    112112    /** Reserved flags. */
    113     uint32_t                    f32Reserved;
     113    KU32                        f32Reserved;
    114114    /** The number of imported modules.
    115      * If ~(uint32_t)0 this hasn't been determined yet. */
    116     uint32_t                    cImportModules;
     115     * If ~(KU32)0 this hasn't been determined yet. */
     116    KU32                        cImportModules;
    117117#ifdef __OS2__
    118118    /** The module handle. */
     
    140140*   Internal Functions                                                         *
    141141*******************************************************************************/
    142 static int32_t kldrModNativeNumberOfImports(PKLDRMOD pMod, const void *pvBits);
     142static KI32 kldrModNativeNumberOfImports(PKLDRMOD pMod, const void *pvBits);
    143143
    144144
     
    186186    if (rc)
    187187        return rc;
    188     rc = kLdrModOpenNativeByHandle((uintptr_t)hmod, ppMod);
     188    rc = kLdrModOpenNativeByHandle((KUPTR)hmod, ppMod);
    189189    if (rc)
    190190        DosFreeModule(hmod);
     
    196196    if (!hmod)
    197197        return GetLastError();
    198     rc = kLdrModOpenNativeByHandle((uintptr_t)hmod, ppMod);
     198    rc = kLdrModOpenNativeByHandle((KUPTR)hmod, ppMod);
    199199    if (rc)
    200200        FreeLibrary(hmod);
     
    206206    if (!pvMod)
    207207        return ENOENT;
    208     rc = kLdrModOpenNativeByHandle((uintptr_t)pvMod, ppMod);
     208    rc = kLdrModOpenNativeByHandle((KUPTR)pvMod, ppMod);
    209209    if (rc)
    210210        dlclose(pvMod);
     
    227227 * @remark  This will not make the native loader increment the load count.
    228228 */
    229 int kLdrModOpenNativeByHandle(uintptr_t uHandle, PPKLDRMOD ppMod)
    230 {
    231     size_t cb;
    232     size_t cchFilename;
    233     uint32_t cSegments;
     229int kLdrModOpenNativeByHandle(KUPTR uHandle, PPKLDRMOD ppMod)
     230{
     231    KSIZE cb;
     232    KSIZE cchFilename;
     233    KU32 cSegments;
    234234    PKLDRMOD pMod;
    235235    PKLDRMODNATIVE pModNative;
     
    273273    /* get the segment count. */
    274274    if (pDosHdr->e_magic == IMAGE_DOS_SIGNATURE)
    275         pNtHdrs = (const IMAGE_NT_HEADERS *)((uintptr_t)pDosHdr + pDosHdr->e_lfanew);
     275        pNtHdrs = (const IMAGE_NT_HEADERS *)((KUPTR)pDosHdr + pDosHdr->e_lfanew);
    276276    else
    277277        pNtHdrs = (const IMAGE_NT_HEADERS *)pDosHdr;
     
    309309
    310310    /* KLDRMOD */
    311     pMod = (PKLDRMOD)((uint8_t *)pModNative + KLDR_ALIGN_Z(sizeof(KLDRMODNATIVE), 16));
     311    pMod = (PKLDRMOD)((KU8 *)pModNative + KLDR_ALIGN_Z(sizeof(KLDRMODNATIVE), 16));
    312312    pMod->pvData = pModNative;
    313313    pMod->pRdr = NULL;
     
    337337    pModNative->pMod = pMod;
    338338    pModNative->f32Reserved = 0;
    339     pModNative->cImportModules = ~(uint32_t)0;
     339    pModNative->cImportModules = ~(KU32)0;
    340340
    341341    /*
     
    541541
    542542/** @copydoc kLdrModQuerySymbol */
    543 static int kldrModNativeQuerySymbol(PKLDRMOD pMod, const void *pvBits, KLDRADDR BaseAddress, uint32_t iSymbol,
    544                                     const char *pchSymbol, size_t cchSymbol, const char *pszVersion,
    545                                     PFNKLDRMODGETIMPORT pfnGetForwarder, void *pvUser, PKLDRADDR puValue, uint32_t *pfKind)
     543static int kldrModNativeQuerySymbol(PKLDRMOD pMod, const void *pvBits, KLDRADDR BaseAddress, KU32 iSymbol,
     544                                    const char *pchSymbol, KSIZE cchSymbol, const char *pszVersion,
     545                                    PFNKLDRMODGETIMPORT pfnGetForwarder, void *pvUser, PKLDRADDR puValue, KU32 *pfKind)
    546546{
    547547    PKLDRMODNATIVE pModNative = (PKLDRMODNATIVE)pMod->pvData;
     
    579579        if (rc)
    580580            return rc == ERROR_PROC_NOT_FOUND ? KLDR_ERR_SYMBOL_NOT_FOUND : rc;
    581         *puValue = (uintptr_t)pfn;
     581        *puValue = (KUPTR)pfn;
    582582    }
    583583    if (pfKind)
     
    602602        return KLDR_ERR_SYMBOL_NOT_FOUND;
    603603
    604     pfn = GetProcAddress(pModNative->hmod, pszSymbol ? pszSymbol : (const char *)(uintptr_t)iSymbol);
     604    pfn = GetProcAddress(pModNative->hmod, pszSymbol ? pszSymbol : (const char *)(KUPTR)iSymbol);
    605605    if (puValue)
    606         *puValue = (uintptr_t)pfn;
     606        *puValue = (KUPTR)pfn;
    607607    if (pfKind)
    608608        *pfKind = (pModNative->pNtHdrs->FileHeader.SizeOfOptionalHeader == sizeof(IMAGE_OPTIONAL_HEADER32)
     
    618618        return KLDR_ERR_SYMBOL_NOT_FOUND;
    619619    if (puValue)
    620         *puValue = (uintptr_t)pfn;
     620        *puValue = (KUPTR)pfn;
    621621    if (pfKind)
    622         *pfKind = (sizeof(uintptr_t) == 4 ? KLDRSYMKIND_32BIT : KLDRSYMKIND_64BIT)
     622        *pfKind = (sizeof(KUPTR) == 4 ? KLDRSYMKIND_32BIT : KLDRSYMKIND_64BIT)
    623623                | KLDRSYMKIND_NO_TYPE;
    624624
     
    633633/** @copydoc kLdrModEnumSymbols */
    634634static int kldrModNativeEnumSymbols(PKLDRMOD pMod, const void *pvBits, KLDRADDR BaseAddress,
    635                                     uint32_t fFlags, PFNKLDRMODENUMSYMS pfnCallback, void *pvUser)
     635                                    KU32 fFlags, PFNKLDRMODENUMSYMS pfnCallback, void *pvUser)
    636636{
    637637    PKLDRMODNATIVE                  pModNative = (PKLDRMODNATIVE)pMod->pvData;
     
    643643
    644644#elif defined(__WIN__) || defined(__NT__)
    645     const uint32_t                 *paFunctions;
     645    const KU32                     *paFunctions;
    646646    const IMAGE_EXPORT_DIRECTORY   *pExpDir;
    647     const uint32_t                 *paRVANames;
    648     const uint16_t                 *paOrdinals;
    649     uint32_t                        iFunction;
    650     uint32_t                        cFunctions;
    651     uint32_t                        cNames;
     647    const KU32                     *paRVANames;
     648    const KU16                     *paOrdinals;
     649    KU32                            iFunction;
     650    KU32                            cFunctions;
     651    KU32                            cNames;
    652652    int                             rc;
    653653
     
    666666     * Enumerate the ordinal exports.
    667667     */
    668     paRVANames = KLDRMODNATIVE_RVA2TYPE(pModNative->hmod, pExpDir->AddressOfNames, const uint32_t *);
    669     paOrdinals = KLDRMODNATIVE_RVA2TYPE(pModNative->hmod, pExpDir->AddressOfNameOrdinals, const uint16_t *);
    670     paFunctions = KLDRMODNATIVE_RVA2TYPE(pModNative->hmod, pExpDir->AddressOfFunctions, const uint32_t *);
     668    paRVANames = KLDRMODNATIVE_RVA2TYPE(pModNative->hmod, pExpDir->AddressOfNames, const KU32 *);
     669    paOrdinals = KLDRMODNATIVE_RVA2TYPE(pModNative->hmod, pExpDir->AddressOfNameOrdinals, const KU16 *);
     670    paFunctions = KLDRMODNATIVE_RVA2TYPE(pModNative->hmod, pExpDir->AddressOfFunctions, const KU32 *);
    671671    cFunctions = pExpDir->NumberOfFunctions;
    672672    cNames = pExpDir->NumberOfNames;
     
    674674    {
    675675        unsigned        fFoundName;
    676         uint32_t        iName;
    677         const uint32_t  uRVA = paFunctions[iFunction];
     676        KU32            iName;
     677        const KU32      uRVA = paFunctions[iFunction];
    678678        const KLDRADDR  uValue = BaseAddress + uRVA;
    679         uint32_t        fKind = (pModNative->pNtHdrs->FileHeader.SizeOfOptionalHeader == sizeof(IMAGE_OPTIONAL_HEADER32)
     679        KU32            fKind = (pModNative->pNtHdrs->FileHeader.SizeOfOptionalHeader == sizeof(IMAGE_OPTIONAL_HEADER32)
    680680                              ? KLDRSYMKIND_32BIT : KLDRSYMKIND_64BIT)
    681681                              | KLDRSYMKIND_NO_TYPE;
     
    727727
    728728/** @copydoc kLdrModGetImport */
    729 static int kldrModNativeGetImport(PKLDRMOD pMod, const void *pvBits, uint32_t iImport, char *pszName, size_t cchName)
     729static int kldrModNativeGetImport(PKLDRMOD pMod, const void *pvBits, KU32 iImport, char *pszName, KSIZE cchName)
    730730{
    731731    PKLDRMODNATIVE                  pModNative = (PKLDRMODNATIVE)pMod->pvData;
     
    739739    const IMAGE_IMPORT_DESCRIPTOR  *pImpDesc;
    740740    const char                     *pszImportName;
    741     size_t                          cchImportName;
     741    KSIZE                           cchImportName;
    742742    int                             rc;
    743743
     
    745745     * Simple bounds check.
    746746     */
    747     if (iImport >= (uint32_t)kldrModNativeNumberOfImports(pMod, pvBits))
     747    if (iImport >= (KU32)kldrModNativeNumberOfImports(pMod, pvBits))
    748748        return KLDR_ERR_IMPORT_ORDINAL_OUT_OF_BOUNDS;
    749749
     
    784784
    785785/** @copydoc kLdrModNumberOfImports */
    786 static int32_t kldrModNativeNumberOfImports(PKLDRMOD pMod, const void *pvBits)
     786static KI32 kldrModNativeNumberOfImports(PKLDRMOD pMod, const void *pvBits)
    787787{
    788788    PKLDRMODNATIVE pModNative = (PKLDRMODNATIVE)pMod->pvData;
     
    794794
    795795#elif defined(__WIN__) || defined(__NT__)
    796     if (pModNative->cImportModules == ~(uint32_t)0)
     796    if (pModNative->cImportModules == ~(KU32)0)
    797797    {
    798798        /*
     
    898898#elif defined(__WIN__) || defined(__NT__)
    899899    const IMAGE_DEBUG_DIRECTORY    *pDbgDir;
    900     uint32_t                        iDbgInfo;
    901     uint32_t                        cb;
     900    KU32                            iDbgInfo;
     901    KU32                            cb;
    902902    int                             rc;
    903903
     
    10391039
    10401040/** @copydoc kLdrModCallInit */
    1041 static int kldrModNativeCallInit(PKLDRMOD pMod, uintptr_t uHandle)
     1041static int kldrModNativeCallInit(PKLDRMOD pMod, KUPTR uHandle)
    10421042{
    10431043    return 0;
     
    10461046
    10471047/** @copydoc kLdrModCallTerm */
    1048 static int kldrModNativeCallTerm(PKLDRMOD pMod, uintptr_t uHandle)
     1048static int kldrModNativeCallTerm(PKLDRMOD pMod, KUPTR uHandle)
    10491049{
    10501050    return 0;
     
    10531053
    10541054/** @copydoc kLdrModCallThread */
    1055 static int kldrModNativeCallThread(PKLDRMOD pMod, uintptr_t uHandle, unsigned fAttachingOrDetaching)
     1055static int kldrModNativeCallThread(PKLDRMOD pMod, KUPTR uHandle, unsigned fAttachingOrDetaching)
    10561056{
    10571057    return 0;
Note: See TracChangeset for help on using the changeset viewer.