VirtualBox

Changeset 69977 in vbox for trunk/src/VBox/Runtime/common/fs


Ignore:
Timestamp:
Dec 7, 2017 1:02:36 PM (7 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
119483
Message:

IPRT/vfs: Implemented RTVFsFileSetSize, RTVfsFileGetMaxSize and RTvfsFileQueryMaxSize.

Location:
trunk/src/VBox/Runtime/common/fs
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Runtime/common/fs/fatvfs.cpp

    r69844 r69977  
    25132513    PRTFSFATFILESHRD pShared = pThis->pShared;
    25142514    *pcbFile = pShared->Core.cbObject;
     2515    return VINF_SUCCESS;
     2516}
     2517
     2518
     2519/**
     2520 * @interface_method_impl{RTVFSFILEOPS,pfnSetSize}
     2521 */
     2522static DECLCALLBACK(int) rtFsFatFile_SetSize(void *pvThis, uint64_t cbFile, uint32_t fFlags)
     2523{
     2524    PRTFSFATFILE     pThis   = (PRTFSFATFILE)pvThis;
     2525    PRTFSFATFILESHRD pShared = pThis->pShared;
     2526    AssertReturn(!fFlags, VERR_NOT_SUPPORTED);
     2527    if (cbFile > UINT32_MAX)
     2528        return VERR_FILE_TOO_BIG;
     2529    return rtFsFatObj_SetSize(&pShared->Core, (uint32_t)cbFile);
     2530}
     2531
     2532
     2533/**
     2534 * @interface_method_impl{RTVFSFILEOPS,pfnQueryMaxSize}
     2535 */
     2536static DECLCALLBACK(int) rtFsFatFile_QueryMaxSize(void *pvThis, uint64_t *pcbMax)
     2537{
     2538    RT_NOREF(pvThis);
     2539    *pcbMax = UINT32_MAX;
    25152540    return VINF_SUCCESS;
    25162541}
     
    25542579    rtFsFatFile_Seek,
    25552580    rtFsFatFile_QuerySize,
     2581    rtFsFatFile_SetSize,
     2582    rtFsFatFile_QueryMaxSize,
    25562583    RTVFSFILEOPS_VERSION
    25572584};
  • trunk/src/VBox/Runtime/common/fs/isomaker.cpp

    r69955 r69977  
    73817381    rtFsIsoMakerOutFile_Seek,
    73827382    rtFsIsoMakerOutFile_QuerySize,
     7383    NULL /*SetSize*/,
     7384    NULL /*QueryMaxSize*/,
    73837385    RTVFSFILEOPS_VERSION
    73847386};
  • trunk/src/VBox/Runtime/common/fs/isovfs.cpp

    r69955 r69977  
    21612161    rtFsIsoFile_Seek,
    21622162    rtFsIsoFile_QuerySize,
     2163    NULL /*SetSize*/,
     2164    NULL /*QueryMaxSize*/,
    21632165    RTVFSFILEOPS_VERSION
    21642166};
  • trunk/src/VBox/Runtime/common/fs/ntfsvfs.cpp

    r69962 r69977  
    23372337
    23382338/**
     2339 * @interface_method_impl{RTVFSFILEOPS,pfnSetSize}
     2340 */
     2341static DECLCALLBACK(int) rtFsNtfsFile_SetSize(void *pvThis, uint64_t cbFile, uint32_t fFlags)
     2342{
     2343    NOREF(pvThis); NOREF(cbFile); NOREF(fFlags);
     2344    return VERR_NOT_IMPLEMENTED;
     2345}
     2346
     2347
     2348/**
     2349 * @interface_method_impl{RTVFSFILEOPS,pfnQueryMaxSize}
     2350 */
     2351static DECLCALLBACK(int) rtFsNtfsFile_QueryMaxSize(void *pvThis, uint64_t *pcbMax)
     2352{
     2353    RT_NOREF(pvThis);
     2354    *pcbMax = INT64_MAX;
     2355    return VINF_SUCCESS;
     2356}
     2357
     2358
     2359/**
    23392360 * NTFS file operations.
    23402361 */
     
    23732394    rtFsNtfsFile_Seek,
    23742395    rtFsNtfsFile_QuerySize,
     2396    rtFsNtfsFile_SetSize,
     2397    rtFsNtfsFile_QueryMaxSize,
    23752398    RTVFSFILEOPS_VERSION
    23762399};
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