VirtualBox

Ignore:
Timestamp:
Nov 12, 2010 3:02:30 PM (14 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
67711
Message:

iprt/vfs.h: RTVfsSymlink*. build fix.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Runtime/common/vfs/vfsbase.cpp

    r34030 r34031  
    4141
    4242#include "internal/file.h"
     43#include "internal/fs.h"
    4344#include "internal/magics.h"
    4445//#include "internal/vfs.h"
     
    351352    RTVFSLOCKINTERNAL *pThis = hLock;
    352353    AssertPtrReturn(pThis, UINT32_MAX);
    353     AssertPtrReturn(pThis->enmType > RTVFSLOCKTYPE_INVALID && pThis->enmType < RTVFSLOCKTYPE_END, UINT32_MAX);
     354    AssertReturn(pThis->enmType > RTVFSLOCKTYPE_INVALID && pThis->enmType < RTVFSLOCKTYPE_END, UINT32_MAX);
    354355
    355356    uint32_t cRefs = ASMAtomicIncU32(&pThis->cRefs);
     
    396397    RTVFSLOCKINTERNAL *pThis = hLock;
    397398    AssertPtrReturn(pThis, UINT32_MAX);
    398     AssertPtrReturn(pThis->enmType > RTVFSLOCKTYPE_INVALID && pThis->enmType < RTVFSLOCKTYPE_END, UINT32_MAX);
     399    AssertReturn(pThis->enmType > RTVFSLOCKTYPE_INVALID && pThis->enmType < RTVFSLOCKTYPE_END, UINT32_MAX);
    399400
    400401    uint32_t cRefs = ASMAtomicDecU32(&pThis->cRefs);
     
    17081709
    17091710
    1710 RTDECL(int)         RTVfsSymlinkRead(RTVFSSYMLINK hVfsSym, char *pszTarget, size_t cbTarget)
     1711RTDECL(int)         RTVfsSymlinkQueryInfo(RTVFSSYMLINK hVfsSym, PRTFSOBJINFO pObjInfo, RTFSOBJATTRADD enmAddAttr)
     1712{
     1713    RTVFSSYMLINKINTERNAL *pThis = hVfsSym;
     1714    AssertPtrReturn(pThis, VERR_INVALID_HANDLE);
     1715    AssertReturn(pThis->uMagic == RTVFSSYMLINK_MAGIC, VERR_INVALID_HANDLE);
     1716    return RTVfsObjQueryInfo(&pThis->Base, pObjInfo, enmAddAttr);
     1717}
     1718
     1719
     1720RTDECL(int)  RTVfsSymlinkSetMode(RTVFSSYMLINK hVfsSym, RTFMODE fMode, RTFMODE fMask)
     1721{
     1722    RTVFSSYMLINKINTERNAL *pThis = hVfsSym;
     1723    AssertPtrReturn(pThis, VERR_INVALID_HANDLE);
     1724    AssertReturn(pThis->uMagic == RTVFSSYMLINK_MAGIC, VERR_INVALID_HANDLE);
     1725
     1726    fMode = rtFsModeNormalize(fMode, NULL, 0);
     1727    if (!rtFsModeIsValid(fMode))
     1728        return VERR_INVALID_PARAMETER;
     1729
     1730    RTVfsLockAcquireWrite(pThis->Base.hLock);
     1731    int rc = pThis->pOps->ObjSet.pfnSetMode(pThis->Base.pvThis, fMode, fMask);
     1732    RTVfsLockReleaseWrite(pThis->Base.hLock);
     1733    return rc;
     1734}
     1735
     1736
     1737RTDECL(int) RTVfsSymlinkSetTimes(RTVFSSYMLINK hVfsSym, PCRTTIMESPEC pAccessTime, PCRTTIMESPEC pModificationTime,
     1738                                 PCRTTIMESPEC pChangeTime, PCRTTIMESPEC pBirthTime)
     1739{
     1740    RTVFSSYMLINKINTERNAL *pThis = hVfsSym;
     1741    AssertPtrReturn(pThis, VERR_INVALID_HANDLE);
     1742    AssertReturn(pThis->uMagic == RTVFSSYMLINK_MAGIC, VERR_INVALID_HANDLE);
     1743
     1744    AssertPtrNullReturn(pAccessTime, VERR_INVALID_POINTER);
     1745    AssertPtrNullReturn(pModificationTime, VERR_INVALID_POINTER);
     1746    AssertPtrNullReturn(pChangeTime, VERR_INVALID_POINTER);
     1747    AssertPtrNullReturn(pBirthTime, VERR_INVALID_POINTER);
     1748
     1749    RTVfsLockAcquireWrite(pThis->Base.hLock);
     1750    int rc = pThis->pOps->ObjSet.pfnSetTimes(pThis->Base.pvThis, pAccessTime, pModificationTime, pChangeTime, pBirthTime);
     1751    RTVfsLockReleaseWrite(pThis->Base.hLock);
     1752    return rc;
     1753}
     1754
     1755
     1756RTDECL(int) RTVfsSymlinkSetOwner(RTVFSSYMLINK hVfsSym, RTUID uid, RTGID gid)
     1757{
     1758    RTVFSSYMLINKINTERNAL *pThis = hVfsSym;
     1759    AssertPtrReturn(pThis, VERR_INVALID_HANDLE);
     1760    AssertReturn(pThis->uMagic == RTVFSSYMLINK_MAGIC, VERR_INVALID_HANDLE);
     1761
     1762    RTVfsLockAcquireWrite(pThis->Base.hLock);
     1763    int rc = pThis->pOps->ObjSet.pfnSetOwner(pThis->Base.pvThis, uid, gid);
     1764    RTVfsLockReleaseWrite(pThis->Base.hLock);
     1765    return rc;
     1766}
     1767
     1768
     1769RTDECL(int) RTVfsSymlinkRead(RTVFSSYMLINK hVfsSym, char *pszTarget, size_t cbTarget)
    17111770{
    17121771    RTVFSSYMLINKINTERNAL *pThis = hVfsSym;
     
    20192078
    20202079
     2080RTDECL(bool) RTVfsIoStrmIsAtEnd(RTVFSIOSTREAM hVfsIos)
     2081{
     2082    /*
     2083     * There is where the zero read behavior comes in handy.
     2084     */
     2085    char    bDummy;
     2086    size_t  cbRead;
     2087    int rc = RTVfsIoStrmRead(hVfsIos, &bDummy, 0 /*cbToRead*/, false /*fBlocking*/, &cbRead);
     2088    return rc == VINF_EOF;
     2089}
     2090
     2091
     2092
    20212093
    20222094
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