#!/bin/bash

# This script finds all children of specified interface name.
# It will print out a list of all ifaces that are not DISABLED
# and have $1 in its REQUIRES or HOST option.
# TODO: handle 'boot' arg?

usage()
{
	echo "Usage: $0 <interface>" >&2
	exit 1
}

[ -z "$1" ] && usage
PARENTNAME=$1
CHILDREN=""
. $SCRIPTDIR/functions

# same code as in network.init
for MYIFACEDIR in $IFACEDIR/*; do
	BNAME=`basename $MYIFACEDIR`
	NAME=${BNAME/%@*/}
	[ "${NAME/%@*/}" = "${BNAME/%@$NETHOST/}" ] || continue
	[ "$NAME" = "default" -o "$NAME" = "unknown" -o "$NAME" = "CVS" ] && continue
	unset DISABLED REQUIRES HOST
	pickup_options
	is_yes "$DISABLED" && continue
	# absent quotes effectively normalize field separator to space
	if echo $REQUIRES | tr ' ' '\n' | grep -q ^$PARENTNAME$; then
		CHILDREN="${CHILDREN:+$CHILDREN }$NAME"
	elif echo $HOST | tr ' ' '\n' | grep -q ^$PARENTNAME$; then
		CHILDREN="${CHILDREN:+$CHILDREN }$NAME"
	fi
done

echo $CHILDREN
