Changeset 52713 in vbox for trunk/src/VBox/Devices/Storage/VSCSI
- Timestamp:
- Sep 12, 2014 9:34:39 AM (11 years ago)
- svn:sync-xref-src-repo-rev:
- 96052
- Location:
- trunk/src/VBox/Devices/Storage/VSCSI
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Devices/Storage/VSCSI/VSCSIInternal.h
r47829 r52713 245 245 246 246 /** 247 * Sets a error sense code.247 * Sets an error sense code. 248 248 * 249 249 * @returns SCSI status code. … … 258 258 259 259 /** 260 * Sets an error sense code with additional information. 261 * 262 * @returns SCSI status code. 263 * @param pVScsiSense The SCSI sense state to use. 264 * @param pVScsiReq The SCSI request. 265 * @param uSCSISenseKey The SCSI sense key to set. 266 * @param uSCSIASC The ASC value. 267 * @param uSCSIASC The ASCQ value. 268 * @param uInfo The 32-bit sense information. 269 */ 270 int vscsiReqSenseErrorInfoSet(PVSCSISENSE pVScsiSense, PVSCSIREQINT pVScsiReq, uint8_t uSCSISenseKey, 271 uint8_t uSCSIASC, uint8_t uSCSIASCQ, uint32_t uInfo); 272 273 /** 260 274 * Process a request sense command. 261 275 * … … 435 449 } 436 450 451 /** 452 * Wrapper around vscsiReqSenseErrorInfoSet() 453 */ 454 DECLINLINE(int) vscsiLunReqSenseErrorInfoSet(PVSCSILUNINT pVScsiLun, PVSCSIREQINT pVScsiReq, uint8_t uSCSISenseKey, uint8_t uSCSIASC, uint8_t uSCSIASCQ, uint32_t uInfo) 455 { 456 return vscsiReqSenseErrorInfoSet(&pVScsiLun->pVScsiDevice->VScsiSense, pVScsiReq, uSCSISenseKey, uSCSIASC, uSCSIASCQ, uInfo); 457 } 437 458 438 459 #endif /* ___VSCSIInternal_h */ -
trunk/src/VBox/Devices/Storage/VSCSI/VSCSILun.cpp
r48947 r52713 29 29 /** MMC descriptor */ 30 30 extern VSCSILUNDESC g_VScsiLunTypeMmc; 31 /** SSC descriptor */ 32 extern VSCSILUNDESC g_VScsiLunTypeSsc; 31 33 32 34 /** … … 37 39 &g_VScsiLunTypeSbc, 38 40 &g_VScsiLunTypeMmc, 41 &g_VScsiLunTypeSsc, 39 42 }; 40 43 -
trunk/src/VBox/Devices/Storage/VSCSI/VSCSISense.cpp
r44528 r52713 64 64 } 65 65 66 int vscsiReqSenseErrorInfoSet(PVSCSISENSE pVScsiSense, PVSCSIREQINT pVScsiReq, uint8_t uSCSISenseKey, uint8_t uSCSIASC, uint8_t uSCSIASCQ, uint32_t uInfo) 67 { 68 memset(pVScsiSense->abSenseBuf, 0, sizeof(pVScsiSense->abSenseBuf)); 69 pVScsiSense->abSenseBuf[0] = RT_BIT(7) | SCSI_SENSE_RESPONSE_CODE_CURR_FIXED; /* Fixed format */ 70 pVScsiSense->abSenseBuf[2] = uSCSISenseKey; 71 vscsiH2BEU32(&pVScsiSense->abSenseBuf[3], uInfo); 72 pVScsiSense->abSenseBuf[7] = 10; 73 pVScsiSense->abSenseBuf[12] = uSCSIASC; 74 pVScsiSense->abSenseBuf[13] = uSCSIASCQ; 75 76 if (pVScsiReq->pbSense && pVScsiReq->cbSense) 77 memcpy(pVScsiReq->pbSense, pVScsiSense->abSenseBuf, RT_MIN(sizeof(pVScsiSense->abSenseBuf), pVScsiReq->cbSense)); 78 79 return SCSI_STATUS_CHECK_CONDITION; 80 } 81 66 82 int vscsiReqSenseCmd(PVSCSISENSE pVScsiSense, PVSCSIREQINT pVScsiReq) 67 83 {
Note:
See TracChangeset
for help on using the changeset viewer.