#!/bin/ksh 
#pragma ident "@(#)pdbfindifs.sh	1.3"
 
#
# (C)Copyright 1994 SMI
#
 
PATH=${PATH}:/opt/SUNWcluster/bin:.
INSTFILE="/etc/path_to_inst"

integer ifinx
integer listall
listall=1     		# list all ifs by default

set -A iflist le be qe		# interface list
set -A ifblist lebuffer qec qec	# interface list driver

while getopts vlbqa c
do
case $c in
 a) listall=1;;
 v) verbose="-v";;
 l) ifinx=0;listall=0;;
 b) ifinx=1;listall=0;;
 q) ifinx=2;listall=0;;
esac
done

#
# Set a new array to the list of interfaces we want displayed
#
if [[ $listall -eq 1 ]];then
  set -A if ${iflist[*]}
  set -A ifb ${ifblist[*]}
else
  set -A if ${iflist[$ifinx]}
  set -A ifb ${ifblist[$ifinx]}
fi

#
# Loop through list of interfaces
#
ifinx=0
while (( $ifinx < ${#if[*]} ))
do

sedcmd=\
"s/^[^e]*e\([0-9]\).*${ifb[$ifinx]}@\([0-9]\).*\([0-9]\)$/${if[$ifinx]} \3 \1 \2/"


grep ${ifb[$ifinx]} $INSTFILE | grep ${if[$ifinx]} | sed -e "$sedcmd" | sort -f1 | uniq | while read i
do
 set $i
 checkif ${verbose} -b $3 -s $4 -i $1
 if [ $? -gt 0 ]
 then
  echo $1$2 = board# $3 slot# $4
 fi
 done		# done while read
 (( ifinx = $ifinx + 1 ))
done 		# done for ifs
