getparam()
{
	case "$CMDLINE" in *\ $1=*) ;; *) return 1; ;; esac
	result="${CMDLINE##*$1=}"
	result="${result%%[     ]*}"
	echo "$result"
	return 0
}

# give it $npart, it will return $gpart
normal_to_grub() {
        GROOT=`echo $npart| awk '{sub(/^hd|^sd|^c[0-9]d/,"");print $0}'`
        if echo $GROOT | grep -q '^[0-9][0-9]*$' ; then
                DRIVE=$GROOT
        else
                DRIVE=`echo $GROOT| awk '{sub(/p?[0-9]*$/,"");print $0}'`
        fi
        NR=`echo $GROOT| awk '{sub(/^([a-z]*|[0-9]*p?)/,"");print $0}'`
        NDRIVE=""

        if echo $DRIVE | grep -q '^[0-9][0-9]*$' ; then
                NDRIVE=$DRIVE
        else
                TR=`echo $DRIVE |tr "a-j" "0-9"`
                [ "${DRIVE}" != "$TR" ] && NDRIVE="$TR"
                TR=`echo $DRIVE |tr "k-u" "0-9"`
                [ "${DRIVE}" != "$TR" ] && NDRIVE="1${TR}"
                TR=`echo $DRIVE |tr "w-z" "0-3"`
                [ "${DRIVE}" != "$TR" ] && NDRIVE="2${TR}"
        fi

        if [ "${NR}" != "" ]; then
                NR=`expr $NR - 1`
                gpart="(hd${NDRIVE},$NR)"
        else
                gpart="(hd${NDRIVE})"
        fi
        unset TR NR NDRIVE GROOT DRIVE
}

# give it $npart, it will return $devpart
normal_to_dev() {
	devpart=`ls -l /dev/$npart | awk '{gsub(/,/,"",$5); printf "%0+2x%0+2x", $5, $6}'`
}

# Routine replacing 'hda1' with something nicer as 'First partition of first IDE disk'
identify_disk()
{
	case `echo $cp | cut -b 1` in
		h) bus=IDE;;
		s) bus=SCSI;;
	esac 
	case `echo $cp | cut -b 3` in
		a) busn=first;;
		b) busn=second;;
		c) busn=third;;
		d) busn=fourth;;
		e) busn=fifth;;
		f) busn=sixth;;
		g) busn=seventh;;
		h) busn=eighth;;
		i) busn=nineth;;
		j) busn=tenth;;
		k) busn=eleventh;;
	esac
	case `echo $cp | cut -b 4-` in
		1) partn=First;;
		2) partn=Second;;
		3) partn=Third;;
		4) partn=Fourth;;
		5) partn=Fifth;;
		6) partn=Sixth;;
		7) partn=Seventh;;
		8) partn=Eighth;;
		9) partn=Nineth;;
		10) partn=Tenth;;
		11) partn=Eleventh;;
	esac
	partid="$partn partition of $busn $bus disk ($cp)"
}

get_parts_linux() {
	sfdisk -l  | grep "Linux$" | awk '{print $1}' | awk -F"/" '{print $3}'
}

get_parts_swap() {
	sfdisk -l  | grep "swap$" | awk '{print $1}' | awk -F"/" '{print $3}'
}

get_parts_other() {
	sfdisk -l  | grep -v "Linux$" | grep -v "swap$" | grep -v "Ext" | grep -v "Empty" | awk '{print $1}' | awk -F"/" '{print $3}'
}

get_parts_fat() {
	sfdisk -l  | grep "FAT" | awk '{print $1}' | awk -F"/" '{print $3}'
}

get_parts_ntfs() {
	sfdisk -l  | grep "NTFS$" | awk '{print $1}' | awk -F"/" '{print $3}'
}

get_disks() {
	sfdisk -l |grep "Disk /dev" |awk '{print $2}' |sed -e "s#/dev/##" |tr -d ":"
}

get_cdroms() {
# ide
dmesg | grep "^hd.:.*CD" | awk '{print $1}' | sed -e "s/://g" | sort | uniq
# scsi
dmesg | grep "^sr.:" | awk '{print $1}' | sed -e "s/://g;s/sr/scd/g" | sort | uniq
}

# vi: syntax=sh:shiftwidth=8:
