#!/bin/sh
# Part of hpmgmtbase for HP RDP support (Rapid Deployment Pack)

VERSION='1.0-2'
RETCODE_ERROR_CLEARBOOTNEXT=1
RETCODE_ERROR_LISTBOOTMENU=2
RETCODE_ERROR_BOOTNEXTN=3
RETCODE_ERROR_BOOTNEXTPXE=4

PATH="$PATH:/usr/local/sbin"
export PATH

case $1 in
	-b)
		efiMenuEntry="$2"
		[ -n "$efiMenuEntry" ] && efibootmgr -n $efiMenuEntry || exit $RETCODE_ERROR_BOOTNEXTN
		;;
	-c)
		efibootmgr -N || exit $RETCODE_ERROR_CLEARBOOTNEXT	
		;;
	-v)
		echo "v${VERSION}" 
		;;
	-h|-help|-\?)
		echo "Usage: ${0} [ -b n | -c | -h | -P | -v ]"
		echo -e "Sets EFI Bootnext device.\n"
		echo '  -b n set bootnext to menu item n'
		echo '  -c clear any boot next changes'
		echo '  -h  help'
		echo '  -P set bootnext to first LAN card found'
		echo '  -v  version'
		;;      
	-P)
		efiMenuEntry="$(efibootmgr -v | awk ' /MAC\(.*\)($|[^a-zA-Z0-9])/ {print $1; exit}')"
		[ -n "$efiMenuEntry" ] && efibootmgr -n ${efiMenuEntry:4:4} || exit $RETCODE_ERROR_BOOTNEXTPXE
		;;
	*)	
		efibootmgr -v || exit $RETCODE_ERROR_LISTBOOTMENU
		;;
esac

exit 0
