Subject: Re: Source for SCSI driver
To: Dan Menchaca <Dan_Menchaca@quickmail.apple.com>
From: Allen Briggs <briggs@puma.bevd.blacksburg.va.us>
List: macbsd-development
Date: 05/03/1995 15:06:41
> 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 **