VirtualBox

Changeset 80589 in vbox for trunk/include


Ignore:
Timestamp:
Sep 4, 2019 6:20:28 PM (6 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
133110
Message:

Devices/Storage: Add two new parameters to PDMIMEDIAEX::pfnIoReqSendScsiCmd to return the amount ofsense data written and the determined transfer direction from parsed CDB, bugref:9440

Location:
trunk/include/VBox
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/include/VBox/vmm/pdmstorageifs.h

    r76585 r80589  
    950950     * @param   cbCdb           Size of the CDB in bytes.
    951951     * @param   enmTxDir        Direction of transfer.
     952     * @param   penmTxDir       Where to store the transfer direction as parsed from the CDB, optional.
    952953     * @param   cbBuf           Size of the transfer buffer.
    953954     * @param   pabSense        Where to store the optional sense key.
    954955     * @param   cbSense         Size of the sense key buffer.
     956     * @param   pcbSense        Where to store the amount of sense data written, optional.
    955957     * @param   pu8ScsiSts      Where to store the SCSI status on success.
    956958     * @param   cTimeoutMillies Command timeout in milliseconds.
    957959     * @thread  Any thread.
    958960     */
    959     DECLR3CALLBACKMEMBER(int, pfnIoReqSendScsiCmd,(PPDMIMEDIAEX pInterface, PDMMEDIAEXIOREQ hIoReq, uint32_t uLun,
    960                                                    const uint8_t *pbCdb, size_t cbCdb, PDMMEDIAEXIOREQSCSITXDIR enmTxDir,
    961                                                    size_t cbBuf, uint8_t *pabSense, size_t cbSense, uint8_t *pu8ScsiSts,
    962                                                    uint32_t cTimeoutMillies));
     961    DECLR3CALLBACKMEMBER(int, pfnIoReqSendScsiCmd,(PPDMIMEDIAEX pInterface, PDMMEDIAEXIOREQ hIoReq,
     962                                                   uint32_t uLun, const uint8_t *pbCdb, size_t cbCdb,
     963                                                   PDMMEDIAEXIOREQSCSITXDIR enmTxDir, PDMMEDIAEXIOREQSCSITXDIR *penmTxDirRet,
     964                                                   size_t cbBuf, uint8_t *pabSense, size_t cbSense, size_t *pcbSenseRet,
     965                                                   uint8_t *pu8ScsiSts, uint32_t cTimeoutMillies));
    963966
    964967    /**
     
    10361039} PDMIMEDIAEX;
    10371040/** PDMIMEDIAEX interface ID. */
    1038 #define PDMIMEDIAEX_IID                      "1f82b709-a9f7-4928-ad50-e879c9bbeba1"
     1041#define PDMIMEDIAEX_IID                      "29c9e82b-934e-45c5-bb84-0d871c3cc9dd"
    10391042
    10401043/** @} */
  • trunk/include/VBox/vscsi.h

    r76585 r80589  
    8787
    8888/**
     89 * Virtual SCSI transfer direction as seen from the initiator.
     90 */
     91typedef enum VSCSIXFERDIR
     92{
     93    /** Invalid data direction. */
     94    PVSCSIXFERDIR_INVALID     = 0,
     95    /** Direction is unknown. */
     96    VSCSIXFERDIR_UNKNOWN,
     97    /** Direction is from target to initiator (aka a read). */
     98    VSCSIXFERDIR_T2I,
     99    /** Direction is from initiator to device (aka a write). */
     100    VSCSIXFERDIR_I2T,
     101    /** No data transfer associated with this request. */
     102    VSCSIXFERDIR_NONE,
     103    /** 32bit hack. */
     104    VSCSIXFERDIR_32BIT_HACK  = 0x7fffffff
     105} VSCSIXFERDIR;
     106
     107/**
    89108 * LUN types we support
    90109 */
     
    277296                                               bool fRedoPossible,
    278297                                               int rcReq,
    279                                                size_t cbXfer);
     298                                               size_t cbXfer,
     299                                               VSCSIXFERDIR enmXferDir,
     300                                               size_t cbSense);
    280301/** Pointer to a virtual SCSI request completed callback. */
    281302typedef FNVSCSIREQCOMPLETED *PFNVSCSIREQCOMPLETED;
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