#!/bin/bash

source /ciena/scripts/utils.sh
source /ciena/scripts/saos_utils.sh

# -----------------------------------------------------------------------------
print_usage_and_exit()
{
    get_running_bank
    local current_bank="$?"

    get_preferred_bank
    local preferred_bank=$?
   
    bank_name[$EXIT_BANKA]="a"
    bank_name[$EXIT_BANKB]="b"
    bank_name[$EXIT_NFS]="nfs"
    bank_name[$EXIT_UNKNOWN]="unknown"

    echo
    echo "Usage: bankset [a|b]"
    echo
    echo "Sets the preferred software bank and clears the boot count."
    echo
    echo "Current bank is ${bank_name[$current_bank]}"
    echo "Preferred bank is ${bank_name[$preferred_bank]}"
    echo
    exit -1
}

# --- main --------------------------------------------------------------------

if [ "$#" -ne "1" ] ; then
    echo "ERROR: wrong number of parameters ($#)"
    print_usage_and_exit
fi

case $1 in
    'a' | 'A') bank=0 ;;
    'b' | 'B') bank=1 ;;
    '--help' | '-h' ) print_usage_and_exit ;;
    *) echo "ERROR: Invalid bank used"; print_usage_and_exit ;;
esac

if spiboot_supported; then
    spiboot_bank_set $bank
else
    param_cmd write $ParamType_BootCookie $bank
fi
