[comp.sources.wanted] Source code to manipulate SCSI command descriptor block

heiden@kboeng.enet.dec.com (Matthias Heiden) (01/24/91)

   I need to write software (pref. C) to exercise basic and advanced SCSI 
   functionality. I need higher level routines which would interactively
   enable me to talk to the SCSI device by setting up the command descriptor 
   block. 
   I guess (or my hope is that) similar tasks have already been done and 
   that I could build upon this experience before reinventing such an 
   application. Any hint or pointer to existing software is greatly 
   appreciated. 
   Thanks in advance,		Matthias Heiden
 

mah@dec1.wu-wien.ac.at (Michael Haberler) (02/12/91)

In article <1991Jan23.174708@kboeng.enet.dec.com>, heiden@kboeng.enet.dec.com (Matthias Heiden) writes:
|> 
|>    I need to write software (pref. C) to exercise basic and advanced SCSI
|>    functionality. I need higher level routines which would interactively
|>    enable me to talk to the SCSI device by setting up the command descriptor
|>    block.

That depends on the OS and SCSI driver you're using. If you have a HP9000/300
with a SCSI board around, its fairly easy; there's a special ioctl(2) 
call which allows you to send an arbitrary SCSI command to a device, and
get it's reply.

I found this idea much more useful than having a bunch of special ioctl's 
for formatting, reading capacity and the like. I hope more manufacturers
adopt this idea; it makes it very easy to write userland programs to talk
to weird devices or cause special functions in a device the original 
author of the driver did'nt think of. 

I dont know of any other brands of SCSI drivers which support something along
these lines (btw: couldnt you talk your DECstation folks to implement such an
animal?). 

- michael

|>    I guess (or my hope is that) similar tasks have already been done and
|>    that I could build upon this experience before reinventing such an
|>    application. Any hint or pointer to existing software is greatly
|>    appreciated.
|>    Thanks in advance,		Matthias Heiden
|> 

clewis@ferret.ocunix.on.ca (Chris Lewis) (02/21/91)

In article <1991Feb12.150751.29404@nestroy.wu-wien.ac.at> mah@nestroy.wu-wien.ac.at writes:
|In article <1991Jan23.174708@kboeng.enet.dec.com>, heiden@kboeng.enet.dec.com (Matthias Heiden) writes:
||> 
||>    I need to write software (pref. C) to exercise basic and advanced SCSI
||>    functionality. I need higher level routines which would interactively
||>    enable me to talk to the SCSI device by setting up the command descriptor
||>    block.

|That depends on the OS and SCSI driver you're using. If you have a HP9000/300
|with a SCSI board around, its fairly easy; there's a special ioctl(2) 
|call which allows you to send an arbitrary SCSI command to a device, and
|get it's reply.

|I dont know of any other brands of SCSI drivers which support something along
|these lines (btw: couldnt you talk your DECstation folks to implement such an
|animal?). 

Last I looked, NCR Tower SCSI disk drivers support this too.  Real neat
feature if you're trying new SCSI controller hardware with specialized
command sets.  Such as caching and cache parameterization on the DPT
disk controllers, or different formatting commands.
-- 
Chris Lewis, Phone: (613) 832-0541, Internet: clewis@ferret.ocunix.on.ca
UUCP: uunet!mitel!cunews!latour!ecicrl!clewis; Ferret Mailing List:
(ferret-request@eci386); Psroff (not Adobe Transcript) enquiries:
psroff-request@eci386, current patchlevel is *7*.

jesup@cbmvax.commodore.com (Randell Jesup) (02/22/91)

In article <1991Feb12.150751.29404@nestroy.wu-wien.ac.at> mah@nestroy.wu-wien.ac.at writes:
>I found this idea much more useful than having a bunch of special ioctl's 
>for formatting, reading capacity and the like. I hope more manufacturers
>adopt this idea; it makes it very easy to write userland programs to talk
>to weird devices or cause special functions in a device the original 
>author of the driver did'nt think of. 

	Modern Amiga (Commodore & 3rd-party) controllers have something 
like this (the "scsidirect" standard).  Allow more-or-less arbitrary
commands to be sent.  Definitely the way to go.

-- 
Randell Jesup, Keeper of AmigaDos, Commodore Engineering.
{uunet|rutgers}!cbmvax!jesup, jesup@cbmvax.commodore.com  BIX: rjesup  
The compiler runs
Like a swift-flowing river
I wait in silence.  (From "The Zen of Programming")  ;-)

mah@dec1.wu-wien.ac.at (Michael Haberler) (02/25/91)

In article <1369@ecicrl.ocunix.on.ca>, clewis@ferret.ocunix.on.ca (Chris Lewis) writes:

I forgot - the NexT has it as well, though slightly different, as it is to
be expected.

- michael