#! /bin/sh

showarrayd ()
{
while read a b c
	do
#
wwn=`(/usr/sbin/ssaadm disp $a 2>/dev/null | grep 'Serial Num' | awk '{print $3}')`
#
printf "    %s\t\t  %s\t %s\t%s\n" $a $b $c $wwn
done
}

showarrayu ()
{
while read a b c
	do
#
if [ "$c" = 'd' -o "$c" = '3' ]; then c='onboard'; fi

bd=`(printf "%s\n" $b | tr '0123456789abcdef' '0011223344556677')`

wwn=`(/usr/sbin/ssaadm disp $a 2>/dev/null | grep 'Serial Num' | awk '{print $3}')`
#
printf "    %s\t\t  %s\t%s\t%s\n" $a $bd $c $wwn
done
}

# main showarry routine
uname -ni
printf "Controller\tBoard\tSBus\t Array WWN\n"
printf "---------\t-----\t----\t------------\n"
#
if [ `arch -k` = 'sun4d' ] ; then
#
ls -l /dev/rdsk/c*s2 | grep pln | awk '{print " ", substr($0,65,2), " ", substr($0,102,1), " ", substr($0,127,1)}'| uniq | showarrayd
exit; fi
#
ls -l /dev/rdsk/c*s2 | grep pln | awk '{print " ", substr($0,65,2), " ", substr($0,96,1), " ", substr($0,109,1)}'| uniq | showarrayu
