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/kLdrDyld.c

    r3537 r3567  
    9696
    9797/** The default flags. */
    98 uint32_t        kLdrDyldFlags = 0;
     98KU32            kLdrDyldFlags = 0;
    9999/** The default search method. */
    100100KLDRDYLDSEARCH  kLdrDyldSearch = KLDRDYLD_SEARCH_HOST;
     
    110110void           *g_pvkLdrDyldMainStack = NULL;
    111111/** The size of the main stack object. */
    112 size_t          g_cbkLdrDyldMainStack = 0;
     112KSIZE           g_cbkLdrDyldMainStack = 0;
    113113/** @} */
    114114
     
    123123static PPKLDRDYLDMOD    g_papStackMods;
    124124/** The number of used entries in the g_papStackMods array. */
    125 static uint32_t         g_cStackMods;
     125static KU32             g_cStackMods;
    126126/** The number of entries allocated for the g_papStackMods array. */
    127 static uint32_t         g_cStackModsAllocated;
     127static KU32             g_cStackModsAllocated;
    128128/** Number of active load calls. */
    129 static uint32_t         g_cActiveLoadCalls;
     129static KU32             g_cActiveLoadCalls;
    130130/** Number of active unload calls. */
    131 static uint32_t         g_cActiveUnloadCalls;
     131static KU32             g_cActiveUnloadCalls;
    132132/** Total number of load calls. */
    133 static uint32_t         g_cTotalLoadCalls;
     133static KU32             g_cTotalLoadCalls;
    134134/** Total mumber of unload calls. */
    135 static uint32_t         g_cTotalUnloadCalls;
     135static KU32             g_cTotalUnloadCalls;
    136136/** Boolean flag indicating that GC is active. */
    137 static uint32_t         g_fActiveGC;
     137static KU32             g_fActiveGC;
    138138
    139139
     
    145145 * @internal
    146146 * @{ */
    147 void       kldrDyldDoLoadExeStackSwitch(PKLDRDYLDMOD pExe, void *pvStack, size_t cbStack);
     147void       kldrDyldDoLoadExeStackSwitch(PKLDRDYLDMOD pExe, void *pvStack, KSIZE cbStack);
    148148static int kldrDyldDoLoad(const char *pszDll, const char *pszPrefix, const char *pszSuffix, KLDRDYLDSEARCH enmSearch,
    149                           unsigned fFlags, PPKLDRDYLDMOD ppMod, char *pszErr, size_t cchErr);
     149                          unsigned fFlags, PPKLDRDYLDMOD ppMod, char *pszErr, KSIZE cchErr);
    150150static int kldrDyldDoLoad2(PKLDRDYLDMOD pLoadedMod, const char *pszPrefix, const char *pszSuffix,
    151151                           KLDRDYLDSEARCH enmSearch, unsigned fFlags);
     
    155155static int kldrDyldDoFindByName(const char *pszDll, const char *pszPrefix, const char *pszSuffix, KLDRDYLDSEARCH enmSearch,
    156156                              unsigned fFlags, PPKLDRDYLDMOD ppMod);
    157 static int kldrDyldDoFindByAddress(uintptr_t Address, PPKLDRDYLDMOD ppMod, uint32_t *piSegment, uintptr_t *poffSegment);
    158 static int kldrDyldDoGetName(PKLDRDYLDMOD pMod, char *pszName, size_t cchName);
    159 static int kldrDyldDoGetFilename(PKLDRDYLDMOD pMod, char *pszFilename, size_t cchFilename);
    160 static int kldrDyldDoQuerySymbol(PKLDRDYLDMOD pMod, uint32_t uSymbolOrdinal, const char *pszSymbolName, uintptr_t *pValue, uint32_t *pfKind);
     157static int kldrDyldDoFindByAddress(KUPTR Address, PPKLDRDYLDMOD ppMod, KU32 *piSegment, KUPTR *poffSegment);
     158static int kldrDyldDoGetName(PKLDRDYLDMOD pMod, char *pszName, KSIZE cchName);
     159static int kldrDyldDoGetFilename(PKLDRDYLDMOD pMod, char *pszFilename, KSIZE cchFilename);
     160static int kldrDyldDoQuerySymbol(PKLDRDYLDMOD pMod, KU32 uSymbolOrdinal, const char *pszSymbolName, KUPTR *pValue, KU32 *pfKind);
    161161/** @} */
    162162
     
    171171 * @internal
    172172 * @{ */
    173 static uint32_t     kldrDyldStackNewFrame(PKLDRDYLDMOD pMod);
     173static KU32         kldrDyldStackNewFrame(PKLDRDYLDMOD pMod);
    174174static int          kldrDyldStackAddModule(PKLDRDYLDMOD pMod);
    175175static int          kldrDyldStackFrameCompleted(void);
    176176static void         kldrDyldStackCleanupOne(PKLDRDYLDMOD pMod, int rc);
    177 static void         kldrDyldStackDropFrame(uint32_t iLoad1st, uint32_t iLoadEnd, int rc);
     177static void         kldrDyldStackDropFrame(KU32 iLoad1st, KU32 iLoadEnd, int rc);
    178178/** @} */
    179179
    180 static int          kldrDyldCopyError(int rc, char *pszErr, size_t cchErr);
     180static int          kldrDyldCopyError(int rc, char *pszErr, KSIZE cchErr);
    181181
    182182
     
    235235{
    236236    void *pvStack;
    237     size_t cbStack;
     237    KSIZE cbStack;
    238238    PKLDRDYLDMOD pExe;
    239239    int rc;
     
    325325 */
    326326int     kLdrDyldLoad(const char *pszDll, const char *pszPrefix, const char *pszSuffix, KLDRDYLDSEARCH enmSearch,
    327                      unsigned fFlags, PHKLDRMOD phMod, char *pszErr, size_t cchErr)
     327                     unsigned fFlags, PHKLDRMOD phMod, char *pszErr, KSIZE cchErr)
    328328{
    329329    int rc;
     
    434434 * @param   poffSegment     Where to store the offset into the segment. (optional)
    435435 */
    436 int     kLdrDyldFindByAddress(uintptr_t Address, PHKLDRMOD phMod, uint32_t *piSegment, uintptr_t *poffSegment)
     436int     kLdrDyldFindByAddress(KUPTR Address, PHKLDRMOD phMod, KU32 *piSegment, KUPTR *poffSegment)
    437437{
    438438    int rc;
     
    441441    *phMod = NIL_HKLDRMOD;
    442442    if (piSegment)
    443         *piSegment = ~(uint32_t)0;
     443        *piSegment = ~(KU32)0;
    444444    if (poffSegment)
    445         *poffSegment = ~(uintptr_t)0;
     445        *poffSegment = ~(KUPTR)0;
    446446
    447447    /* get sem & do work */
     
    468468 * @see kLdrDyldGetFilename
    469469 */
    470 int     kLdrDyldGetName(HKLDRMOD hMod, char *pszName, size_t cchName)
     470int     kLdrDyldGetName(HKLDRMOD hMod, char *pszName, KSIZE cchName)
    471471{
    472472    int rc;
     
    499499 * @see kLdrDyldGetName
    500500 */
    501 int     kLdrDyldGetFilename(HKLDRMOD hMod, char *pszFilename, size_t cchFilename)
     501int     kLdrDyldGetFilename(HKLDRMOD hMod, char *pszFilename, KSIZE cchFilename)
    502502{
    503503    int rc;
     
    532532 * @param   pfKind              Where to put the symbol kind flags. Optional if pValue is non-zero.
    533533 */
    534 int     kLdrDyldQuerySymbol(HKLDRMOD hMod, uint32_t uSymbolOrdinal, const char *pszSymbolName,
    535                             const char *pszSymbolVersion, uintptr_t *pValue, uint32_t *pfKind)
     534int     kLdrDyldQuerySymbol(HKLDRMOD hMod, KU32 uSymbolOrdinal, const char *pszSymbolName,
     535                            const char *pszSymbolVersion, KUPTR *pValue, KU32 *pfKind)
    536536{
    537537    int rc;
     
    592592 */
    593593static int kldrDyldDoLoad(const char *pszDll, const char *pszPrefix, const char *pszSuffix, KLDRDYLDSEARCH enmSearch,
    594                           unsigned fFlags, PPKLDRDYLDMOD ppMod, char *pszErr, size_t cchErr)
     594                          unsigned fFlags, PPKLDRDYLDMOD ppMod, char *pszErr, KSIZE cchErr)
    595595{
    596596    int rc;
     
    692692     * Load prerequisites.
    693693     */
    694     uint32_t i;
    695     uint32_t iLoad1st = kldrDyldStackNewFrame(pLoadedMod);
     694    KU32 i;
     695    KU32 iLoad1st = kldrDyldStackNewFrame(pLoadedMod);
    696696    int rc = kldrDyldDoLoadPrerequisites(pLoadedMod, pszPrefix, pszSuffix, enmSearch, fFlags);
    697     uint32_t iLoadEnd = kldrDyldStackFrameCompleted();
     697    KU32 iLoadEnd = kldrDyldStackFrameCompleted();
    698698    if (rc)
    699699    {
     
    882882            if (cEntries < sizeof(s_aEntries) / sizeof(s_aEntries[0]))
    883883            {
    884                 s_aEntries[cEntries].cLeft = ~(uint32_t)0;
     884                s_aEntries[cEntries].cLeft = ~(KU32)0;
    885885                s_aEntries[cEntries].pMod = pMod->papPrereqs[pMod->cPrereqs - s_aEntries[i].cLeft];
    886886                s_aEntries[i].cLeft--;
     
    10241024 * @param   pLoadMod        The module being loaded (only used for asserting).
    10251025 */
    1026 static uint32_t kldrDyldStackNewFrame(PKLDRDYLDMOD pLoadMod)
     1026static KU32 kldrDyldStackNewFrame(PKLDRDYLDMOD pLoadMod)
    10271027{
    10281028    /*
     
    10841084    if (g_cStackMods + 1 > g_cStackModsAllocated)
    10851085    {
    1086         uint32_t cNew = g_cStackModsAllocated ? g_cStackModsAllocated * 2 : 128;
     1086        KU32 cNew = g_cStackModsAllocated ? g_cStackModsAllocated * 2 : 128;
    10871087        void *pvOld = g_papStackMods;
    10881088        void *pvNew = kldrHlpAlloc(cNew * sizeof(g_papStackMods[0]));
     
    11991199 * @param   rc              Used for state verification.
    12001200 */
    1201 static void kldrDyldStackDropFrame(uint32_t iLoad1st, uint32_t iLoadEnd, int rc)
    1202 {
    1203     uint32_t i;
     1201static void kldrDyldStackDropFrame(KU32 iLoad1st, KU32 iLoadEnd, int rc)
     1202{
     1203    KU32 i;
    12041204    KLDRDYLD_ASSERT(iLoad1st <= g_cStackMods);
    12051205    KLDRDYLD_ASSERT(iLoadEnd == g_cStackMods);
     
    13181318                case KLDRSTATE_PENDING_TERMINATION:
    13191319                {
    1320                     const uint32_t cTotalLoadCalls = g_cTotalLoadCalls;
    1321                     const uint32_t cTotalUnloadCalls = g_cTotalUnloadCalls;
     1320                    const KU32 cTotalLoadCalls = g_cTotalLoadCalls;
     1321                    const KU32 cTotalUnloadCalls = g_cTotalUnloadCalls;
    13221322                    kldrDyldModCallTerm(pMod);
    13231323                    fRestart = cTotalLoadCalls != g_cTotalLoadCalls
     
    14011401 * @internal
    14021402 */
    1403 static int kldrDyldDoFindByAddress(uintptr_t Address, PPKLDRDYLDMOD ppMod, uint32_t *piSegment, uintptr_t *poffSegment)
     1403static int kldrDyldDoFindByAddress(KUPTR Address, PPKLDRDYLDMOD ppMod, KU32 *piSegment, KUPTR *poffSegment)
    14041404{
    14051405    /* Scan the segments of each module in the load list. */
     
    14071407    while (pMod)
    14081408    {
    1409         uint32_t iSeg;
     1409        KU32 iSeg;
    14101410        for (iSeg = 0; iSeg < pMod->pMod->cSegments; iSeg++)
    14111411        {
     
    14171417                    *piSegment = iSeg;
    14181418                if (poffSegment)
    1419                     *poffSegment = (uintptr_t)off;
     1419                    *poffSegment = (KUPTR)off;
    14201420                return 0;
    14211421            }
     
    14341434 * @internal
    14351435 */
    1436 static int kldrDyldDoGetName(PKLDRDYLDMOD pMod, char *pszName, size_t cchName)
     1436static int kldrDyldDoGetName(PKLDRDYLDMOD pMod, char *pszName, KSIZE cchName)
    14371437{
    14381438    return kldrDyldModGetName(pMod, pszName, cchName);
     
    14441444 * @internal
    14451445 */
    1446 static int kldrDyldDoGetFilename(PKLDRDYLDMOD pMod, char *pszFilename, size_t cchFilename)
     1446static int kldrDyldDoGetFilename(PKLDRDYLDMOD pMod, char *pszFilename, KSIZE cchFilename)
    14471447{
    14481448    return kldrDyldModGetFilename(pMod, pszFilename, cchFilename);
     
    14541454 * @internal
    14551455 */
    1456 static int kldrDyldDoQuerySymbol(PKLDRDYLDMOD pMod, uint32_t uSymbolOrdinal, const char *pszSymbolName, uintptr_t *pValue, uint32_t *pfKind)
     1456static int kldrDyldDoQuerySymbol(PKLDRDYLDMOD pMod, KU32 uSymbolOrdinal, const char *pszSymbolName, KUPTR *pValue, KU32 *pfKind)
    14571457{
    14581458    return kldrDyldModQuerySymbol(pMod, uSymbolOrdinal, pszSymbolName, pValue, pfKind);
     
    14851485 * @param   cchErr  The size of the destination buffer.
    14861486 */
    1487 static int kldrDyldCopyError(int rc, char *pszErr, size_t cchErr)
    1488 {
    1489     size_t cchToCopy;
     1487static int kldrDyldCopyError(int rc, char *pszErr, KSIZE cchErr)
     1488{
     1489    KSIZE cchToCopy;
    14901490
    14911491    /* if no error string, format the rc into a string. */
Note: See TracChangeset for help on using the changeset viewer.