#!/bin/sh

CURDIR=$(echo $0 | sed -e 's|[^/]*$||')
source /etc/sysconfig/config;

if [ -e /etc/sysconfig/helpers/customfuncs ]
then
	source /etc/sysconfig/helpers/customfuncs
fi

# Retrieve requested variable(s)
while [ -n "$1" ]; do
	case $1 in
		"ethaddr")
			if [ "X${CONFIG_NETWORK_MAC_INCONFIG}" == "Xy" ]; then
				VAL="${CONFIG_NETWORK_MACADDR}";
			elif [ "X${CONFIG_NETWORK_MAC_INSPI}" == "Xy" ]; then
				VAL=$(${CURDIR}/spicfgrd $1);
				ERR=$?;
				if [ $((ERR)) -ne 0 ]; then
					exit ${ERR};
				fi
			elif [ "X${CONFIG_NETWORK_MAC_CUSTOM}" == "Xy" ]; then
				VAL=`custom_get_mac`
			fi
			;;
		"hostname")
			if [ "X${CONFIG_HOSTNAME_INCONFIG}" == "Xy" ]; then
				VAL="${CONFIG_HOSTNAME}";
			elif [ "X${CONFIG_HOSTNAME_INSPI}" == "Xy" ]; then
				VAL=$(${CURDIR}/spicfgrd $1);
				ERR=$?;
				if [ $((ERR)) -ne 0 ]; then
					exit ${ERR};
				fi
			elif [ "X${CONFIG_HOSTNAME_CUSTOM}" == "Xy" ]; then
				VAL=`custom_get_hostname`
			fi
			;;
		"ipaddr")
			if [ "X${CONFIG_NETWORK_IPADDR_STATIC}" == "Xy" ]; then
				VAL="${CONFIG_NETWORK_IPADDR}";
			elif [ "X${CONFIG_NETWORK_IPADDR_INSPI}" == "Xy" ]; then
				VAL=$(${CURDIR}/spicfgrd $1);
				ERR=$?;
				if [ $((ERR)) -ne 0 ]; then
					exit ${ERR};
				fi
			elif [ "X${CONFIG_NETWORK_IPADDR_CUSTOM}" == "Xy" ]; then
				VAL=`custom_get_ipaddr`
			fi
			;;
		*)
			# Try all possibilities
			VAL=$(${CURDIR}/spicfgrd $1);
			ERR=$?;
			if [ $((ERR)) -ne 0 ]; then
				exit 100;
			fi
			;;
	esac
	if [ -z "${VAL}" ]; then
		echo "";
	else
		echo ${VAL};
	fi
	shift 1;
done
