Subject: Re: Source for SCSI driver
To: Allen Briggs <briggs@puma.bevd.blacksburg.va.us>
From: Dan Menchaca <Dan_Menchaca@quickmail.apple.com>
List: macbsd-development
Date: 05/03/1995 12:29:13
Just when you thought it was safe to leave your
monitor...
RE>>Source for SCSI driver
Hmmmm.....
Well, I'll have to investigate this further. Linux has a CAM implementation
according to my friend. I'm researching the TWAIN interface for scanners. I
wanted to toy with SCSI and my scanner. How knows, if I become really
familiar with SCSI, I'll implement CAM (w/help) for MacBSD. ;-)
I don't know what CAM has to do with drivers. What I believe is that CAM is a
layer in between the driver and the interface to SCSI. The SCSI interface is
important to user accessible applications like formatting programs, scanner
programs, CD-Audio players, tape backup programs, etc. On other systems this
is important. For unix, non-storage operations for SCSI devices, it is
important to at some point have this interface or something similiar.
-jm
--------------------------------------
Date: 5/3/95 12:11 PM
To: Dan Menchaca
From: Allen Briggs
> CAM is a specification that allows one to access a SCSI bus through a common
> set of APIs. This means that from UNIX to UNIX, accessing the SCSI bus will
> be the same as far as API calls go.
Ahh... OK. I think I see. It provides the interface to the scsi bus
for things like CD-ROM drivers or easier addition of things like custom
drivers or OCR engines or some such? That is, it's an interface to
drivers for drivers?
There is no standard w/in Unix for accessing scsi devices. I have
noticed that at least one or two vendors are starting to use CAM or
something similar (OSF/1 on the DEC Alpha appears to use CAM), but
the usual case is that the SCSI system is accessed directly through
specific drivers.
If you want to get direct access to a device from a user-program (not
kernel), some systems (including NetBSD) allow some access to the bus
through a "high level driver" ioctl interface. This then communicates
with the lower level (card-specific) drivers to send and recieve raw
blocks. I don't know how fully implemented this is or if anyone's using
(i.e. testing ;-) it.
CAM might be a win if it could be implemented efficiently w/o breaking
anything. When I looked at the spec once, it seemed pretty large,
though, and implementing it looked like a job for a CAM expert.
-allen
--
Allen Briggs - end killing - allen.briggs@bev.net ** MacBSD == NetBSD/mac68k
**
------------------ RFC822 Header Follows ------------------
federal-excess.apple.com (5.0/1-Nov-1994-eef)
id AA12887; Wed, 3 May 1995 12:05:57 +0800
for Dan_Menchaca@quickmail.apple.com
id AA20059; Wed, 3 May 95 15:06:43 -0400 (EDT)
From: briggs@puma.bevd.blacksburg.va.us (Allen Briggs)
Message-Id: <9505031906.AA20059@puma.bevd.blacksburg.va.us>
Subject: Re: Source for SCSI driver
To: Dan_Menchaca@quickmail.apple.com (Dan Menchaca)
Date: Wed, 3 May 1995 15:06:41 -0400 (EDT)
Cc: macbsd-development@netbsd.org
In-Reply-To: <n1412623024.74612@gateway.apple.com> from "Dan Menchaca" at May
3, 95 11:11:04 am
Content-Type: text
Content-Length: 1390