#!/bin/bash

###################################################################
#
#  Fetch READ CAPACITY information for the given SCSI device(s).
#
#  This script assumes the sg3_utils package is installed.
#
##################################################################

verbose=""
brief=""
long_opt=""

usage()
{
  echo "Usage: scsi_readcap [-b] [-h] [-l] [-v] <device>+"
  echo "  where:"
  echo "    -b, --brief          output brief capacity data"
  echo "    -h, --help           print usage message"
  echo "    -l, --long           send longer SCSI READ CAPACITY (16) cdb"
  echo "    -v, --verbose        more verbose output"
  echo ""
  echo "Use SCSI READ CAPACITY command to fetch the size of each <device>"
}

opt="$1"
while test ! -z "$opt" -a -z "${opt##-*}"; do
  opt=${opt#-}
  case "$opt" in
    b|-brief) brief="-b" ;;
    h|-help) usage ; exit 0 ;;
    l|-long) long_opt="--16" ;;
    v|-verbose) verbose="-v" ;;
    vv) verbose="-vv" ;;
    vvv) verbose="-vvv" ;;
    *) echo "Unknown option: -$opt " ; exit 1 ;;
  esac
  shift
  opt="$1"
done

if [ $# -lt 1 ]
  then
    usage
    exit 1
fi

for i
do
	if [ $brief ] ; then
        	sg_readcap $brief $long_opt $verbose $i 2> /dev/null
	else
		echo "sg_readcap $brief $long_opt $verbose $i"
        	sg_readcap $brief $long_opt $verbose $i
	fi
done
