VirtualBox

Changeset 49044 in vbox for trunk/include/iprt


Ignore:
Timestamp:
Oct 11, 2013 1:06:28 AM (12 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
89827
Message:

Darwin guest OS digger hacking in progress. Adding symbol cache util to iprt and started on the Mach-O code that'll make use of it (RTDbgModCreateFromMachOImage++). Updates kStuff from 53 to 55 for UUID query and 64-bit kext loading.

Location:
trunk/include/iprt
Files:
3 edited

Legend:

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

    r46165 r49044  
    55
    66/*
    7  * Copyright (C) 2008-2012 Oracle Corporation
     7 * Copyright (C) 2008-2013 Oracle Corporation
    88 *
    99 * This file is part of VirtualBox Open Source Edition (OSE), as
     
    941941RTDECL(int)         RTDbgModCreateFromDwo(PRTDBGMOD phDbgMod, const char *pszFilename, const char *pszName, uint32_t cbImage,
    942942                                          uint32_t uCrc32, RTDBGCFG hDbgCfg);
     943RTDECL(int)         RTDbgModCreateFromMachOImage(PRTDBGMOD phDbgMod, const char *pszFilename, const char *pszName,
     944                                                 RTLDRARCH enmArch, uint32_t cbImage, uint32_t cSegs, PCRTDBGSEGMENT paSegs,
     945                                                 PCRTUUID pUuid, RTDBGCFG hDbgCfg, uint32_t fFlags);
     946
     947/** @name Flags for RTDbgModCreate and friends.
     948 * @{ */
     949/** Overrides the hDbgCfg settings and forces an image and/or symbol file
     950 *  search.  RTDbgModCreate will quietly ignore this flag. */
     951#define RTDBGMOD_F_NOT_DEFERRED     RT_BIT_32(0)
     952/** @} */
    943953
    944954
  • trunk/include/iprt/ldr.h

    r46593 r49044  
    828828RTDECL(RTLDRARCH) RTLdrGetArch(RTLDRMOD hLdrMod);
    829829
     830/**
     831 * Loader properties that can be queried thru RTLdrQueryProp.
     832 */
     833typedef enum RTLDRPROP
     834{
     835    RTLDRPROP_INVALID = 0,
     836    /** The image UUID (Mach-O).
     837     * Returns a RTUUID in the buffer. */
     838    RTLDRPROP_UUID,
     839    /** The image timestamp in seconds, genrally since unix epoc.
     840     * Returns a 32-bit or 64-bit signed integer value in the buffer. */
     841    RTLDRPROP_TIMESTAMP_SECONDS,
     842    /** End of valid properties.  */
     843    RTLDRPROP_END,
     844    /** Blow the type up to 32 bits. */
     845    RTLDRPROP_32BIT_HACK = 0x7fffffff
     846} RTLDRPROP;
     847
     848/**
     849 * Generic method for querying image properties.
     850 *
     851 * @returns IPRT status code.
     852 * @retval  VERR_NOT_SUPPORTED if the property query isn't supported (either all
     853 *          or that specific property).  The caller must handle this result.
     854 * @retval  VERR_NOT_FOUND the property was not found in the module.  The caller
     855 *          must also normally deal with this.
     856 * @retval  VERR_INVALID_FUNCTION if the function value is wrong.
     857 * @retval  VERR_INVALID_PARAMETER if the buffer size is wrong.
     858 * @retval  VERR_INVALID_HANDLE if the handle is invalid.
     859 *
     860 * @param   hLdrMod         The module handle.
     861 * @param   enmLdrProp      The property to query.
     862 * @param   pvBuf           Pointer to the return buffer.
     863 * @param   cbBuf           The size of the return buffer.
     864 */
     865RTDECL(int) RTLdrQueryProp(RTLDRMOD hLdrMod, RTLDRPROP enmProp, void *pvBuf, size_t cbBuf);
    830866
    831867RT_C_DECLS_END
  • trunk/include/iprt/mangling.h

    r49039 r49044  
    395395# define RTDbgModCreateFromPdb                          RT_MANGLER(RTDbgModCreateFromPdb)
    396396# define RTDbgModCreateFromPeImage                      RT_MANGLER(RTDbgModCreateFromPeImage)
     397# define RTDbgModCreateFromMachOImage                   RT_MANGLER(RTDbgModCreateFromMachOImage)
    397398# define RTDbgModGetTag                                 RT_MANGLER(RTDbgModGetTag)
    398399# define RTDbgModImageSize                              RT_MANGLER(RTDbgModImageSize)
     
    523524# define RTFileChangeLock                               RT_MANGLER(RTFileChangeLock)
    524525# define RTFileClose                                    RT_MANGLER(RTFileClose)
     526# define RTFileCompare                                  RT_MANGLER(RTFileCompare)
     527# define RTFileCompareByHandles                         RT_MANGLER(RTFileCompareByHandles)
     528# define RTFileCompareByHandlesEx                       RT_MANGLER(RTFileCompareByHandlesEx)
     529# define RTFileCompareEx                                RT_MANGLER(RTFileCompareEx)
    525530# define RTFileCopy                                     RT_MANGLER(RTFileCopy)
    526531# define RTFileCopyByHandles                            RT_MANGLER(RTFileCopyByHandles)
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