VirtualBox

Changeset 34217 in vbox for trunk/include


Ignore:
Timestamp:
Nov 21, 2010 2:45:14 PM (14 years ago)
Author:
vboxsync
Message:

VD: Use S/G buffers instead of S/G arrays for VDAsyncWrite and VDAsyncRead (Preparation for moving the I/O cache in front of VD, see #5295)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/include/VBox/vd.h

    r33567 r34217  
    20162016 */
    20172017VBOXDDU_DECL(int) VDBackendInfo(unsigned cEntriesAlloc, PVDBACKENDINFO pEntries,
    2018                                     unsigned *pcEntriesUsed);
     2018                                unsigned *pcEntriesUsed);
    20192019
    20202020/**
     
    20612061 */
    20622062VBOXDDU_DECL(int) VDGetFormat(PVDINTERFACE pVDIfsDisk, PVDINTERFACE pVDIfsImage,
    2063                                   const char *pszFilename, char **ppszFormat, VDTYPE *penmType);
     2063                              const char *pszFilename, char **ppszFormat, VDTYPE *penmType);
    20642064
    20652065/**
     
    20842084 */
    20852085VBOXDDU_DECL(int) VDOpen(PVBOXHDD pDisk, const char *pszBackend,
    2086                              const char *pszFilename, unsigned uOpenFlags,
    2087                              PVDINTERFACE pVDIfsImage);
     2086                         const char *pszFilename, unsigned uOpenFlags,
     2087                         PVDINTERFACE pVDIfsImage);
    20882088
    20892089/**
     
    20982098 */
    20992099VBOXDDU_DECL(int) VDCacheOpen(PVBOXHDD pDisk, const char *pszBackend,
    2100                                   const char *pszFilename, unsigned uOpenFlags,
    2101                                   PVDINTERFACE pVDIfsCache);
     2100                              const char *pszFilename, unsigned uOpenFlags,
     2101                              PVDINTERFACE pVDIfsCache);
    21022102
    21032103/**
     
    21192119 */
    21202120VBOXDDU_DECL(int) VDCreateBase(PVBOXHDD pDisk, const char *pszBackend,
    2121                                    const char *pszFilename, uint64_t cbSize,
    2122                                    unsigned uImageFlags, const char *pszComment,
    2123                                    PCVDGEOMETRY pPCHSGeometry,
    2124                                    PCVDGEOMETRY pLCHSGeometry,
    2125                                    PCRTUUID pUuid, unsigned uOpenFlags,
    2126                                    PVDINTERFACE pVDIfsImage,
    2127                                    PVDINTERFACE pVDIfsOperation);
     2121                               const char *pszFilename, uint64_t cbSize,
     2122                               unsigned uImageFlags, const char *pszComment,
     2123                               PCVDGEOMETRY pPCHSGeometry,
     2124                               PCVDGEOMETRY pLCHSGeometry,
     2125                               PCRTUUID pUuid, unsigned uOpenFlags,
     2126                               PVDINTERFACE pVDIfsImage,
     2127                               PVDINTERFACE pVDIfsOperation);
    21282128
    21292129/**
     
    21442144 */
    21452145VBOXDDU_DECL(int) VDCreateDiff(PVBOXHDD pDisk, const char *pszBackend,
    2146                                    const char *pszFilename, unsigned uImageFlags,
    2147                                    const char *pszComment, PCRTUUID pUuid,
    2148                                    PCRTUUID pParentUuid, unsigned uOpenFlags,
    2149                                    PVDINTERFACE pVDIfsImage,
    2150                                    PVDINTERFACE pVDIfsOperation);
     2146                               const char *pszFilename, unsigned uImageFlags,
     2147                               const char *pszComment, PCRTUUID pUuid,
     2148                               PCRTUUID pParentUuid, unsigned uOpenFlags,
     2149                               PVDINTERFACE pVDIfsImage,
     2150                               PVDINTERFACE pVDIfsOperation);
    21512151
    21522152/**
     
    21652165 */
    21662166VBOXDDU_DECL(int) VDCreateCache(PVBOXHDD pDisk, const char *pszBackend,
    2167                                     const char *pszFilename, uint64_t cbSize,
    2168                                     unsigned uImageFlags, const char *pszComment,
    2169                                     PCRTUUID pUuid, unsigned uOpenFlags,
    2170                                     PVDINTERFACE pVDIfsCache, PVDINTERFACE pVDIfsOperation);
     2167                                const char *pszFilename, uint64_t cbSize,
     2168                                unsigned uImageFlags, const char *pszComment,
     2169                                PCRTUUID pUuid, unsigned uOpenFlags,
     2170                                PVDINTERFACE pVDIfsCache, PVDINTERFACE pVDIfsOperation);
    21712171
    21722172/**
     
    21842184 */
    21852185VBOXDDU_DECL(int) VDMerge(PVBOXHDD pDisk, unsigned nImageFrom,
    2186                               unsigned nImageTo, PVDINTERFACE pVDIfsOperation);
     2186                          unsigned nImageTo, PVDINTERFACE pVDIfsOperation);
    21872187
    21882188/**
     
    22242224 */
    22252225VBOXDDU_DECL(int) VDCopy(PVBOXHDD pDiskFrom, unsigned nImage, PVBOXHDD pDiskTo,
    2226                              const char *pszBackend, const char *pszFilename,
    2227                              bool fMoveByRename, uint64_t cbSize,
    2228                              unsigned uImageFlags, PCRTUUID pDstUuid,
    2229                              unsigned uOpenFlags, PVDINTERFACE pVDIfsOperation,
    2230                              PVDINTERFACE pDstVDIfsImage,
    2231                              PVDINTERFACE pDstVDIfsOperation);
     2226                         const char *pszBackend, const char *pszFilename,
     2227                         bool fMoveByRename, uint64_t cbSize,
     2228                         unsigned uImageFlags, PCRTUUID pDstUuid,
     2229                         unsigned uOpenFlags, PVDINTERFACE pVDIfsOperation,
     2230                         PVDINTERFACE pDstVDIfsImage,
     2231                         PVDINTERFACE pDstVDIfsOperation);
    22322232
    22332233/**
     
    22532253 */
    22542254VBOXDDU_DECL(int) VDCompact(PVBOXHDD pDisk, unsigned nImage,
    2255                                 PVDINTERFACE pVDIfsOperation);
     2255                            PVDINTERFACE pVDIfsOperation);
    22562256
    22572257/**
     
    22692269 */
    22702270VBOXDDU_DECL(int) VDResize(PVBOXHDD pDisk, uint64_t cbSize,
    2271                                PCVDGEOMETRY pPCHSGeometry,
    2272                                PCVDGEOMETRY pLCHSGeometry,
    2273                                PVDINTERFACE pVDIfsOperation);
     2271                           PCVDGEOMETRY pPCHSGeometry,
     2272                           PCVDGEOMETRY pLCHSGeometry,
     2273                           PVDINTERFACE pVDIfsOperation);
    22742274
    22752275/**
     
    23892389 */
    23902390VBOXDDU_DECL(int) VDGetPCHSGeometry(PVBOXHDD pDisk, unsigned nImage,
    2391                                         PVDGEOMETRY pPCHSGeometry);
     2391                                    PVDGEOMETRY pPCHSGeometry);
    23922392
    23932393/**
     
    24012401 */
    24022402VBOXDDU_DECL(int) VDSetPCHSGeometry(PVBOXHDD pDisk, unsigned nImage,
    2403                                         PCVDGEOMETRY pPCHSGeometry);
     2403                                    PCVDGEOMETRY pPCHSGeometry);
    24042404
    24052405/**
     
    24142414 */
    24152415VBOXDDU_DECL(int) VDGetLCHSGeometry(PVBOXHDD pDisk, unsigned nImage,
    2416                                         PVDGEOMETRY pLCHSGeometry);
     2416                                    PVDGEOMETRY pLCHSGeometry);
    24172417
    24182418/**
     
    24262426 */
    24272427VBOXDDU_DECL(int) VDSetLCHSGeometry(PVBOXHDD pDisk, unsigned nImage,
    2428                                         PCVDGEOMETRY pLCHSGeometry);
     2428                                    PCVDGEOMETRY pLCHSGeometry);
    24292429
    24302430/**
     
    24382438 */
    24392439VBOXDDU_DECL(int) VDGetVersion(PVBOXHDD pDisk, unsigned nImage,
    2440                                    unsigned *puVersion);
     2440                               unsigned *puVersion);
    24412441
    24422442/**
     
    24502450 */
    24512451VBOXDDU_DECL(int) VDBackendInfoSingle(PVBOXHDD pDisk, unsigned nImage,
    2452                                           PVDBACKENDINFO pBackendInfo);
     2452                                      PVDBACKENDINFO pBackendInfo);
    24532453
    24542454/**
     
    24732473 */
    24742474VBOXDDU_DECL(int) VDGetOpenFlags(PVBOXHDD pDisk, unsigned nImage,
    2475                                      unsigned *puOpenFlags);
     2475                                 unsigned *puOpenFlags);
    24762476
    24772477/**
     
    24872487 */
    24882488VBOXDDU_DECL(int) VDSetOpenFlags(PVBOXHDD pDisk, unsigned nImage,
    2489                                      unsigned uOpenFlags);
     2489                                 unsigned uOpenFlags);
    24902490
    24912491/**
     
    25032503 */
    25042504VBOXDDU_DECL(int) VDGetFilename(PVBOXHDD pDisk, unsigned nImage,
    2505                                     char *pszFilename, unsigned cbFilename);
     2505                                char *pszFilename, unsigned cbFilename);
    25062506
    25072507/**
     
    25172517 */
    25182518VBOXDDU_DECL(int) VDGetComment(PVBOXHDD pDisk, unsigned nImage,
    2519                                    char *pszComment, unsigned cbComment);
     2519                               char *pszComment, unsigned cbComment);
    25202520
    25212521/**
     
    25632563 */
    25642564VBOXDDU_DECL(int) VDGetModificationUuid(PVBOXHDD pDisk, unsigned nImage,
    2565                                             PRTUUID pUuid);
     2565                                        PRTUUID pUuid);
    25662566
    25672567/**
     
    25752575 */
    25762576VBOXDDU_DECL(int) VDSetModificationUuid(PVBOXHDD pDisk, unsigned nImage,
    2577                                             PCRTUUID pUuid);
     2577                                        PCRTUUID pUuid);
    25782578
    25792579/**
     
    25872587 */
    25882588VBOXDDU_DECL(int) VDGetParentUuid(PVBOXHDD pDisk, unsigned nImage,
    2589                                       PRTUUID pUuid);
     2589                                  PRTUUID pUuid);
    25902590
    25912591/**
     
    25982598 */
    25992599VBOXDDU_DECL(int) VDSetParentUuid(PVBOXHDD pDisk, unsigned nImage,
    2600                                       PCRTUUID pUuid);
     2600                                  PCRTUUID pUuid);
    26012601
    26022602
     
    26282628 * @param   uOffset         The offset of the virtual disk to read from.
    26292629 * @param   cbRead          How many bytes to read.
    2630  * @param   paSeg           Pointer to an array of segments.
    2631  * @param   cSeg            Number of segments in the array.
     2630 * @param   pcSgBuf         Pointer to the S/G buffer to read into.
    26322631 * @param   pfnComplete     Completion callback.
    26332632 * @param   pvUser          User data which is passed on completion
    26342633 */
    26352634VBOXDDU_DECL(int) VDAsyncRead(PVBOXHDD pDisk, uint64_t uOffset, size_t cbRead,
    2636                                   PCRTSGSEG paSeg, unsigned cSeg,
    2637                                   PFNVDASYNCTRANSFERCOMPLETE pfnComplete,
    2638                                   void *pvUser1, void *pvUser2);
     2635                              PCRTSGBUF pcSgBuf,
     2636                              PFNVDASYNCTRANSFERCOMPLETE pfnComplete,
     2637                              void *pvUser1, void *pvUser2);
    26392638
    26402639
     
    26462645 * @param   uOffset         The offset of the virtual disk to write to.
    26472646 * @param   cbWrtie         How many bytes to write.
    2648  * @param   paSeg           Pointer to an array of segments.
    2649  * @param   cSeg            Number of segments in the array.
     2647 * @param   pcSgBuf         Pointer to the S/G buffer to write from.
    26502648 * @param   pfnComplete     Completion callback.
    26512649 * @param   pvUser          User data which is passed on completion.
    26522650 */
    26532651VBOXDDU_DECL(int) VDAsyncWrite(PVBOXHDD pDisk, uint64_t uOffset, size_t cbWrite,
    2654                                    PCRTSGSEG paSeg, unsigned cSeg,
    2655                                    PFNVDASYNCTRANSFERCOMPLETE pfnComplete,
    2656                                    void *pvUser1, void *pvUser2);
     2652                               PCRTSGBUF pcSgBuf,
     2653                               PFNVDASYNCTRANSFERCOMPLETE pfnComplete,
     2654                               void *pvUser1, void *pvUser2);
    26572655
    26582656
     
    26662664 */
    26672665VBOXDDU_DECL(int) VDAsyncFlush(PVBOXHDD pDisk,
    2668                                    PFNVDASYNCTRANSFERCOMPLETE pfnComplete,
    2669                                    void *pvUser1, void *pvUser2);
     2666                               PFNVDASYNCTRANSFERCOMPLETE pfnComplete,
     2667                               void *pvUser1, void *pvUser2);
    26702668RT_C_DECLS_END
    26712669
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