Technical information
CHAPTER 3
The PC Interface Driver
36
Configuring the PC
The
type
field specifies what type the drive is configured as (
rsFloppyDrive
,
rsFileDrive
,
rsPartitionDrive
, or
rsNULLDrive
).
If the value of
type
is
rsNULLDrive
, the corresponding drive does not exist to the PC
and no other fields need to be filled in.
If the value of
type
is
rsFloppyDrive
, the corresponding drive on the PC is connected
to one of the Macintosh computer’s floppy drives.
If the value of
type
is
rsFileDrive
, the corresponding drive is connected to a
Macintosh file system file. The
vRefNum
field contains the volume the file is on,
dirID
contains the directory ID of the file, and
fileNamePtr
contains a pointer to the file
name. The driver opens and closes the file as needed.
If the value of
type
is
rsPartitionDrive
, the corresponding drive is connected to a
SCSI drive partition. The
vRefNum
field contains the SCSI ID,
dirID
contains the
starting sector number of the partition, and
fileNamePtr
contains the number of
sectors in the partition.
If the value of
type
is set to
rsIgnore
, the configuration of the corresponding drive is
not changed.
The program on the Macintosh computer should call
rsSetDriveConfig
at least once
before starting the PC. The routine can also be called after the PC has been started to
change the drive configuration. In that case, the new drive configuration does not take
effect until the PC is restarted.
rsGetNetDriveConfig 3
You can use the rsGetNetDriveConfig status call to obtain drive configuration data.
This call returns a pointer to an array of 22 RSNetDriveConfig data structures, one for
each drive letter from E through Z.
Parameter block
→ ioCompletion long Pointer to the completion routine
← ioResult word
→ ioRefNum word
→ csCode word Equals rsGetNetDriveConfig
← csParam+0 long Pointer to RSNetDriveConfig
typedef struct {
char status; // 0 = unused, -1 = in use, 1 = cannot be used
char changed; // Used by the driver, do not use
short vRefNum; // Reference number of volume containing shared drive
long dirID; // Directory ID
} RSNetDriveConfig[26], *RSNetDriveConfigPtr;