home *** CD-ROM | disk | FTP | other *** search
/ PC World 2000 February / PCWorld_2000-02_cd.bin / live / etc / pcmcia / ide < prev    next >
Text File  |  1999-10-31  |  2KB  |  72 lines

  1. #!/bin/bash
  2. #
  3. # ide 1.7 1999/09/27 16:45:01 (David Hinds)
  4. #
  5. # Initialize or shutdown a PCMCIA ATA/IDE adapter
  6. #
  7. # The first argument should be either 'start' or 'stop'.  The second
  8. # argument is the base name for the device.
  9. #
  10. # The script passes an extended device address to 'ide.opts' in the
  11. # ADDRESS variable, to retrieve device-specific configuration options.
  12. # The address format is "scheme,socket,serial_no[,part]" where
  13. # "scheme" is the PCMCIA configuration scheme, "socket" is the socket
  14. # number, "serial_no" is the card's serial number if available, and
  15. # "part" is, optionally, the partition number.
  16. #
  17. # The script first calls ide.opts for the entire device.  If ide.opts
  18. # returns with the PARTS variable set, then this variable contains a
  19. # list of partitions for which options should be read.
  20. #
  21.  
  22. if [ -r ./shared ] ; then . ./shared ; else . /etc/pcmcia/shared ; fi
  23.  
  24. # Get device attributes
  25. get_info $DEVICE
  26.  
  27. if [ ! -b /dev/$DEVICE ] ; then
  28.     cd /dev
  29.     mknod $DEVICE b $MAJOR 0
  30.     for $minor in 1 2 3 4 5 6 7 8 ; do
  31.     mknod ${DEVICE}$minor b $MAJOR $minor
  32.     done
  33. fi
  34. eval `/sbin/ide_info /dev/$DEVICE` || usage
  35.  
  36. # Load site-specific settings
  37. ADDRESS="$SCHEME,$SOCKET,$SERIAL_NO"
  38. . $0.opts
  39.  
  40. case "$ACTION" in
  41.  
  42. 'start')
  43.     add_parts $ADDRESS "$PARTS" || exit 1
  44.     ;;
  45.  
  46. 'check')
  47.     if [ -b /dev/$DEVICE ] ; then
  48.     fuser -s -m /dev/${DEVICE}* && exit 1
  49.     else
  50.     fuser -s /dev/${DEVICE}* && exit 1
  51.     fi
  52.     ;;
  53.  
  54. 'stop')
  55.     rm_parts $ADDRESS "$PARTS" || exit 1
  56.     ;;
  57.  
  58. 'cksum')
  59.     chk_parts "$3,$SOCKET,$SERIAL_NO" || exit 1
  60.     ;;
  61.     
  62. 'suspend'|'resume')
  63.     ;;
  64.  
  65. *)
  66.     usage
  67.     ;;
  68.  
  69. esac
  70.  
  71. exit 0
  72.