VirtualBox

Changeset 49033 in vbox for trunk/include/iprt


Ignore:
Timestamp:
Oct 10, 2013 4:43:04 PM (12 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
89809
Message:

IPRT: Added RTFileCompare* methods a la RTFileCopy*.

File:
1 edited

Legend:

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

    r48820 r49033  
    512512 * Copies a file.
    513513 *
    514  * @returns VERR_ALREADY_EXISTS if the destination file exists.
    515  * @returns VBox Status code.
     514 * @returns IPRT status code
     515 * @retval VERR_ALREADY_EXISTS if the destination file exists.
    516516 *
    517517 * @param   pszSrc      The path to the source file.
     
    524524 * Copies a file given the handles to both files.
    525525 *
    526  * @returns VBox Status code.
     526 * @returns IPRT status code
    527527 *
    528528 * @param   FileSrc     The source file. The file position is unaltered.
     
    548548 * Copies a file.
    549549 *
    550  * @returns VERR_ALREADY_EXISTS if the destination file exists.
    551  * @returns VBox Status code.
     550 * @returns IPRT status code
     551 * @retval  VERR_ALREADY_EXISTS if the destination file exists.
    552552 *
    553553 * @param   pszSrc      The path to the source file.
     
    574574 */
    575575RTDECL(int) RTFileCopyByHandlesEx(RTFILE FileSrc, RTFILE FileDst, PFNRTPROGRESS pfnProgress, void *pvUser);
     576
     577
     578/**
     579 * Compares two file given the paths to both files.
     580 *
     581 * @returns IPRT status code.
     582 * @retval  VINF_SUCCESS if equal.
     583 * @retval  VERR_NOT_EQUAL if not equal.
     584 *
     585 * @param   pszFile1    The path to the first file.
     586 * @param   pszFile2    The path to the second file.
     587 */
     588RTDECL(int) RTFileCompare(const char *pszFile1, const char *pszFile2);
     589
     590/**
     591 * Compares two file given the handles to both files.
     592 *
     593 * @returns IPRT status code.
     594 * @retval  VINF_SUCCESS if equal.
     595 * @retval  VERR_NOT_EQUAL if not equal.
     596 *
     597 * @param   hFile1      The first file.  Undefined return position.
     598 * @param   hFile2      The second file.  Undefined return position.
     599 */
     600RTDECL(int) RTFileCompareByHandles(RTFILE hFile1, RTFILE hFile2);
     601
     602/** Flags for RTFileCompareEx().
     603 * @{ */
     604/** Do not use RTFILE_O_DENY_WRITE on the first file. */
     605#define RTFILECOMP_FLAGS_NO_DENY_WRITE_FILE1  RT_BIT(0)
     606/** Do not use RTFILE_O_DENY_WRITE on the second file. */
     607#define RTFILECOMP_FLAGS_NO_DENY_WRITE_FILE2  RT_BIT(1)
     608/** Do not use RTFILE_O_DENY_WRITE on either of the two files. */
     609#define RTFILECOMP_FLAGS_NO_DENY_WRITE      ( RTFILECOMP_FLAGS_NO_DENY_WRITE_FILE1 | RTFILECOMP_FLAGS_NO_DENY_WRITE_FILE2 )
     610/** */
     611#define RTFILECOMP_FLAGS_MASK               UINT32_C(0x00000003)
     612/** @} */
     613
     614/**
     615 * Compares two files, extended version with progress callback.
     616 *
     617 * @returns IPRT status code.
     618 * @retval  VINF_SUCCESS if equal.
     619 * @retval  VERR_NOT_EQUAL if not equal.
     620 *
     621 * @param   pszFile1    The path to the source file.
     622 * @param   pszFile2    The path to the destination file. This file will be
     623 *                      created.
     624 * @param   fFlags      Flags, any of the RTFILECOMP_FLAGS_ \#defines.
     625 * @param   pfnProgress Pointer to callback function for reporting progress.
     626 * @param   pvUser      User argument to pass to pfnProgress along with the completion percentage.
     627 */
     628RTDECL(int) RTFileCompareEx(const char *pszFile1, const char *pszFile2, uint32_t fFlags, PFNRTPROGRESS pfnProgress, void *pvUser);
     629
     630/**
     631 * Compares two files given their handles, extended version with progress
     632 * callback.
     633 *
     634 * @returns IPRT status code.
     635 * @retval  VINF_SUCCESS if equal.
     636 * @retval  VERR_NOT_EQUAL if not equal.
     637 *
     638 * @param   hFile1      The first file.  Undefined return position.
     639 * @param   hFile2      The second file.  Undefined return position.
     640 *
     641 * @param   fFlags      Flags, any of the RTFILECOMP_FLAGS_ \#defines, flags
     642 *                      related to opening of the files will be ignored.
     643 * @param   pfnProgress Pointer to callback function for reporting progress.
     644 * @param   pvUser      User argument to pass to pfnProgress along with the completion percentage.
     645 */
     646RTDECL(int) RTFileCompareByHandlesEx(RTFILE hFile1, RTFILE hFile2, uint32_t fFlags, PFNRTPROGRESS pfnProgress, void *pvUser);
    576647
    577648/**
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