#! /usr/bin/csh -f
#
# ident	"@(#)autoconfig.sh	1.11	00/02/25 SMI"
#
# Copyright (c) 1996,2000 by Sun Microsystems, Inc.
# All rights reserved.
#

if($#argv != 0  &&  $#argv != 1)then
    echo Usage: $0
    echo Usage: $0 sysboardN
    echo Usage: $0 centerplaneN
    exit 1
endif

if( $#argv == 1 ) then
    if( ($argv[1] != sysboard0)         && \
        ($argv[1] != sysboard1)         && \
        ($argv[1] != sysboard2)         && \
        ($argv[1] != sysboard3)         && \
        ($argv[1] != sysboard4)         && \
        ($argv[1] != sysboard5)         && \
        ($argv[1] != sysboard6)         && \
        ($argv[1] != sysboard7)         && \
        ($argv[1] != sysboard8)         && \
        ($argv[1] != sysboard9)         && \
        ($argv[1] != sysboard10)        && \
        ($argv[1] != sysboard11)        && \
        ($argv[1] != sysboard12)        && \
        ($argv[1] != sysboard13)        && \
        ($argv[1] != sysboard14)        && \
        ($argv[1] != sysboard15)        && \
        ($argv[1] != centerplane0)      && \
        ($argv[1] != centerplane1)      ) then
    echo argument choices are....
    echo "  sysboard0,"
    echo "  sysboard1,"
    echo "  sysboard2,"
    echo "  sysboard3,"
    echo "  sysboard4,"
    echo "  sysboard5,"
    echo "  sysboard6,"
    echo "  sysboard7,"
    echo "  sysboard8,"
    echo "  sysboard9,"
    echo "  sysboard10,"
    echo "  sysboard11,"
    echo "  sysboard12,"
    echo "  sysboard13,"
    echo "  sysboard14,"
    echo "  sysboard15,"
    echo "  centerplane0,"
    echo "  centerplane1"
    echo Good-bye
    exit 1
else
ring_test $1 jbc_internal -l > /dev/null
if( $status != 0 ) then
echo board $1 is not present.
else
switch ($1)
case sysboard0:
    power -v -sb 0
    if( $status != 0 ) then
    echo board $1 is powered off
    else
    acfg_update_db $1 > /usr/tmp/autoconfig.log
    echo You must reboot the ssp for database changes to take effect.
    exit 0
    endif
breaksw
case sysboard1:
    power -v -sb 1
    if( $status != 0 ) then
    echo board $1 is powered off
    else
    acfg_update_db $1 > /usr/tmp/autoconfig.log
    echo You must reboot the ssp for database changes to take effect.
    exit 0
    endif
breaksw
case sysboard2:
    power -v -sb 2
    if( $status != 0 ) then
    echo board $1 is powered off
    else
    acfg_update_db $1 > /usr/tmp/autoconfig.log
    echo You must reboot the ssp for database changes to take effect.
    exit 0
    endif
breaksw
case sysboard3:
    power -v -sb 3
    if( $status != 0 ) then
    echo board $1 is powered off
    else
    acfg_update_db $1 > /usr/tmp/autoconfig.log
    echo You must reboot the ssp for database changes to take effect.
    exit 0
    endif
breaksw
case sysboard4:
    power -v -sb 4
    if( $status != 0 ) then
    echo board $1 is powered off
    else
    acfg_update_db $1 > /usr/tmp/autoconfig.log
    echo You must reboot the ssp for database changes to take effect.
    exit 0
    endif
breaksw
case sysboard5:
    power -v -sb 5
    if( $status != 0 ) then
    echo board $1 is powered off
    else
    acfg_update_db $1 > /usr/tmp/autoconfig.log
    echo You must reboot the ssp for database changes to take effect.
    exit 0
    endif
breaksw
case sysboard6:
    power -v -sb 6
    if( $status != 0 ) then
    echo board $1 is powered off
    else
    acfg_update_db $1 > /usr/tmp/autoconfig.log
    echo You must reboot the ssp for database changes to take effect.
    exit 0
    endif
breaksw
case sysboard7:
    power -v -sb 7
    if( $status != 0 ) then
    echo board $1 is powered off
    else
    acfg_update_db $1 > /usr/tmp/autoconfig.log
    echo You must reboot the ssp for database changes to take effect.
    exit 0
    endif
breaksw
case sysboard8:
    power -v -sb 8
    if( $status != 0 ) then
    echo board $1 is powered off
    else
    acfg_update_db $1 > /usr/tmp/autoconfig.log
    echo You must reboot the ssp for database changes to take effect.
    exit 0
    endif
breaksw
case sysboard9:
    power -v -sb 9
    if( $status != 0 ) then
    echo board $1 is powered off
    else
    acfg_update_db $1 > /usr/tmp/autoconfig.log
    echo You must reboot the ssp for database changes to take effect.
    exit 0
    endif
breaksw
case sysboard10:
    power -v -sb 10
    if( $status != 0 ) then
    echo board $1 is powered off
    else
    acfg_update_db $1 > /usr/tmp/autoconfig.log
    echo You must reboot the ssp for database changes to take effect.
    exit 0
    endif
breaksw
case sysboard11:
    power -v -sb 11
    if( $status != 0 ) then
    echo board $1 is powered off
    else
    acfg_update_db $1 > /usr/tmp/autoconfig.log
    echo You must reboot the ssp for database changes to take effect.
    exit 0
    endif
breaksw
case sysboard12:
    power -v -sb 12
    if( $status != 0 ) then
    echo board $1 is powered off
    else
    acfg_update_db $1 > /usr/tmp/autoconfig.log
    echo You must reboot the ssp for database changes to take effect.
    exit 0
    endif
breaksw
case sysboard13:
    power -v -sb 13
    if( $status != 0 ) then
    echo board $1 is powered off
    else
    acfg_update_db $1 > /usr/tmp/autoconfig.log
    echo You must reboot the ssp for database changes to take effect.
    exit 0
    endif
breaksw
case sysboard14:
    power -v -sb 14
    if( $status != 0 ) then
    echo board $1 is powered off
    else
    acfg_update_db $1 > /usr/tmp/autoconfig.log
    echo You must reboot the ssp for database changes to take effect.
    exit 0
    endif
breaksw
case sysboard15:
    power -v -sb 15
    if( $status != 0 ) then
    echo board $1 is powered off
    else
    acfg_update_db $1 > /usr/tmp/autoconfig.log
    echo You must reboot the ssp for database changes to take effect.
    exit 0
    endif
breaksw
endsw
    endif
    endif
else
rm -f /usr/tmp/autoconfig.log
touch /usr/tmp/autoconfig.log

ring_test sysboard0 jbc_internal -l > /dev/null
if( $status != 0 ) then
echo board sysboard0 is not present.
else
power -v -sb 0
if( $status != 0 ) then
echo board sysboard0 is powered off
else
acfg_update_db sysboard0 >> /usr/tmp/autoconfig.log
endif
endif

ring_test sysboard1 jbc_internal -l > /dev/null
if( $status != 0 ) then
echo board sysboard1 is not present.
else
power -v -sb 1
if( $status != 0 ) then
echo board sysboard1 is powered off
else
acfg_update_db sysboard1 >> /usr/tmp/autoconfig.log
endif
endif

ring_test sysboard2 jbc_internal -l > /dev/null
if( $status != 0 ) then
echo board sysboard2 is not present.
else
power -v -sb 2
if( $status != 0 ) then
echo board sysboard2 is powered off
else
acfg_update_db sysboard2 >> /usr/tmp/autoconfig.log
endif
endif

ring_test sysboard3 jbc_internal -l > /dev/null
if( $status != 0 ) then
echo board sysboard3 is not present.
else
power -v -sb 3
if( $status != 0 ) then
echo board sysboard3 is powered off
else
acfg_update_db sysboard3 >> /usr/tmp/autoconfig.log
endif
endif

ring_test sysboard4 jbc_internal -l > /dev/null
if( $status != 0 ) then
echo board sysboard4 is not present.
else
power -v -sb 4
if( $status != 0 ) then
echo board sysboard4 is powered off
else
acfg_update_db sysboard4 >> /usr/tmp/autoconfig.log
endif
endif

ring_test sysboard5 jbc_internal -l > /dev/null
if( $status != 0 ) then
echo board sysboard5 is not present.
else
power -v -sb 5
if( $status != 0 ) then
echo board sysboard5 is powered off
else
acfg_update_db sysboard5 >> /usr/tmp/autoconfig.log
endif
endif

ring_test sysboard6 jbc_internal -l > /dev/null
if( $status != 0 ) then
echo board sysboard6 is not present.
else
power -v -sb 6
if( $status != 0 ) then
echo board sysboard6 is powered off
else
acfg_update_db sysboard6 >> /usr/tmp/autoconfig.log
endif
endif

ring_test sysboard7 jbc_internal -l > /dev/null
if( $status != 0 ) then
echo board sysboard7 is not present.
else
power -v -sb 7
if( $status != 0 ) then
echo board sysboard7 is powered off
else
acfg_update_db sysboard7 >> /usr/tmp/autoconfig.log
endif
endif

ring_test sysboard8 jbc_internal -l > /dev/null
if( $status != 0 ) then
echo board sysboard8 is not present.
else
power -v -sb 8
if( $status != 0 ) then
echo board sysboard8 is powered off
else
acfg_update_db sysboard8 >> /usr/tmp/autoconfig.log
endif
endif

ring_test sysboard9 jbc_internal -l > /dev/null
if( $status != 0 ) then
echo board sysboard9 is not present.
else
power -v -sb 9
if( $status != 0 ) then
echo board sysboard9 is powered off
else
acfg_update_db sysboard9 >> /usr/tmp/autoconfig.log
endif
endif

ring_test sysboard10 jbc_internal -l > /dev/null
if( $status != 0 ) then
echo board sysboard10 is not present.
else
power -v -sb 10
if( $status != 0 ) then
echo board sysboard10 is powered off
else
acfg_update_db sysboard10 >> /usr/tmp/autoconfig.log
endif
endif

ring_test sysboard11 jbc_internal -l > /dev/null
if( $status != 0 ) then
echo board sysboard11 is not present.
else
power -v -sb 11
if( $status != 0 ) then
echo board sysboard11 is powered off
else
acfg_update_db sysboard11 >> /usr/tmp/autoconfig.log
endif
endif

ring_test sysboard12 jbc_internal -l > /dev/null
if( $status != 0 ) then
echo board sysboard12 is not present.
else
power -v -sb 12
if( $status != 0 ) then
echo board sysboard12 is powered off
else
acfg_update_db sysboard12 >> /usr/tmp/autoconfig.log
endif
endif

ring_test sysboard13 jbc_internal -l > /dev/null
if( $status != 0 ) then
echo board sysboard13 is not present.
else
power -v -sb 13
if( $status != 0 ) then
echo board sysboard13 is powered off
else
acfg_update_db sysboard13 >> /usr/tmp/autoconfig.log
endif
endif

ring_test sysboard14 jbc_internal -l > /dev/null
if( $status != 0 ) then
echo board sysboard14 is not present.
else
power -v -sb 14
if( $status != 0 ) then
echo board sysboard14 is powered off
else
acfg_update_db sysboard14 >> /usr/tmp/autoconfig.log
endif
endif

ring_test sysboard15 jbc_internal -l > /dev/null
if( $status != 0 ) then
echo board sysboard15 is not present.
else
power -v -sb 15
if( $status != 0 ) then
echo board sysboard15 is powered off
else
acfg_update_db sysboard15 >> /usr/tmp/autoconfig.log
endif
endif

acfg_update_db centerplane0 >> /usr/tmp/autoconfig.log

acfg_update_db centerplane1 >> /usr/tmp/autoconfig.log

echo You must reboot the ssp for database changes to take effect.
exit 0
endif
