Lines Matching defs:pScsiReq

437             PSCSIREQ      pScsiReq;
2701 PSCSIREQ pScsiReq;
2709 pScsiReq = pIScsiCmd->CmdType.ScsiReq.pScsiReq;
2711 if (pScsiReq->cT2ISegs)
2712 RTSgBufInit(&pScsiReq->SgBufT2I, pScsiReq->paT2ISegs, pScsiReq->cT2ISegs);
2718 size_t cI2TSegs = 2*(pScsiReq->cI2TSegs + 1);
2725 if (pScsiReq->enmXfer == SCSIXFER_FROM_TARGET)
2726 cbData = (uint32_t)pScsiReq->cbT2IData;
2728 cbData = (uint32_t)pScsiReq->cbI2TData;
2734 | (pScsiReq->enmXfer << 21)); /* I=0,F=1,Attr=Simple */
2735 paReqBHS[1] = RT_H2N_U32(0x00000000 | ((uint32_t)pScsiReq->cbI2TData & 0xffffff)); /* TotalAHSLength=0 */
2742 memcpy(paReqBHS + 8, pScsiReq->abCDB, pScsiReq->cbCDB);
2755 if (pScsiReq->cbI2TData)
2757 for (unsigned cSeg = 0; cSeg < pScsiReq->cI2TSegs; cSeg++)
2760 pIScsiPDU->aISCSIReq[cnISCSIReq].cbSeg = pScsiReq->paI2TSegs[cSeg].cbSeg;
2761 pIScsiPDU->aISCSIReq[cnISCSIReq].pvSeg = pScsiReq->paI2TSegs[cSeg].pvSeg;
2762 cbSegs += pScsiReq->paI2TSegs[cSeg].cbSeg;
2766 if (pScsiReq->paI2TSegs[cSeg].cbSeg & 3)
2770 pIScsiPDU->aISCSIReq[cnISCSIReq].cbSeg = 4 - (pScsiReq->paI2TSegs[cSeg].cbSeg & 3);
2818 PSCSIREQ pScsiReq;
2823 pScsiReq = pIScsiCmd->CmdType.ScsiReq.pScsiReq;
2840 pScsiReq->status = RT_N2H_U32(paResBHS[0]) & 0x000000ff;
2854 pScsiReq->cbSense = RT_MIN(cbStat, pScsiReq->cbSense);
2855 memcpy(pScsiReq->abSense, (uint8_t *)pvSense + 2,
2856 RT_MIN(paRes[0].cbSeg - ISCSI_BHS_SIZE - 2, pScsiReq->cbSense));
2862 pScsiReq->cbSense = 0;
2875 if (final && cbData > pScsiReq->cbT2IData)
2884 size_t cbCopied = RTSgBufCopyFromBuf(&pScsiReq->SgBufT2I, pvData, cbData);
2889 pScsiReq->status = RT_N2H_U32(paResBHS[0]) & 0x000000ff;
2890 pScsiReq->cbSense = 0;
3516 static int iscsiCommandAsync(PISCSIIMAGE pImage, PSCSIREQ pScsiReq,
3532 pIScsiCmd->CmdType.ScsiReq.pScsiReq = pScsiReq;
3557 static int iscsiCommandSync(PISCSIIMAGE pImage, PSCSIREQ pScsiReq, bool fRetry, int rcSense)
3574 rc = iscsiCommandAsync(pImage, pScsiReq, iscsiCommandCompleteSync, &IScsiCmdSync);
3582 if ( (RT_SUCCESS(rc) && !pScsiReq->cbSense)
3590 rc = iscsiCommandAsync(pImage, pScsiReq, iscsiCommandCompleteSync, &IScsiCmdSync);
3597 if (RT_FAILURE(rc) || pScsiReq->cbSense > 0)
3610 rc = iscsiCommand(pImage, pScsiReq);
3611 if ( (RT_SUCCESS(rc) && !pScsiReq->cbSense)
3619 rc = iscsiCommand(pImage, pScsiReq);
3620 if (RT_FAILURE(rc) || pScsiReq->cbSense > 0)
3686 PSCSIREQ pScsiReq = (PSCSIREQ)pvUser;
3689 && pScsiReq->cbSense > 0)
3692 if (pScsiReq->cSenseRetries > 0)
3694 pScsiReq->cSenseRetries--;
3695 pScsiReq->cbSense = sizeof(pScsiReq->abSense);
3696 int rc = iscsiCommandAsync(pImage, pScsiReq, iscsiCommandAsyncComplete, pScsiReq);
3700 rcReq = pScsiReq->rcSense;
3703 rcReq = pScsiReq->rcSense;
3708 if (pScsiReq->enmXfer == SCSIXFER_FROM_TARGET)
3709 cbTransfered = pScsiReq->cbT2IData;
3710 else if (pScsiReq->enmXfer == SCSIXFER_TO_TARGET)
3711 cbTransfered = pScsiReq->cbI2TData;
3713 AssertMsg(pScsiReq->enmXfer == SCSIXFER_NONE, ("To/From transfers are not supported yet\n"));
3717 pScsiReq->pIoCtx, rcReq,
3720 RTMemFree(pScsiReq);