#!/sbin/runscript
# Copyright 1999-2005 Gentoo Foundation
# Distributed under the terms of the GNU General Public License, v2
# $Header: /var/cvsroot/gentoo-x86/sys-fs/udftools/files/pktcdvd.init,v 1.1 2005/09/05 22:10:58 dsd Exp $

depend() {
	need localmount modules
}

checkconfig() {
	if [[ ! -e /dev/pktcdvd/control ]]; then
		eerror "Could not find packet-writing control device at /dev/pktcdvd/control"
		eerror "Please ensure that your kernel includes packet writing support,"
		eerror "and if modular, ensure that the module is loaded."
		return 1
	fi
}

get_rw_devices() {
	devices_raw=$(sed -re '/^drive name:/I!d; s/.*:\s+//' /proc/sys/dev/cdrom/info)
	devices=($devices_raw)
	devs=""

	cdrw_caps=$(sed -re '/^Can write CD-RW:/I!d; s/.*:\s+//' /proc/sys/dev/cdrom/info)

	count=0
	for i in $cdrw_caps; do
		[[ $i == 1 ]] && devs="${devs} ${devices[$count]}"
		((count++))
	done

	echo ${devs}
}

start() {
	checkconfig || return 1

	for i in $(get_rw_devices)
	do
		devnode="/dev/${i}"
		[[ ! -e ${devnode} ]] && continue

		/usr/bin/pktsetup ${i} ${devnode} > /dev/null
		[[ ! -e /dev/pktcdvd/${i} ]] && continue
		chmod 660 /dev/pktcdvd/${i}
		chgrp cdrw /dev/pktcdvd/${i}
	done
}

stop() {
	checkconfig || return 1
	
	for i in $(get_rw_devices)
	do
		/usr/bin/pktsetup -d ${i} > /dev/null
	done
}

