Subject: Re: CCISS support, anyone?
To: Tonnerre LOMBARD <tonnerre@bsdprojects.net>
From: Manuel Bouyer <bouyer@antioche.eu.org>
List: tech-kern
Date: 03/06/2006 12:56:23
On Mon, Mar 06, 2006 at 12:57:06AM +0100, Tonnerre LOMBARD wrote:
> Salut,
>
> I have already got the majority of the code to compile under NetBSD, but now
> I have a couple of constructs left which I can't seem to translate ad-hoc and
> especially not in the middle of the night. They are:
>
> - timeout_set/timeout_add/timeout_del
In guess these would translate to callout functions, but I don't know what
these timeout functions do exactly
> - tvtohz
You probably want to use mstohz() here
> - Returning sense error codes
>
> Especially the following code is a bit hard to figure out:
>
> xs->sense.error_code = SSD_ERRCODE_VALID | 0x70;
> xs->sense.flags = SKEY_ILLEGAL_REQUEST;
> xs->sense.add_sense_code = 0x24; /* ill field */
This create a sense condition with a specific error code.
In scsipi I think this would translate to (assuming xs is a struct
scsipi_xfer):
xs->sense.scsi_sense.response_code = SSD_ERRCODE_VALID | SSD_RCODE_CURRENT;
xs->sense.scsi_sense.flags = SKEY_ILLEGAL_REQUEST;
xs->sense.scsi_sense.asc = 0x24;
xs->sense.scsi_sense.ascq = 0x0;
also don't forget to set
xs->error = XS_SENSE;
so that scsipi knows it has to look at xs->sense.
--
Manuel Bouyer <bouyer@antioche.eu.org>
NetBSD: 26 ans d'experience feront toujours la difference
--