home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
PC World 2000 February
/
PCWorld_2000-02_cd.bin
/
live
/
etc
/
pcmcia
/
scsi
< prev
next >
Wrap
Text File
|
1999-10-31
|
2KB
|
77 lines
#!/bin/bash
#
# scsi 1.30 1997/05/13 02:18:00 (David Hinds)
#
# Initialize or shutdown a PCMCIA SCSI adapter
#
# The first argument should be either 'start' or 'stop'. The second
# argument is the base name for the device.
#
# The script passes an extended device address to 'scsi.opts' in the
# ADDRESS variable, to retrieve device-specific configuration options.
# The address format is "scheme,device,socket,channel,id,lun[,part]"
# where "scheme" is the PCMCIA configuration scheme; "device" is the
# SCSI device type (sd, sr, st, sg); "socket" is the socket number;
# "channel", "id", and "lun" are the SCSI device ID's; and "part" is,
# optionally, the partition number.
#
# The script first calls scsi.opts for the entire device. If
# scsi.opts returns with the PARTS variable set, then this variable
# contains a list of partitions for which options should be read.
#
if [ -r ./shared ] ; then . ./shared ; else . /etc/pcmcia/shared ; fi
# Get device attributes
get_info $DEVICE
case "$DEVICE" in
sd*) TYPE="sd" ;;
st*) TYPE="st" ;;
scd*) TYPE="sr" ;;
sg*) TYPE="sg" ;;
esac
eval `/sbin/scsi_info /dev/$DEVICE` || usage
# Load site-specific settings
ADDRESS="$SCHEME,$TYPE,$SOCKET,$SCSI_ID"
. $0.opts
case "$ACTION" in
'start')
add_parts $ADDRESS "$PARTS" || exit 1
;;
'stop')
if [ -b /dev/$DEVICE ] ; then
rm_parts $ADDRESS "$PARTS"
else
fuser -s -k /dev/$DEVICE
fi
exit $?
;;
'check')
if [ -b /dev/$DEVICE ] ; then
fuser -s -m /dev/${DEVICE}* && exit 1
elif [ -c /dev/$DEVICE ] ; then
fuser -s /dev/${DEVICE}* && exit 1
fi
;;
'cksum')
chk_parts "$3,$TYPE,$SOCKET,$SCSI_ID" || exit 1
;;
'suspend'|'resume')
;;
*)
usage
;;
esac
exit 0