VirtualBox

Changeset 68817 in vbox for trunk/include


Ignore:
Timestamp:
Sep 22, 2017 12:34:16 PM (7 years ago)
Author:
vboxsync
Message:

IPRT/isomaker: Added default 16 sector image padding (allegedly a workaround for various read ahead bugs) and a bunch of other things.

Location:
trunk/include/iprt
Files:
2 edited

Legend:

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

    r68813 r68817  
    126126 */
    127127RTDECL(int) RTFsIsoMakerSetJolietRockRidgeLevel(RTFSISOMAKER hIsoMaker, uint8_t uLevel);
     128
     129/**
     130 * Changes the file attribute (mode, owner, group) inherit style (from source).
     131 *
     132 * The strict style will use the exact attributes from the source, where as the
     133 * non-strict (aka rational and default) style will use 0 for the owner and
     134 * group IDs and normalize the mode bits along the lines of 'chmod a=rX',
     135 * stripping set-uid/gid bitson files but preserving sticky ones on directories.
     136 *
     137 * When disabling strict style, the default dir and file modes will be restored
     138 * to default values.
     139 *
     140 * @returns IRPT status code.
     141 * @param   hIsoMaker           The ISO maker handle.
     142 * @param   fStrict             Indicates strict (true) or non-strict (false)
     143 *                              style.
     144 */
     145RTDECL(int) RTFsIsoMakerSetAttribInheritStyle(RTFSISOMAKER hIsoMaker, bool fStrict);
    128146
    129147/**
     
    227245
    228246/**
     247 * Specifies image padding.
     248 *
     249 * @returns IPRT status code.
     250 * @param   hIsoMaker           The ISO maker handle.
     251 * @param   cSectors            Number of sectors to pad the image with.
     252 */
     253RTDECL(int) RTFsIsoMakerSetImagePadding(RTFSISOMAKER hIsoMaker, uint32_t cSectors);
     254
     255/**
    229256 * Resolves a path into a object ID.
    230257 *
     
    495522 */
    496523RTDECL(int) RTFsIsoMakerAddSymlink(RTFSISOMAKER hIsoMaker, const char *pszSymlink, const char *pszTarget, uint32_t *pidxObj);
     524
     525/**
     526 * Modifies the mode mask for a given path in one or more namespaces.
     527 *
     528 * The mode mask is used by rock ridge, UDF and HFS.
     529 *
     530 * @returns IPRT status code.
     531 * @retval  VWRN_NOT_FOUND if the path wasn't found in any of the specified
     532 *          namespaces.
     533 *
     534 * @param   hIsoMaker           The ISO maker handler.
     535 * @param   pszPath             The path which mode mask should be modified.
     536 * @param   fNamespaces         The namespaces to set it in.
     537 * @param   fSet                The mode bits to set.
     538 * @param   fUnset              The mode bits to clear (applied first).
     539 * @param   fFlags              Reserved, MBZ.
     540 * @param   pcHits              Where to return number of paths found. Optional.
     541 */
     542RTDECL(int) RTFsIsoMakerSetPathMode(RTFSISOMAKER hIsoMaker, const char *pszPath, uint32_t fNamespaces,
     543                                    RTFMODE fSet, RTFMODE fUnset, uint32_t fFlags, uint32_t *pcHits);
     544
     545/**
     546 * Modifies the owner ID for a given path in one or more namespaces.
     547 *
     548 * The owner ID is used by rock ridge, UDF and HFS.
     549 *
     550 * @returns IPRT status code.
     551 * @retval  VWRN_NOT_FOUND if the path wasn't found in any of the specified
     552 *          namespaces.
     553 *
     554 * @param   hIsoMaker           The ISO maker handler.
     555 * @param   pszPath             The path which mode mask should be modified.
     556 * @param   fNamespaces         The namespaces to set it in.
     557 * @param   idOwner             The new owner ID to set.
     558 * @param   pcHits              Where to return number of paths found. Optional.
     559 */
     560RTDECL(int) RTFsIsoMakerSetPathOwnerId(RTFSISOMAKER hIsoMaker, const char *pszPath, uint32_t fNamespaces,
     561                                       RTUID idOwner, uint32_t *pcHits);
     562
     563/**
     564 * Modifies the group ID for a given path in one or more namespaces.
     565 *
     566 * The group ID is used by rock ridge, UDF and HFS.
     567 *
     568 * @returns IPRT status code.
     569 * @retval  VWRN_NOT_FOUND if the path wasn't found in any of the specified
     570 *          namespaces.
     571 *
     572 * @param   hIsoMaker           The ISO maker handler.
     573 * @param   pszPath             The path which mode mask should be modified.
     574 * @param   fNamespaces         The namespaces to set it in.
     575 * @param   idGroup             The new group ID to set.
     576 * @param   pcHits              Where to return number of paths found. Optional.
     577 */
     578RTDECL(int) RTFsIsoMakerSetPathGroupId(RTFSISOMAKER hIsoMaker, const char *pszPath, uint32_t fNamespaces,
     579                                       RTGID idGroup, uint32_t *pcHits);
    497580
    498581/**
  • trunk/include/iprt/mangling.h

    r68813 r68817  
    930930# define RTFsIsoMakerQueryObjIdxForBootCatalog          RT_MANGLER(RTFsIsoMakerQueryObjIdxForBootCatalog)
    931931# define RTFsIsoMakerGetIso9660Level                    RT_MANGLER(RTFsIsoMakerGetIso9660Level)
     932# define RTFsIsoMakerSetImagePadding                    RT_MANGLER(RTFsIsoMakerSetImagePadding)
    932933# define RTFsIsoMakerSetIso9660Level                    RT_MANGLER(RTFsIsoMakerSetIso9660Level)
    933934# define RTFsIsoMakerSetJolietUcs2Level                 RT_MANGLER(RTFsIsoMakerSetJolietUcs2Level)
    934935# define RTFsIsoMakerSetRockRidgeLevel                  RT_MANGLER(RTFsIsoMakerSetRockRidgeLevel)
    935936# define RTFsIsoMakerSetJolietRockRidgeLevel            RT_MANGLER(RTFsIsoMakerSetJolietRockRidgeLevel)
     937# define RTFsIsoMakerSetAttribInheritStyle              RT_MANGLER(RTFsIsoMakerSetAttribInheritStyle)
    936938# define RTFsIsoMakerSetDefaultDirMode                  RT_MANGLER(RTFsIsoMakerSetDefaultDirMode)
    937939# define RTFsIsoMakerSetDefaultFileMode                 RT_MANGLER(RTFsIsoMakerSetDefaultFileMode)
    938940# define RTFsIsoMakerSetForcedDirMode                   RT_MANGLER(RTFsIsoMakerSetForcedDirMode)
    939941# define RTFsIsoMakerSetForcedFileMode                  RT_MANGLER(RTFsIsoMakerSetForcedFileMode)
     942# define RTFsIosMakerSetPathGroupId                     RT_MANGLER(RTFsIosMakerSetPathGroupId)
     943# define RTFsIosMakerSetPathMode                        RT_MANGLER(RTFsIosMakerSetPathMode)
     944# define RTFsIosMakerSetPathOwnerId                     RT_MANGLER(RTFsIosMakerSetPathOwnerId)
    940945# define RTFsIsoMakerSetSysAreaContent                  RT_MANGLER(RTFsIsoMakerSetSysAreaContent)
    941946# define RTFsIsoMakerSetStringProp                      RT_MANGLER(RTFsIsoMakerSetStringProp)
Note: See TracChangeset for help on using the changeset viewer.

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