Changeset 34031 in vbox for trunk/include/iprt/vfs.h
- Timestamp:
- Nov 12, 2010 3:02:30 PM (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/iprt/vfs.h
r34014 r34031 322 322 323 323 /** @defgroup grp_vfs_iostream VFS Symbolic Link API 324 * 325 * @remarks The TAR VFS and filesystem stream uses symbolic links for 326 * describing hard links as well. The users must use RTFS_IS_SYMLINK 327 * to check if it is a real symlink in those cases. 328 * 329 * @remarks Any VFS which is backed by a real file system may be subject to 330 * races with other processes or threads, so the user may get 331 * unexpected errors when this happends. This is a bit host specific, 332 * i.e. it might be prevent on windows if we care. 333 * 324 334 * @{ 325 335 */ 326 336 337 338 /** 339 * Retains a reference to the VFS symbolic link handle. 340 * 341 * @returns New reference count on success, UINT32_MAX on failure. 342 * @param hVfsSym The VFS symbolic link handle. 343 */ 327 344 RTDECL(uint32_t) RTVfsSymlinkRetain(RTVFSSYMLINK hVfsSym); 345 346 /** 347 * Releases a reference to the VFS symbolic link handle. 348 * 349 * @returns New reference count on success (0 if closed), UINT32_MAX on failure. 350 * @param hVfsSym The VFS symbolic link handle. 351 */ 328 352 RTDECL(uint32_t) RTVfsSymlinkRelease(RTVFSSYMLINK hVfsSym); 353 354 /** 355 * Query information about the symbolic link. 356 * 357 * @returns IPRT status code. 358 * @param hVfsSym The VFS symbolic link handle. 359 * @param pObjInfo Where to return the info. 360 * @param enmAddAttr Which additional attributes should be retrieved. 361 * 362 * @sa RTFileQueryInfo, RTPathQueryInfo, RTPathQueryInfoEx 363 */ 364 RTDECL(int) RTVfsSymlinkQueryInfo(RTVFSSYMLINK hVfsSym, PRTFSOBJINFO pObjInfo, RTFSOBJATTRADD enmAddAttr); 365 366 /** 367 * Set the unix style owner and group. 368 * 369 * @returns IPRT status code. 370 * @param hVfsSym The VFS symbolic link handle. 371 * @param fMode The new mode bits. 372 * @param fMask The mask indicating which bits we are changing. 373 * @sa RTFileSetMode, RTPathSetMode 374 */ 375 RTDECL(int) RTVfsSymlinkSetMode(RTVFSSYMLINK hVfsSym, RTFMODE fMode, RTFMODE fMask); 376 377 /** 378 * Set the timestamps associated with the object. 379 * 380 * @returns IPRT status code. 381 * @param hVfsSym The VFS symbolic link handle. 382 * @param pAccessTime Pointer to the new access time. NULL if not 383 * to be changed. 384 * @param pModificationTime Pointer to the new modifcation time. NULL if 385 * not to be changed. 386 * @param pChangeTime Pointer to the new change time. NULL if not to be 387 * changed. 388 * @param pBirthTime Pointer to the new time of birth. NULL if not to be 389 * changed. 390 * @remarks See RTFileSetTimes for restrictions and behavior imposed by the 391 * host OS or underlying VFS provider. 392 * @sa RTFileSetTimes, RTPathSetTimes 393 */ 394 RTDECL(int) RTVfsSymlinkSetTimes(RTVFSSYMLINK hVfsSym, PCRTTIMESPEC pAccessTime, PCRTTIMESPEC pModificationTime, 395 PCRTTIMESPEC pChangeTime, PCRTTIMESPEC pBirthTime); 396 397 /** 398 * Set the unix style owner and group. 399 * 400 * @returns IPRT status code. 401 * @param hVfsSym The VFS symbolic link handle. 402 * @param uid The user ID of the new owner. NIL_RTUID if 403 * unchanged. 404 * @param gid The group ID of the new owner group. NIL_RTGID if 405 * unchanged. 406 * @sa RTFileSetOwner, RTPathSetOwner. 407 */ 408 RTDECL(int) RTVfsSymlinkSetOwner(RTVFSSYMLINK hVfsSym, RTUID uid, RTGID gid); 329 409 330 410 /** … … 556 636 */ 557 637 RTDECL(int) RTVfsIoStrmZeroFill(RTVFSIOSTREAM hVfsIos, RTFOFF cb); 638 639 /** 640 * Checks if we're at the end of the I/O stream. 641 * 642 * @returns true if at EOS, otherwise false. 643 * @param hVfsIos The VFS I/O stream handle. 644 */ 645 RTDECL(bool) RTVfsIoStrmIsAtEnd(RTVFSIOSTREAM hVfsIos); 558 646 /** @} */ 559 647
Note:
See TracChangeset
for help on using the changeset viewer.