#!/bin/bash

# Provide source directive to shellcheck.
# shellcheck source=meta-facebook/recipes-phosphor/state/phosphor-state-manager/greatlakes/host-poweron
source /usr/libexec/power-cmd

SLOT_ID=$(( $1-1  << 2 ))

# Host Reboot
host-reboot()
{
        power_delay=$1
        for pwr_cmd in "${power_seq[@]}"
        do
             result="$(busctl call $SERVICE $OBJECT_PATH $INTERFACE sendRequest yyyyay $SLOT_ID $NETFN $LUN $CMD $DATA_LEN 0x01 0x42 0x01 0x00 "$pwr_cmd")"
             echo "$result"
             if [ "$pwr_cmd" == $POWER_BTN_LOW ]
             then
                     sleep "$power_delay"
             fi
        done
}

# Check Host Response and Status
check-response()
{
   response="$(busctl call $SERVICE $OBJECT_PATH $INTERFACE sendRequest yyyyay $SLOT_ID 0x38 $LUN 0x3 0x03 0x15 0xa0 0x00)"

   result=$(echo "$response" | cut -d" " -f $PWRGD_SYS_PWROK_INDEX)
   res="$(( "$result" & 0x80  ))"
   pgood="$(( "$res" >> 7 ))"
   if [ "$pgood" == $STATE_ON ]
   then
     host-reboot 6
     sleep 15
     host-reboot 2
     exit 0;
   else
       echo "Host is Off"
       exit 1;
   fi
}
check-response
