*len = sense_data_build(data, 0xf0, ILLEGAL_REQUEST,
*len = sense_data_build(data, 0x70, ILLEGAL_REQUEST,
int scsi_cmnd_process(int tid, uint32_t lun, uint8_t *scb, uint8_t *data, int *len){	int result = SAM_STAT_GOOD;	dprintf("%x\n", scb[0]);	if (lun == ~0UL)		switch (scb[0]) {		case REQUEST_SENSE:		case INQUIRY:		case REPORT_LUNS:			break;		default:			*len = sense_data_build(data, 0xf0, ILLEGAL_REQUEST,						0x25, 0);			result = SAM_STAT_CHECK_CONDITION;			goto out;		}	switch (scb[0]) {	case INQUIRY:		result = inquiry(tid, lun, scb, data, len);		break;	case REPORT_LUNS:		result = report_luns(tid, lun, scb, data, len);		break;	case READ_CAPACITY:		result = read_capacity(tid, lun, scb, data, len);		break;	case MODE_SENSE:		result = mode_sense(tid, lun, scb, data, len);		break;	case REQUEST_SENSE:		result = request_sense(tid, lun, scb, data, len);		break;	case SERVICE_ACTION_IN:		result = sevice_action(tid, lun, scb, data, len);		break;	case START_STOP:	case TEST_UNIT_READY:	case SYNCHRONIZE_CACHE:	case VERIFY:		*len = 0;		break;	case READ_6:	case READ_10:	case WRITE_6:	case WRITE_10:	case WRITE_VERIFY:	case RESERVE:	case RELEASE:	case RESERVE_10:	case RELEASE_10:	default:		dprintf("BUG? %u %u\n", scb[0], lun);		*len = 0;		break;	}out:	return result;}