Changeset 2849 for trunk/kLdr/kLdr.h
- Timestamp:
- Nov 2, 2006, 3:05:16 AM (19 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/kLdr/kLdr.h
r2848 r2849 281 281 /** @defgroup grp_kLdrMod kLdrMod - The executable image intepreter 282 282 * @{ */ 283 284 285 /** 286 * Debug info type (from the loader point of view). 287 */ 288 typedef enum KLDRDBGINFOTYPE 289 { 290 /** The usual invalid enum value. */ 291 KLDRDBGINFOTYPE_INVALID = 0, 292 /** Stabs. */ 293 KLDRDBGINFOTYPE_STABS, 294 /** Debug With Arbitrary Record Format (DWARF). */ 295 KLDRDBGINFOTYPE_DWARF, 296 /** Microsoft Codeview debug info. */ 297 KLDRDBGINFOTYPE_CODEVIEW, 298 /** Watcom debug info. */ 299 KLDRDBGINFOTYPE_WATCOM, 300 /** IBM High Level Language debug info.. */ 301 KLDRDBGINFOTYPE_HLL, 302 /** The end of the valid debug info values (exclusive). */ 303 KLDRDBGINFOTYPE_END, 304 /** Blow the type up to 32-bit. */ 305 KLDRDBGINFOTYPE_32BIT_HACK = 0x7fffffff 306 } KLDRDBGINFOTYPE; 307 /** Pointer to a kLdr debug info type. */ 308 typedef KLDRDBGINFOTYPE *PKLDRDBGINFOTYPE; 309 283 310 284 311 /** … … 433 460 } KLDRARCH; 434 461 462 435 463 /** 436 464 * CPU models. … … 607 635 * 608 636 * @returns 0 if enumeration should continue. 609 * @returns non-zero if the enumeration should stop. This status code is the returned by kLdrModEnumSymbols().637 * @returns non-zero if the enumeration should stop. This status code will then be returned by kLdrModEnumSymbols(). 610 638 * 611 639 * @param pMod The module which symbols are being enumerated.s … … 622 650 /** Pointer to a symbol enumerator callback. */ 623 651 typedef FNKLDRMODENUMSYMS *PFNKLDRMODENUMSYMS; 652 653 /** 654 * Debug info enumerator callback. 655 * 656 * @returns 0 to continue the enumeration. 657 * @returns non-zero if the enumeration should stop. This status code will then be returned by kLdrModEnumDbgInfo(). 658 * 659 * @param pMod The module. 660 * @param enmType The debug info type. 661 * @param iDbgInfo The debug info ordinal number / id. 662 * @param offFile The file offset *if* this type has one specific location in the executable image file. 663 * This is -1 if there isn't any specific file location. 664 * @param cbFile The file size. 665 * This is 0 if there isn't any specific file location. 666 * @param pszExtFile This points to the name of an external file containing the debug info. 667 * This is NULL if there isn't any external file. 668 * @param pvUser The user parameter specified to kLdrModEnumDbgInfo. 669 */ 670 typedef int FNKLDRENUMDBG(PKLDRMOD pMod, KLDRDBGINFOTYPE enmType, uint32_t iDbgInfo, off_t offFile, off_t cbFile, 671 const char *pszExtFile, void *pvUser); 624 672 625 673 int kLdrModOpen(const char *pszFilename, PPKLDRMOD ppMod); … … 637 685 int kLdrModGetStackInfo(PKLDRMOD pMod, void *pvBits, KLDRADDR BaseAddress, PKLDRSTACKINFO pStackInfo); 638 686 int kLdrModQueryMainEntrypoint(PKLDRMOD pMod, void *pvBits, KLDRADDR BaseAddress, PKLDRADDR pMainEPAddress); 639 size_t kLdrModSize(PKLDRMOD pMod); 687 /** Pointer to a debug info enumberator callback. */ 688 typedef FNKLDRENUMDBG *PFNKLDRENUMDBG; 689 int kLdrModEnumDbgInfo(PKLDRMOD pMod, void *pvBits, PFNKLDRENUMDBG pfnCallback, void *pvUser); 690 int kLdrModHasDbgInfo(PKLDRMOD pMod, void *pvBits); 640 691 641 692 /** @name Operations On The Internally Managed Mapping … … 654 705 /** @name Operations On The Externally Managed Mappings 655 706 * @{ */ 707 size_t kLdrModSize(PKLDRMOD pMod); 656 708 int kLdrModGetBits(PKLDRMOD pMod, void *pvBits, KLDRADDR BaseAddress, PFNKLDRMODGETIMPORT pfnGetImport, void *pvUser); 657 709 int kLdrModRelocateBits(PKLDRMOD pMod, void *pvBits, KLDRADDR NewBaseAddress, KLDRADDR OldBaseAddress, 658 710 PFNKLDRMODGETIMPORT pfnGetImport, void *pvUser); 659 711 /** @} */ 712 660 713 661 714 /** @} */
Note:
See TracChangeset
for help on using the changeset viewer.