Ignore:
Timestamp:
Nov 1, 2006, 7:26:35 PM (19 years ago)
Author:
bird
Message:

nearly done with kLdrDyldMod.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/kLdr/kLdrInternal.h

    r2845 r2846  
    252252     * This is used to avoid unnecessary calls to kLdrModUnmap during cleanup. */
    253253    uint32_t            fMapped : 1;
     254    /** Set if TLS allocation has been done. (part of the mapping). */
     255    uint32_t            fAllocatedTLS : 1;
    254256    /** Reserved for future use. */
    255     uint32_t            f26Reserved : 26;
     257    uint32_t            f25Reserved : 25;
    256258    /** The load list linkage. */
    257259    struct
     
    340342int kldrDyldModReload(PKLDRDYLDMOD pMod);
    341343int kldrDyldModAttachThread(PKLDRDYLDMOD pMod);
    342 int kldrDyldModDetachThread(PKLDRDYLDMOD pMod);
    343 int kldrDyldModGetStackInfo(PKLDRDYLDMOD pMod, void **ppvStack, size_t *pcbStack);
     344void kldrDyldModDetachThread(PKLDRDYLDMOD pMod);
     345int kldrDyldModGetMainStack(PKLDRDYLDMOD pMod, void **ppvStack, size_t *pcbStack);
    344346int kldrDyldModStartExe(PKLDRDYLDMOD pMod);
    345347
    346348int kldrDyldModGetName(PKLDRDYLDMOD pMod, char *pszName, size_t cchName);
    347349int kldrDyldModGetFilename(PKLDRDYLDMOD pMod, char *pszFilename, size_t cchFilename);
    348 int kldrDyldModQuerySymbol(PKLDRDYLDMOD pMod, uint32_t uSymbolOrdinal, const char *pszSymbolName, uintptr_t *pValue, uint32_t *pfKind);
    349 
     350int kldrDyldModQuerySymbol(PKLDRDYLDMOD pMod, uint32_t uSymbolOrdinal, const char *pszSymbolName, uintptr_t *puValue, uint32_t *pfKind);
    350351
    351352int kldrDyldFailure(int rc, const char *pszFormat, ...);
    352353int kldrInit(void);
    353354void kldrTerm(void);
     355
     356
     357int kldrDyldOSStartExe(uintptr_t uMainEntrypoint, void *pvStack, size_t cbStack);
     358void *kldrDyldOSAllocStack(size_t cb);
    354359
    355360
     
    379384extern PKLDRDYLDMOD     g_pkLdrDyldBindTail;
    380385
     386/** Indicates that the other MainStack globals have been filled in. */
     387extern unsigned         g_fkLdrDyldDoneMainStack;
     388/** Whether the stack was allocated seperatly or was part of the executable. */
     389extern unsigned         g_fkLdrDyldMainStackAllocated;
     390/** Pointer to the main stack object. */
     391extern void            *g_pvkLdrDyldMainStack;
     392/** The size of the main stack object. */
     393extern size_t           g_cbkLdrDyldMainStack;
     394
    381395/** The global error buffer. */
    382396extern char             g_szkLdrDyldError[1024];
Note: See TracChangeset for help on using the changeset viewer.