VirtualBox

Changeset 73375 in vbox for trunk/include


Ignore:
Timestamp:
Jul 27, 2018 7:59:25 AM (7 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
123993
Message:

IPRT: Added RTLDRPROP_UNWIND_INFO to RTLdrQueryPropEx. Added RTDbgModImageQueryProp, RTDbgModImageGetArch, and RTDbgModImageGetFormat.

Location:
trunk/include/iprt
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/include/iprt/dbg.h

    r73359 r73375  
    10891089
    10901090/**
    1091  * Image size when mapped if segments are mapped adjacently.
    1092  *
    1093  * For ELF, PE, and Mach-O images this is (usually) a natural query, for LX and
    1094  * NE and such it's a bit odder and the answer may not make much sense for them.
    1095  *
    1096  * @returns Image mapped size.
    1097  *          RTUINTPTR_MAX is returned if the handle is invalid.
    1098  *
    1099  * @param   hDbgMod         The module handle.
    1100  */
    1101 RTDECL(RTUINTPTR)   RTDbgModImageSize(RTDBGMOD hDbgMod);
    1102 
    1103 /**
    11041091 * Gets the module tag value if any.
    11051092 *
     
    11241111 */
    11251112RTDECL(int)         RTDbgModSetTag(RTDBGMOD hDbgMod, uint64_t uTag);
     1113
     1114
     1115/**
     1116 * Image size when mapped if segments are mapped adjacently.
     1117 *
     1118 * For ELF, PE, and Mach-O images this is (usually) a natural query, for LX and
     1119 * NE and such it's a bit odder and the answer may not make much sense for them.
     1120 *
     1121 * @returns Image mapped size.
     1122 *          RTUINTPTR_MAX is returned if the handle is invalid.
     1123 *
     1124 * @param   hDbgMod         The module handle.
     1125 */
     1126RTDECL(RTUINTPTR)   RTDbgModImageSize(RTDBGMOD hDbgMod);
     1127
     1128/**
     1129 * Gets the image format.
     1130 *
     1131 * @returns Image format.
     1132 * @retval  RTLDRFMT_INVALID if the handle is invalid or if the format isn't known.
     1133 * @param   hDbgMod         The debug module handle.
     1134 * @sa      RTLdrGetFormat
     1135 */
     1136RTDECL(RTLDRFMT)    RTDbgModImageGetFormat(RTDBGMOD hDbgMod);
     1137
     1138/**
     1139 * Gets the image architecture.
     1140 *
     1141 * @returns Image architecture.
     1142 * @retval  RTLDRARCH_INVALID if the handle is invalid.
     1143 * @retval  RTLDRARCH_WHATEVER if unknown.
     1144 * @param   hDbgMod         The debug module handle.
     1145 * @sa      RTLdrGetArch
     1146 */
     1147RTDECL(RTLDRARCH)   RTDbgModImageGetArch(RTDBGMOD hDbgMod);
     1148
     1149/**
     1150 * Generic method for querying image properties.
     1151 *
     1152 * @returns IPRT status code.
     1153 * @retval  VERR_NOT_SUPPORTED if the property query isn't supported (either all
     1154 *          or that specific property).  The caller must handle this result.
     1155 * @retval  VERR_NOT_FOUND the property was not found in the module.  The caller
     1156 *          must also normally deal with this.
     1157 * @retval  VERR_INVALID_FUNCTION if the function value is wrong.
     1158 * @retval  VERR_INVALID_PARAMETER if the fixed buffer size is wrong. Correct
     1159 *          size in @a *pcbRet.
     1160 * @retval  VERR_BUFFER_OVERFLOW if the function doesn't have a fixed size
     1161 *          buffer and the buffer isn't big enough. Correct size in @a *pcbRet.
     1162 * @retval  VERR_INVALID_HANDLE if the handle is invalid.
     1163 *
     1164 * @param   hDbgMod         The debug module handle.
     1165 * @param   enmProp         The property to query.
     1166 * @param   pvBuf           Pointer to the input / output buffer.  In most cases
     1167 *                          it's only used for returning data.
     1168 * @param   cbBuf           The size of the buffer.
     1169 * @param   pcbRet          Where to return the amount of data returned.  On
     1170 *                          buffer size errors, this is set to the correct size.
     1171 *                          Optional.
     1172 * @sa      RTLdrQueryPropEx
     1173 */
     1174RTDECL(int)         RTDbgModImageQueryProp(RTDBGMOD hDbgMod, RTLDRPROP enmProp, void *pvBuf, size_t cbBuf, size_t *pcbRet);
    11261175
    11271176
  • trunk/include/iprt/ldr.h

    r73150 r73375  
    10941094     * Returns zero terminated string. */
    10951095    RTLDRPROP_INTERNAL_NAME,
     1096    /** The raw unwind info if available.
     1097     * For PE this means IMAGE_DIRECTORY_ENTRY_EXCEPTION.  Not implemented any
     1098     * others yet.  */
     1099    RTLDRPROP_UNWIND_INFO,
    10961100
    10971101    /** End of valid properties.  */
  • trunk/include/iprt/mangling.h

    r73334 r73375  
    721721# define RTDbgModCreateFromMachOImage                   RT_MANGLER(RTDbgModCreateFromMachOImage)
    722722# define RTDbgModGetTag                                 RT_MANGLER(RTDbgModGetTag)
     723# define RTDbgModImageGetArch                           RT_MANGLER(RTDbgModImageGetArch)
     724# define RTDbgModImageGetFormat                         RT_MANGLER(RTDbgModImageGetFormat)
    723725# define RTDbgModImageSize                              RT_MANGLER(RTDbgModImageSize)
     726# define RTDbgModImageQueryProp                         RT_MANGLER(RTDbgModImageQueryProp)
    724727# define RTDbgModIsDeferred                             RT_MANGLER(RTDbgModIsDeferred)
    725728# define RTDbgModIsExports                              RT_MANGLER(RTDbgModIsExports)
Note: See TracChangeset for help on using the changeset viewer.

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette