Changeset 3567 for trunk/kStuff/kLdr/kLdr.h
- Timestamp:
- Aug 27, 2007, 9:54:05 PM (18 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/kStuff/kLdr/kLdr.h
r3537 r3567 42 42 43 43 /** The kLdr address type. */ 44 typedef uint64_tKLDRADDR;44 typedef KU64 KLDRADDR; 45 45 /** Pointer to a kLdr address. */ 46 46 typedef KLDRADDR *PKLDRADDR; … … 49 49 50 50 /** NIL address. */ 51 #define NIL_KLDRADDR (~( uint64_t)0)51 #define NIL_KLDRADDR (~(KU64)0) 52 52 53 53 /** @def PRI_KLDRADDR … … 61 61 62 62 /** The kLdr size type. */ 63 typedef uint64_tKLDRSIZE;63 typedef KU64 KLDRSIZE; 64 64 /** Pointer to a kLdr size. */ 65 65 typedef KLDRSIZE *PKLDRSIZE; … … 93 93 typedef union KLDRU 94 94 { 95 int8_t i8; /**< int8_tview. */96 uint8_t u8; /**< uint8_tview. */97 int16_t i16; /**< int16_tview. */98 uint16_t u16; /**< uint16_tview. */99 int32_t i32; /**< int32_tview. */100 uint32_t u32; /**< uint32_tview. */101 int64_t i64; /**< int64_tview. */102 uint64_t u64; /**< uint64_tview. */103 104 int8_t ai8[8]; /**< int8_tarray view . */105 uint8_t au8[8]; /**< uint8_tarray view. */106 int16_t ai16[4];/**< int16_tarray view . */107 uint16_t au16[4];/**< uint16_tarray view. */108 int32_t ai32[2];/**< int32_tarray view . */109 uint32_t au32[2];/**< uint32_tarray view. */95 KI8 i8; /**< KI8 view. */ 96 KU8 u8; /**< KU8 view. */ 97 KI16 i16; /**< KI16 view. */ 98 KU16 u16; /**< KU16 view. */ 99 KI32 i32; /**< KI32 view. */ 100 KU32 u32; /**< KU32 view. */ 101 KI64 i64; /**< KI64 view. */ 102 KU64 u64; /**< KU64 view. */ 103 104 KI8 ai8[8]; /**< KI8 array view . */ 105 KU8 au8[8]; /**< KU8 array view. */ 106 KI16 ai16[4];/**< KI16 array view . */ 107 KU16 au16[4];/**< KU16 array view. */ 108 KI32 ai32[2];/**< KI32 array view . */ 109 KU32 au32[2];/**< KU32 array view. */ 110 110 111 111 signed char ch; /**< signed char view. */ … … 133 133 typedef union KLDRPU 134 134 { 135 int8_t *pi8; /**< int8_tview. */136 uint8_t *pu8; /**< uint8_tview. */137 int16_t *pi16; /**< int16_tview. */138 uint16_t *pu16; /**< uint16_tview. */139 int32_t *pi32; /**< int32_tview. */140 uint32_t *pu32; /**< uint32_tview. */141 int64_t *pi64; /**< int64_tview. */142 uint64_t *pu64; /**< uint64_tview. */135 KI8 *pi8; /**< KI8 view. */ 136 KU8 *pu8; /**< KU8 view. */ 137 KI16 *pi16; /**< KI16 view. */ 138 KU16 *pu16; /**< KU16 view. */ 139 KI32 *pi32; /**< KI32 view. */ 140 KU32 *pu32; /**< KU32 view. */ 141 KI64 *pi64; /**< KI64 view. */ 142 KU64 *pu64; /**< KU64 view. */ 143 143 144 144 signed char *pch; /**< signed char view. */ … … 232 232 int (* pfnDestroy)( PKLDRRDR pRdr); 233 233 /** @copydoc kLdrRdrRead */ 234 int (* pfnRead)( PKLDRRDR pRdr, void *pvBuf, size_tcb, KLDRFOFF off);234 int (* pfnRead)( PKLDRRDR pRdr, void *pvBuf, KSIZE cb, KLDRFOFF off); 235 235 /** @copydoc kLdrRdrAllMap */ 236 236 int (* pfnAllMap)( PKLDRRDR pRdr, const void **ppvBits); … … 244 244 const char * (* pfnName)(PKLDRRDR pRdr); 245 245 /** @copydoc kLdrRdrPageSize */ 246 size_t(* pfnPageSize)(PKLDRRDR pRdr);246 KSIZE (* pfnPageSize)(PKLDRRDR pRdr); 247 247 /** @copydoc kLdrRdrMap */ 248 int (* pfnMap)( PKLDRRDR pRdr, void **ppvBase, uint32_tcSegments, PCKLDRSEG paSegments, unsigned fFixed);248 int (* pfnMap)( PKLDRRDR pRdr, void **ppvBase, KU32 cSegments, PCKLDRSEG paSegments, unsigned fFixed); 249 249 /** @copydoc kLdrRdrRefresh */ 250 int (* pfnRefresh)( PKLDRRDR pRdr, void *pvBase, uint32_tcSegments, PCKLDRSEG paSegments);250 int (* pfnRefresh)( PKLDRRDR pRdr, void *pvBase, KU32 cSegments, PCKLDRSEG paSegments); 251 251 /** @copydoc kLdrRdrProtect */ 252 int (* pfnProtect)( PKLDRRDR pRdr, void *pvBase, uint32_tcSegments, PCKLDRSEG paSegments, unsigned fUnprotectOrProtect);252 int (* pfnProtect)( PKLDRRDR pRdr, void *pvBase, KU32 cSegments, PCKLDRSEG paSegments, unsigned fUnprotectOrProtect); 253 253 /** @copydoc kLdrRdrUnmap */ 254 int (* pfnUnmap)( PKLDRRDR pRdr, void *pvBase, uint32_tcSegments, PCKLDRSEG paSegments);254 int (* pfnUnmap)( PKLDRRDR pRdr, void *pvBase, KU32 cSegments, PCKLDRSEG paSegments); 255 255 /** @copydoc kLdrRdrDone */ 256 256 void (* pfnDone)( PKLDRRDR pRdr); 257 257 /** The usual non-zero dummy that makes sure we've initialized all members. */ 258 uint32_tu32Dummy;258 KU32 u32Dummy; 259 259 } KLDRRDROPS; 260 260 /** Pointer to file provider operations. */ … … 270 270 { 271 271 /** Magic number (KLDRRDR_MAGIC). */ 272 uint32_tu32Magic;272 KU32 u32Magic; 273 273 /** Pointer to the file provider operations. */ 274 274 PCKLDRRDROPS pOps; … … 282 282 int kLdrRdrOpen( PPKLDRRDR ppRdr, const char *pszFilename); 283 283 int kLdrRdrClose( PKLDRRDR pRdr); 284 int kLdrRdrRead( PKLDRRDR pRdr, void *pvBuf, size_tcb, KLDRFOFF off);284 int kLdrRdrRead( PKLDRRDR pRdr, void *pvBuf, KSIZE cb, KLDRFOFF off); 285 285 int kLdrRdrAllMap( PKLDRRDR pRdr, const void **ppvBits); 286 286 int kLdrRdrAllUnmap(PKLDRRDR pRdr, const void *pvBits); … … 288 288 KLDRFOFF kLdrRdrTell( PKLDRRDR pRdr); 289 289 const char *kLdrRdrName(PKLDRRDR pRdr); 290 size_tkLdrRdrPageSize(PKLDRRDR pRdr);291 int kLdrRdrMap( PKLDRRDR pRdr, void **ppvBase, uint32_tcSegments, PCKLDRSEG paSegments, unsigned fFixed);292 int kLdrRdrRefresh( PKLDRRDR pRdr, void *pvBase, uint32_tcSegments, PCKLDRSEG paSegments);293 int kLdrRdrProtect( PKLDRRDR pRdr, void *pvBase, uint32_tcSegments, PCKLDRSEG paSegments, unsigned fUnprotectOrProtect);294 int kLdrRdrUnmap( PKLDRRDR pRdr, void *pvBase, uint32_tcSegments, PCKLDRSEG paSegments);290 KSIZE kLdrRdrPageSize(PKLDRRDR pRdr); 291 int kLdrRdrMap( PKLDRRDR pRdr, void **ppvBase, KU32 cSegments, PCKLDRSEG paSegments, unsigned fFixed); 292 int kLdrRdrRefresh( PKLDRRDR pRdr, void *pvBase, KU32 cSegments, PCKLDRSEG paSegments); 293 int kLdrRdrProtect( PKLDRRDR pRdr, void *pvBase, KU32 cSegments, PCKLDRSEG paSegments, unsigned fUnprotectOrProtect); 294 int kLdrRdrUnmap( PKLDRRDR pRdr, void *pvBase, KU32 cSegments, PCKLDRSEG paSegments); 295 295 void kLdrRdrDone( PKLDRRDR pRdr); 296 296 … … 475 475 const char *pchName; 476 476 /** The length of the segment name. */ 477 uint32_tcchName;477 KU32 cchName; 478 478 /** The flat selector to use for the segment (i.e. data/code). 479 479 * Primarily a way for the user to specify selectors for the LX/LE and NE interpreters. */ 480 uint16_tSelFlat;480 KU16 SelFlat; 481 481 /** The 16-bit selector to use for the segment. 482 482 * Primarily a way for the user to specify selectors for the LX/LE and NE interpreters. */ 483 uint16_tSel16bit;483 KU16 Sel16bit; 484 484 /** Segment flags. */ 485 uint32_tfFlags;485 KU32 fFlags; 486 486 /** The segment protection. */ 487 487 KLDRPROT enmProt; … … 505 505 KLDRADDR RVA; 506 506 /** The size of the segment including the alignment gap up to the next segment when mapped. */ 507 size_tcbMapped;507 KSIZE cbMapped; 508 508 /** The address the segment was mapped at by kLdrModMap(). 509 509 * Set to 0 if not mapped. */ 510 uintptr_tMapAddress;510 KUPTR MapAddress; 511 511 } KLDRSEG; 512 512 … … 616 616 { 617 617 /** Magic number (KLDRMOD_MAGIC). */ 618 uint32_tu32Magic;618 KU32 u32Magic; 619 619 /** The format of this module. */ 620 620 KLDRFMT enmFmt; … … 629 629 KLDRENDIAN enmEndian; 630 630 /** The filename length (bytes). */ 631 uint32_tcchFilename;631 KU32 cchFilename; 632 632 /** The filename. */ 633 633 const char *pszFilename; … … 635 635 const char *pszName; 636 636 /** The module name length (bytes). */ 637 uint32_tcchName;637 KU32 cchName; 638 638 /** The number of segments in the module. */ 639 uint32_tcSegments;639 KU32 cSegments; 640 640 /** Pointer to the loader methods. 641 641 * Not meant for calling directly thru! */ … … 660 660 /** Special import module ordinal value used to indicate that there is no 661 661 * specific module associated with the requested symbol. */ 662 #define NIL_KLDRMOD_IMPORT (~( uint32_t)0)662 #define NIL_KLDRMOD_IMPORT (~(KU32)0) 663 663 664 664 /** Special symbol ordinal value used to indicate that the symbol 665 665 * only has a string name. */ 666 #define NIL_KLDRMOD_SYM_ORDINAL (~( uint32_t)0)666 #define NIL_KLDRMOD_SYM_ORDINAL (~(KU32)0) 667 667 668 668 … … 724 724 * @param pvUser The user parameter specified to the relocation function. 725 725 */ 726 typedef int FNKLDRMODGETIMPORT(PKLDRMOD pMod, uint32_t iImport, uint32_t iSymbol, const char *pchSymbol, size_tcchSymbol,727 const char *pszVersion, PKLDRADDR puValue, uint32_t*pfKind, void *pvUser);726 typedef int FNKLDRMODGETIMPORT(PKLDRMOD pMod, KU32 iImport, KU32 iSymbol, const char *pchSymbol, KSIZE cchSymbol, 727 const char *pszVersion, PKLDRADDR puValue, KU32 *pfKind, void *pvUser); 728 728 /** Pointer to a import callback. */ 729 729 typedef FNKLDRMODGETIMPORT *PFNKLDRMODGETIMPORT; … … 747 747 * @param pvUser The user parameter specified to kLdrModEnumSymbols(). 748 748 */ 749 typedef int FNKLDRMODENUMSYMS(PKLDRMOD pMod, uint32_t iSymbol, const char *pchSymbol, size_tcchSymbol, const char *pszVersion,750 KLDRADDR uValue, uint32_tfKind, void *pvUser);749 typedef int FNKLDRMODENUMSYMS(PKLDRMOD pMod, KU32 iSymbol, const char *pchSymbol, KSIZE cchSymbol, const char *pszVersion, 750 KLDRADDR uValue, KU32 fKind, void *pvUser); 751 751 /** Pointer to a symbol enumerator callback. */ 752 752 typedef FNKLDRMODENUMSYMS *PFNKLDRMODENUMSYMS; … … 771 771 * @param pvUser The user parameter specified to kLdrModEnumDbgInfo. 772 772 */ 773 typedef int FNKLDRENUMDBG(PKLDRMOD pMod, uint32_t iDbgInfo, KLDRDBGINFOTYPE enmType, int16_t iMajorVer, int16_tiMinorVer,773 typedef int FNKLDRENUMDBG(PKLDRMOD pMod, KU32 iDbgInfo, KLDRDBGINFOTYPE enmType, KI16 iMajorVer, KI16 iMinorVer, 774 774 KLDRFOFF offFile, KLDRADDR LinkAddress, KLDRSIZE cb, const char *pszExtFile, void *pvUser); 775 775 /** Pointer to a debug info enumerator callback. */ … … 792 792 * @param pvUser The user parameter specified to kLdrModEnumDbgInfo. 793 793 */ 794 typedef int FNKLDRENUMRSRC(PKLDRMOD pMod, uint32_t idType, const char *pszType, uint32_tidName, const char *pszName,795 uint32_tidLang, KLDRADDR AddrRsrc, KLDRSIZE cbRsrc, void *pvUser);794 typedef int FNKLDRENUMRSRC(PKLDRMOD pMod, KU32 idType, const char *pszType, KU32 idName, const char *pszName, 795 KU32 idLang, KLDRADDR AddrRsrc, KLDRSIZE cbRsrc, void *pvUser); 796 796 /** Pointer to a resource enumerator callback. */ 797 797 typedef FNKLDRENUMRSRC *PFNKLDRENUMRSRC; 798 798 799 799 /** NIL resource name ID. */ 800 #define NIL_KLDRMOD_RSRC_NAME_ID ( ~( uint32_t)0 )800 #define NIL_KLDRMOD_RSRC_NAME_ID ( ~(KU32)0 ) 801 801 /** NIL resource type ID. */ 802 #define NIL_KLDRMOD_RSRC_TYPE_ID ( ~( uint32_t)0 )802 #define NIL_KLDRMOD_RSRC_TYPE_ID ( ~(KU32)0 ) 803 803 /** @name Language ID 804 804 * … … 808 808 * @{ */ 809 809 /** NIL language ID. */ 810 #define NIL_KLDR_LANG_ID ( ~( uint32_t)0 )810 #define NIL_KLDR_LANG_ID ( ~(KU32)0 ) 811 811 /** Special language id value for matching any language. */ 812 #define KLDR_LANG_ID_ANY ( ~( uint32_t)1 )812 #define KLDR_LANG_ID_ANY ( ~(KU32)1 ) 813 813 /** Special language id value indicating language neutral. */ 814 #define KLDR_LANG_ID_NEUTRAL ( ~( uint32_t)2 )814 #define KLDR_LANG_ID_NEUTRAL ( ~(KU32)2 ) 815 815 /** Special language id value indicating user default language. */ 816 #define KLDR_LANG_ID_USER_DEFAULT ( ~( uint32_t)3 )816 #define KLDR_LANG_ID_USER_DEFAULT ( ~(KU32)3 ) 817 817 /** Special language id value indicating system default language. */ 818 #define KLDR_LANG_ID_SYS_DEFAULT ( ~( uint32_t)4 )818 #define KLDR_LANG_ID_SYS_DEFAULT ( ~(KU32)4 ) 819 819 /** Special language id value indicating default custom locale. */ 820 #define KLDR_LANG_ID_CUSTOM_DEFAULT ( ~( uint32_t)5 )820 #define KLDR_LANG_ID_CUSTOM_DEFAULT ( ~(KU32)5 ) 821 821 /** Special language id value indicating unspecified custom locale. */ 822 #define KLDR_LANG_ID_CUSTOM_UNSPECIFIED ( ~( uint32_t)6 )822 #define KLDR_LANG_ID_CUSTOM_UNSPECIFIED ( ~(KU32)6 ) 823 823 /** Special language id value indicating default custom MUI locale. */ 824 #define KLDR_LANG_ID_UI_CUSTOM_DEFAULT ( ~( uint32_t)7 )824 #define KLDR_LANG_ID_UI_CUSTOM_DEFAULT ( ~(KU32)7 ) 825 825 /** @} */ 826 826 … … 829 829 int kLdrModOpenFromRdr(PKLDRRDR pRdr, PPKLDRMOD ppMod); 830 830 int kLdrModOpenNative(const char *pszFilename, PPKLDRMOD ppMod); 831 int kLdrModOpenNativeByHandle( uintptr_tuHandle, PPKLDRMOD ppMod);831 int kLdrModOpenNativeByHandle(KUPTR uHandle, PPKLDRMOD ppMod); 832 832 int kLdrModClose(PKLDRMOD pMod); 833 833 834 int kLdrModQuerySymbol(PKLDRMOD pMod, const void *pvBits, KLDRADDR BaseAddress, uint32_tiSymbol,835 const char *pchSymbol, size_tcchSymbol, const char *pszVersion,836 PFNKLDRMODGETIMPORT pfnGetForwarder, void *pvUser, PKLDRADDR puValue, uint32_t*pfKind);834 int kLdrModQuerySymbol(PKLDRMOD pMod, const void *pvBits, KLDRADDR BaseAddress, KU32 iSymbol, 835 const char *pchSymbol, KSIZE cchSymbol, const char *pszVersion, 836 PFNKLDRMODGETIMPORT pfnGetForwarder, void *pvUser, PKLDRADDR puValue, KU32 *pfKind); 837 837 int kLdrModEnumSymbols(PKLDRMOD pMod, const void *pvBits, KLDRADDR BaseAddress, 838 uint32_tfFlags, PFNKLDRMODENUMSYMS pfnCallback, void *pvUser);839 int kLdrModGetImport(PKLDRMOD pMod, const void *pvBits, uint32_t iImport, char *pszName, size_tcchName);840 int32_tkLdrModNumberOfImports(PKLDRMOD pMod, const void *pvBits);838 KU32 fFlags, PFNKLDRMODENUMSYMS pfnCallback, void *pvUser); 839 int kLdrModGetImport(PKLDRMOD pMod, const void *pvBits, KU32 iImport, char *pszName, KSIZE cchName); 840 KI32 kLdrModNumberOfImports(PKLDRMOD pMod, const void *pvBits); 841 841 int kLdrModCanExecuteOn(PKLDRMOD pMod, const void *pvBits, KLDRARCH enmArch, KLDRCPU enmCpu); 842 842 int kLdrModGetStackInfo(PKLDRMOD pMod, const void *pvBits, KLDRADDR BaseAddress, PKLDRSTACKINFO pStackInfo); 843 843 int kLdrModQueryMainEntrypoint(PKLDRMOD pMod, const void *pvBits, KLDRADDR BaseAddress, PKLDRADDR pMainEPAddress); 844 int kLdrModQueryResource(PKLDRMOD pMod, const void *pvBits, KLDRADDR BaseAddress, uint32_tidType, const char *pszType,845 uint32_t idName, const char *pszName, uint32_t idLang, PKLDRADDR pAddrRsrc, size_t*pcbRsrc);846 int kLdrModEnumResources(PKLDRMOD pMod, const void *pvBits, KLDRADDR BaseAddress, uint32_tidType, const char *pszType,847 uint32_t idName, const char *pszName, uint32_tidLang, PFNKLDRENUMRSRC pfnCallback, void *pvUser);844 int kLdrModQueryResource(PKLDRMOD pMod, const void *pvBits, KLDRADDR BaseAddress, KU32 idType, const char *pszType, 845 KU32 idName, const char *pszName, KU32 idLang, PKLDRADDR pAddrRsrc, KSIZE *pcbRsrc); 846 int kLdrModEnumResources(PKLDRMOD pMod, const void *pvBits, KLDRADDR BaseAddress, KU32 idType, const char *pszType, 847 KU32 idName, const char *pszName, KU32 idLang, PFNKLDRENUMRSRC pfnCallback, void *pvUser); 848 848 int kLdrModEnumDbgInfo(PKLDRMOD pMod, const void *pvBits, PFNKLDRENUMDBG pfnCallback, void *pvUser); 849 849 int kLdrModHasDbgInfo(PKLDRMOD pMod, const void *pvBits); … … 859 859 int kLdrModReload(PKLDRMOD pMod); 860 860 int kLdrModFixupMapping(PKLDRMOD pMod, PFNKLDRMODGETIMPORT pfnGetImport, void *pvUser); 861 int kLdrModCallInit(PKLDRMOD pMod, uintptr_tuHandle);862 int kLdrModCallTerm(PKLDRMOD pMod, uintptr_tuHandle);863 int kLdrModCallThread(PKLDRMOD pMod, uintptr_tuHandle, unsigned fAttachingOrDetaching);861 int kLdrModCallInit(PKLDRMOD pMod, KUPTR uHandle); 862 int kLdrModCallTerm(PKLDRMOD pMod, KUPTR uHandle); 863 int kLdrModCallThread(PKLDRMOD pMod, KUPTR uHandle, unsigned fAttachingOrDetaching); 864 864 /** @} */ 865 865 … … 907 907 908 908 /** @copydoc kLdrModQuerySymbol */ 909 int (* pfnQuerySymbol)(PKLDRMOD pMod, const void *pvBits, KLDRADDR BaseAddress, uint32_tiSymbol,910 const char *pchSymbol, size_tcchSymbol, const char *pszVersion,911 PFNKLDRMODGETIMPORT pfnGetForwarder, void *pvUser, PKLDRADDR puValue, uint32_t*pfKind);909 int (* pfnQuerySymbol)(PKLDRMOD pMod, const void *pvBits, KLDRADDR BaseAddress, KU32 iSymbol, 910 const char *pchSymbol, KSIZE cchSymbol, const char *pszVersion, 911 PFNKLDRMODGETIMPORT pfnGetForwarder, void *pvUser, PKLDRADDR puValue, KU32 *pfKind); 912 912 /** @copydoc kLdrModEnumSymbols */ 913 int (* pfnEnumSymbols)(PKLDRMOD pMod, const void *pvBits, KLDRADDR BaseAddress, uint32_tfFlags,913 int (* pfnEnumSymbols)(PKLDRMOD pMod, const void *pvBits, KLDRADDR BaseAddress, KU32 fFlags, 914 914 PFNKLDRMODENUMSYMS pfnCallback, void *pvUser); 915 915 /** @copydoc kLdrModGetImport */ 916 int (* pfnGetImport)(PKLDRMOD pMod, const void *pvBits, uint32_t iImport, char *pszName, size_tcchName);916 int (* pfnGetImport)(PKLDRMOD pMod, const void *pvBits, KU32 iImport, char *pszName, KSIZE cchName); 917 917 /** @copydoc kLdrModNumberOfImports */ 918 int32_t(* pfnNumberOfImports)(PKLDRMOD pMod, const void *pvBits);918 KI32 (* pfnNumberOfImports)(PKLDRMOD pMod, const void *pvBits); 919 919 /** @copydoc kLdrModCanExecuteOn */ 920 920 int (* pfnCanExecuteOn)(PKLDRMOD pMod, const void *pvBits, KLDRARCH enmArch, KLDRCPU enmCpu); … … 924 924 int (* pfnQueryMainEntrypoint)(PKLDRMOD pMod, const void *pvBits, KLDRADDR BaseAddress, PKLDRADDR pMainEPAddress); 925 925 /** @copydoc kLdrModQueryResource */ 926 int (* pfnQueryResource)(PKLDRMOD pMod, const void *pvBits, KLDRADDR BaseAddress, uint32_tidType, const char *pszType,927 uint32_t idName, const char *pszName, uint32_t idLang, PKLDRADDR pAddrRsrc, size_t*pcbRsrc);926 int (* pfnQueryResource)(PKLDRMOD pMod, const void *pvBits, KLDRADDR BaseAddress, KU32 idType, const char *pszType, 927 KU32 idName, const char *pszName, KU32 idLang, PKLDRADDR pAddrRsrc, KSIZE *pcbRsrc); 928 928 /** @copydoc kLdrModEnumResources */ 929 int (* pfnEnumResources)(PKLDRMOD pMod, const void *pvBits, KLDRADDR BaseAddress, uint32_tidType, const char *pszType,930 uint32_t idName, const char *pszName, uint32_tidLang, PFNKLDRENUMRSRC pfnCallback, void *pvUser);929 int (* pfnEnumResources)(PKLDRMOD pMod, const void *pvBits, KLDRADDR BaseAddress, KU32 idType, const char *pszType, 930 KU32 idName, const char *pszName, KU32 idLang, PFNKLDRENUMRSRC pfnCallback, void *pvUser); 931 931 /** @copydoc kLdrModEnumDbgInfo */ 932 932 int (* pfnEnumDbgInfo)(PKLDRMOD pMod, const void *pvBits, PFNKLDRENUMDBG pfnCallback, void *pvUser); … … 946 946 int (* pfnFixupMapping)(PKLDRMOD pMod, PFNKLDRMODGETIMPORT pfnGetImport, void *pvUser); 947 947 /** @copydoc kLdrModCallInit */ 948 int (* pfnCallInit)(PKLDRMOD pMod, uintptr_tuHandle);948 int (* pfnCallInit)(PKLDRMOD pMod, KUPTR uHandle); 949 949 /** @copydoc kLdrModCallTerm */ 950 int (* pfnCallTerm)(PKLDRMOD pMod, uintptr_tuHandle);950 int (* pfnCallTerm)(PKLDRMOD pMod, KUPTR uHandle); 951 951 /** @copydoc kLdrModCallThread */ 952 int (* pfnCallThread)(PKLDRMOD pMod, uintptr_tuHandle, unsigned fAttachingOrDetaching);952 int (* pfnCallThread)(PKLDRMOD pMod, KUPTR uHandle, unsigned fAttachingOrDetaching); 953 953 /** @copydoc kLdrModSize */ 954 954 KLDRADDR (* pfnSize)(PKLDRMOD pMod); … … 961 961 int (* pfnMostlyDone)(PKLDRMOD pMod); 962 962 /** Dummy which should be assigned a non-zero value. */ 963 uint32_tuEndOfStructure;963 KU32 uEndOfStructure; 964 964 } KLDRMODOPS; 965 965 … … 1034 1034 1035 1035 int kLdrDyldLoad(const char *pszDll, const char *pszPrefix, const char *pszSuffix, KLDRDYLDSEARCH enmSearch, 1036 unsigned fFlags, PHKLDRMOD phMod, char *pszErr, size_tcchErr);1036 unsigned fFlags, PHKLDRMOD phMod, char *pszErr, KSIZE cchErr); 1037 1037 int kLdrDyldUnload(HKLDRMOD hMod); 1038 1038 int kLdrDyldFindByName(const char *pszDll, const char *pszPrefix, const char *pszSuffix, KLDRDYLDSEARCH enmSearch, 1039 1039 unsigned fFlags, PHKLDRMOD phMod); 1040 int kLdrDyldFindByAddress( uintptr_t Address, PHKLDRMOD phMod, uint32_t *piSegment, uintptr_t*poffSegment);1041 int kLdrDyldGetName(HKLDRMOD hMod, char *pszName, size_tcchName);1042 int kLdrDyldGetFilename(HKLDRMOD hMod, char *pszFilename, size_tcchFilename);1043 int kLdrDyldQuerySymbol(HKLDRMOD hMod, uint32_tuSymbolOrdinal, const char *pszSymbolName,1044 const char *pszSymbolVersion, uintptr_t *pValue, uint32_t*pfKind);1045 int kLdrDyldQueryResource(HKLDRMOD hMod, uint32_t idType, const char *pszType, uint32_tidName,1046 const char *pszName, uint32_t idLang, void **pvRsrc, size_t*pcbRsrc);1047 int kLdrDyldEnumResources(HKLDRMOD hMod, uint32_t idType, const char *pszType, uint32_tidName,1048 const char *pszName, uint32_tidLang, PFNKLDRENUMRSRC pfnCallback, void *pvUser);1040 int kLdrDyldFindByAddress(KUPTR Address, PHKLDRMOD phMod, KU32 *piSegment, KUPTR *poffSegment); 1041 int kLdrDyldGetName(HKLDRMOD hMod, char *pszName, KSIZE cchName); 1042 int kLdrDyldGetFilename(HKLDRMOD hMod, char *pszFilename, KSIZE cchFilename); 1043 int kLdrDyldQuerySymbol(HKLDRMOD hMod, KU32 uSymbolOrdinal, const char *pszSymbolName, 1044 const char *pszSymbolVersion, KUPTR *pValue, KU32 *pfKind); 1045 int kLdrDyldQueryResource(HKLDRMOD hMod, KU32 idType, const char *pszType, KU32 idName, 1046 const char *pszName, KU32 idLang, void **pvRsrc, KSIZE *pcbRsrc); 1047 int kLdrDyldEnumResources(HKLDRMOD hMod, KU32 idType, const char *pszType, KU32 idName, 1048 const char *pszName, KU32 idLang, PFNKLDRENUMRSRC pfnCallback, void *pvUser); 1049 1049 1050 1050 /** @name OS/2 like API … … 1055 1055 # define KLDROS2API 1056 1056 #endif 1057 int kLdrDosLoadModule(char *pszObject, size_tcbObject, const char *pszModule, PHKLDRMOD phMod);1057 int kLdrDosLoadModule(char *pszObject, KSIZE cbObject, const char *pszModule, PHKLDRMOD phMod); 1058 1058 int kLdrDosFreeModule(HKLDRMOD hMod); 1059 1059 int kLdrDosQueryModuleHandle(const char *pszModname, PHKLDRMOD phMod); 1060 int kLdrDosQueryModuleName(HKLDRMOD hMod, size_tcchName, char *pszName);1061 int kLdrDosQueryProcAddr(HKLDRMOD hMod, uint32_tiOrdinal, const char *pszProcName, void **ppvProcAddr);1062 int kLdrDosQueryProcType(HKLDRMOD hMod, uint32_t iOrdinal, const char *pszProcName, uint32_t*pfProcType);1063 int kLdrDosQueryModFromEIP(PHKLDRMOD phMod, uint32_t *piObject, size_t cbName, char *pszName, uintptr_t *poffObject, uintptr_tulEIP);1060 int kLdrDosQueryModuleName(HKLDRMOD hMod, KSIZE cchName, char *pszName); 1061 int kLdrDosQueryProcAddr(HKLDRMOD hMod, KU32 iOrdinal, const char *pszProcName, void **ppvProcAddr); 1062 int kLdrDosQueryProcType(HKLDRMOD hMod, KU32 iOrdinal, const char *pszProcName, KU32 *pfProcType); 1063 int kLdrDosQueryModFromEIP(PHKLDRMOD phMod, KU32 *piObject, KSIZE cbName, char *pszName, KUPTR *poffObject, KUPTR ulEIP); 1064 1064 int kLdrDosReplaceModule(const char *pszOldModule, const char *pszNewModule, const char *pszBackupModule); 1065 int kLdrDosGetResource(HKLDRMOD hMod, uint32_t idType, uint32_tidName, void **pvResAddr);1066 int kLdrDosQueryResourceSize(HKLDRMOD hMod, uint32_t idType, uint32_t idName, uint32_t*pcb);1065 int kLdrDosGetResource(HKLDRMOD hMod, KU32 idType, KU32 idName, void **pvResAddr); 1066 int kLdrDosQueryResourceSize(HKLDRMOD hMod, KU32 idType, KU32 idName, KU32 *pcb); 1067 1067 int kLdrDosFreeResource(void *pvResAddr); 1068 1068 /** @} */ … … 1085 1085 #endif 1086 1086 HKLDRMOD KLDRWINAPI kLdrWLoadLibrary(const char *pszFilename); 1087 HKLDRMOD KLDRWINAPI kLdrWLoadLibraryEx(const char *pszFilename, void *hFileReserved, uint32_tfFlags);1088 uint32_t KLDRWINAPI kLdrWGetModuleFileName(HKLDRMOD hMod, char *pszModName, size_tcchModName);1087 HKLDRMOD KLDRWINAPI kLdrWLoadLibraryEx(const char *pszFilename, void *hFileReserved, KU32 fFlags); 1088 KU32 KLDRWINAPI kLdrWGetModuleFileName(HKLDRMOD hMod, char *pszModName, KSIZE cchModName); 1089 1089 HKLDRMOD KLDRWINAPI kLdrWGetModuleHandle(const char *pszFilename); 1090 int KLDRWINAPI kLdrWGetModuleHandleEx( uint32_tfFlags, const char *pszFilename, HKLDRMOD hMod);1090 int KLDRWINAPI kLdrWGetModuleHandleEx(KU32 fFlags, const char *pszFilename, HKLDRMOD hMod); 1091 1091 void * KLDRWINAPI kLdrWGetProcAddress(HKLDRMOD hMod, const char *pszProcName); 1092 uint32_t KLDRWINAPI kLdrWGetDllDirectory(size_tcchDir, char *pszDir);1092 KU32 KLDRWINAPI kLdrWGetDllDirectory(KSIZE cchDir, char *pszDir); 1093 1093 int KLDRWINAPI kLdrWSetDllDirectory(const char *pszDir); 1094 1094 int KLDRWINAPI kLdrWFreeLibrary(HKLDRMOD hMod); … … 1100 1100 typedef struct KLDRWRSRCLOADED *HKLDRWRSRCLOADED; 1101 1101 HKLDRWRSRCFOUND KLDRWINAPI kLdrWFindResource(HKLDRMOD hMod, const char *pszType, const char *pszName); 1102 HKLDRWRSRCFOUND KLDRWINAPI kLdrWFindResourceEx(HKLDRMOD hMod, const char *pszType, const char *pszName, uint16_tidLang);1103 uint32_tKLDRWINAPI kLdrWSizeofResource(HKLDRMOD hMod, HKLDRWRSRCFOUND hFoundRsrc);1102 HKLDRWRSRCFOUND KLDRWINAPI kLdrWFindResourceEx(HKLDRMOD hMod, const char *pszType, const char *pszName, KU16 idLang); 1103 KU32 KLDRWINAPI kLdrWSizeofResource(HKLDRMOD hMod, HKLDRWRSRCFOUND hFoundRsrc); 1104 1104 HKLDRWRSRCLOADED KLDRWINAPI kLdrWLoadResource(HKLDRMOD hMod, HKLDRWRSRCFOUND hFoundRsrc); 1105 1105 void *KLDRWINAPI kLdrWLockResource(HKLDRMOD hMod, HKLDRWRSRCLOADED hLoadedRsrc); 1106 1106 int KLDRWINAPI kLdrWFreeResource(HKLDRMOD hMod, HKLDRWRSRCLOADED hLoadedRsrc); 1107 1107 1108 typedef int (KLDRWINAPI *PFNKLDRWENUMRESTYPE)(HKLDRMOD hMod, const char *pszType, uintptr_tuUser);1109 int KLDRWINAPI kLdrWEnumResourceTypes(HKLDRMOD hMod, PFNKLDRWENUMRESTYPE pfnEnum, uintptr_tuUser);1110 int KLDRWINAPI kLdrWEnumResourceTypesEx(HKLDRMOD hMod, PFNKLDRWENUMRESTYPE pfnEnum, uintptr_t uUser, uint32_t fFlags, uint16_tidLang);1111 1112 typedef int (KLDRWINAPI *PFNKLDRWENUMRESNAME)(HKLDRMOD hMod, const char *pszType, char *pszName, uintptr_tuUser);1113 int KLDRWINAPI kLdrWEnumResourceNames(HKLDRMOD hMod, const char *pszType, PFNKLDRWENUMRESNAME pfnEnum, uintptr_tuUser);1114 int KLDRWINAPI kLdrWEnumResourceNamesEx(HKLDRMOD hMod, const char *pszType, PFNKLDRWENUMRESNAME pfnEnum, uintptr_t uUser, uint32_t fFlags, uint16_tidLang);1115 1116 typedef int (KLDRWINAPI *PFNKLDRWENUMRESLANG)(HKLDRMOD hMod, const char *pszType, const char *pszName, uint16_t idLang, uintptr_tuUser);1117 int KLDRWINAPI kLdrWEnumResourceLanguages(HKLDRMOD hMod, const char *pszType, const char *pszName, PFNKLDRWENUMRESLANG pfnEnum, uintptr_tuUser);1108 typedef int (KLDRWINAPI *PFNKLDRWENUMRESTYPE)(HKLDRMOD hMod, const char *pszType, KUPTR uUser); 1109 int KLDRWINAPI kLdrWEnumResourceTypes(HKLDRMOD hMod, PFNKLDRWENUMRESTYPE pfnEnum, KUPTR uUser); 1110 int KLDRWINAPI kLdrWEnumResourceTypesEx(HKLDRMOD hMod, PFNKLDRWENUMRESTYPE pfnEnum, KUPTR uUser, KU32 fFlags, KU16 idLang); 1111 1112 typedef int (KLDRWINAPI *PFNKLDRWENUMRESNAME)(HKLDRMOD hMod, const char *pszType, char *pszName, KUPTR uUser); 1113 int KLDRWINAPI kLdrWEnumResourceNames(HKLDRMOD hMod, const char *pszType, PFNKLDRWENUMRESNAME pfnEnum, KUPTR uUser); 1114 int KLDRWINAPI kLdrWEnumResourceNamesEx(HKLDRMOD hMod, const char *pszType, PFNKLDRWENUMRESNAME pfnEnum, KUPTR uUser, KU32 fFlags, KU16 idLang); 1115 1116 typedef int (KLDRWINAPI *PFNKLDRWENUMRESLANG)(HKLDRMOD hMod, const char *pszType, const char *pszName, KU16 idLang, KUPTR uUser); 1117 int KLDRWINAPI kLdrWEnumResourceLanguages(HKLDRMOD hMod, const char *pszType, const char *pszName, PFNKLDRWENUMRESLANG pfnEnum, KUPTR uUser); 1118 1118 int KLDRWINAPI kLdrWEnumResourceLanguagesEx(HKLDRMOD hMod, const char *pszType, const char *pszName, 1119 PFNKLDRWENUMRESLANG pfnEnum, uintptr_t uUser, uint32_t fFlags, uint16_tidLang);1119 PFNKLDRWENUMRESLANG pfnEnum, KUPTR uUser, KU32 fFlags, KU16 idLang); 1120 1120 /** @} */ 1121 1121 … … 1130 1130 { 1131 1131 /** Load & search flags, some which will become defaults. */ 1132 uint32_tfFlags;1132 KU32 fFlags; 1133 1133 /** The default search method. */ 1134 1134 KLDRDYLDSEARCH enmSearch; … … 1140 1140 char szDefSuffix[16]; 1141 1141 /** The LD_LIBRARY_PATH prefix for the process.. */ 1142 char szLibPath[4096 - sizeof( uint32_t) - sizeof(KLDRDYLDSEARCH) - 16 - 16 - 260];1142 char szLibPath[4096 - sizeof(KU32) - sizeof(KLDRDYLDSEARCH) - 16 - 16 - 260]; 1143 1143 } KLDREXEARGS, *PKLDREXEARGS; 1144 1144 /** Pointer to a const argument package from the stub. */
Note:
See TracChangeset
for help on using the changeset viewer.