+if test ${debug_log} -ne 0 ; then
+ touch @working_dir@/mtx.log
+fi
+dbgfile="@working_dir@/mtx.log"
+debug() {
+ if test -f $dbgfile; then
+ echo "`date +\"%Y%m%d-%H:%M:%S\"` $*" >> $dbgfile
+ fi
+}
+
+
+#
+# Create a temporary file
+#
+make_temp_file() {
+ TMPFILE=`mktemp @working_dir@/mtx.XXXXXXXXXX`
+ if test x${TMPFILE} = x; then
+ TMPFILE="@working_dir@/mtx.$$"
+ if test -f ${TMPFILE}; then
+ echo "Temp file security problem on: ${TMPFILE}"
+ exit 1
+ fi
+ fi
+}
+
+#
+# The purpose of this function to wait a maximum
+# time for the drive. It will
+# return as soon as the drive is ready, or after
+# waiting a maximum of 300 seconds.
+# Note, this is very system dependent, so if you are
+# not running on Linux, you will probably need to
+# re-write it, or at least change the grep target.
+# We've attempted to get the appropriate OS grep targets
+# in the code at the top of this script.
+#
+wait_for_drive() {
+ i=0
+ while [ $i -le 300 ]; do # Wait max 300 seconds
+ if mt -f $1 status 2>&1 | grep "${ready}" >/dev/null 2>&1; then
+ break
+ fi
+ debug "Device $1 - not ready, retrying..."
+ sleep 1
+ i=`expr $i + 1`
+ done
+}
+
+# check parameter count on commandline
+#
+check_parm_count() {
+ pCount=$1
+ pCountNeed=$2
+ if test $pCount -lt $pCountNeed; then
+ echo "usage: mtx-changer ctl-device command [slot archive-device drive-index]"
+ echo " Insufficient number of arguments given."
+ if test $pCount -lt 2; then
+ echo " Mimimum usage is first two arguments ..."
+ else
+ echo " Command expected $pCountNeed arguments"
+ fi
+ exit 1
+ fi
+}
+
+# Check for special cases where only 2 arguments are needed,
+# all others are a minimum of 5