#! /bin/sh

# mount ISO image @ BSD/SunOS/Linux
# ---------------------------------
# vermaden [AT] interia [DOT] pl
# http://toya.net.pl/~vermaden/links.htm

[ ${#} -ne 2 ] && {
  echo "usage: $( basename ${0} ) image.iso /mnt/point"
  exit 1
}

__absolute() {
  if [ -f /${1} ]
  then
    echo "${1}"
  else
    echo "$( pwd )/${1}"
  fi
}

case $( uname ) in
  (FreeBSD)
    NODE=$( mdconfig -a -t vnode -f "${1}" )
    mount -t cd9660 /dev/${NODE} "${2}"
    ;;

  (SunOS)
    FILE=$(  __absolute "${1}" )
    POINT=$( __absolute "${2}" )
    lofiadm -d "${FILE}" 1> /dev/null
    NODE=$( lofiadm -a "${FILE}" )
    mount -F hsfs -o ro ${NODE} "${POINT}"
    ;;

  (Linux)
    mount -o loop "${1}" "${2}"
    ;;

  (*)
    echo "supported systems: FreeBSD Solaris Linux"
    exit 1
    ;;
esac

