#!/bin/sh
modprobe smbfs
while [ 0 ]; do
rm -f /tmp/SeTDS /tmp/SeTmount

 cat << EOF > /tmp/tmpmsg

SMBȤäơWindowsζͭǥ饤󥹥ȡ
ˡϤޤޤȯӾǡˤäƤǽ
ʤ礬ޤSBMͳǥ󥹥ȡ뤹뤿ˤϡ
ФȤʤޥɬפʥǥCD-ROM򤢤餫
ͭ褦ꤷΥޥIPɥ쥹NetBIOS̾
ͭӥ̾ѥɤåƤƤ

SMBͳΥ󥹥ȡԤޤ
EOF
 dialog --title "SMBͳΥ󥹥ȡ" --yesno "`cat /tmp/tmpmsg`" 16 68
 if [ $? = 1 -o $? = 255 ]; then
  rm -f /tmp/tmpmsg
  exit
 fi
 rm -f /tmp/tmpmsg
 T_PX="`cat /tmp/SeTT_PX`"
 UPNRUN=1
 if [ "$T_PX" = "/" ]; then
  cat << EOF > /tmp/tmpmsg

ϡɥǥΥե륷ƥफ¹ԤƤޤ
ޥϸߥ󥹥ȡ븵Ȥʤ륵Фȥͥåȥ³
Ƥޤ⤷ʤ顢ͥåȥɤΥꥳե
ϹԤޤ

ͥåȥ³Ƥޤ
EOF
  dialog --title "SMB󥹥ȡ" --yesno "`cat /tmp/tmpmsg`" 11 68
  UPNRUN=$?
 fi
 if [ $UPNRUN = 1 ]; then
  cat << EOF > /tmp/tmpmsg

Υޥ˳ƤIPɥ쥹ϤƤ
㤨С111.112.113.114

IPɥ쥹ϲǤ
EOF
  dialog --title "IPɥ쥹" --inputbox "`cat /tmp/tmpmsg`" 13 65 2> /tmp/local
  if [ $? = 1 -o $? = 255 ]; then
   rm -f /tmp/tmpmsg /tmp/local
   exit
  fi
  LOCAL_IPADDR="`cat /tmp/local`"
  rm -f /tmp/local
  cat << EOF > /tmp/tmpmsg

ͥåȥޥꤹɬפޤ
ŵŪˤ255.255.255.0Ǥ
ϥˤäơۤʤ
ǽޤ

ͥåȥޥϲǤ
EOF
  dialog --title "ͥåȥޥ" --inputbox "`cat /tmp/tmpmsg`" 15 65 2> /tmp/mask
  if [ $? = 1 -o $? = 255 ]; then
   rm -f /tmp/tmpmsg /tmp/mask
   exit
  fi
  LOCAL_NETMASK="`cat /tmp/mask`"
  rm /tmp/mask
#  cat << EOF > /tmp/tmpmsg
#
#Typically your broadcast address will be the same as
#your IP address with 255 replacing the final value.
#Example: 111.112.113.255
#
#What is your broadcast address?
#EOF
#  dialog --title "ASSIGN BROADCAST ADDRESS" --inputbox "`cat /tmp/tmpmsg`" 14 65 2> /tmp/broadc
#  if [ $? = 1 -o $? = 255 ]; then
#   rm -f /tmp/tmpmsg /tmp/broadc
#   exit
#  fi
#  LOCAL_BROADCAST="`cat /tmp/broadc`"
#  rm /tmp/broadc
#  cat << EOF > /tmp/tmpmsg
#
#Now we need your network address.
#
#Your network address will usually be the same as your IP
#address, with the last value replaced by 0.
#For example: 111.112.113.0
#
#What is your network address? 
#EOF
#  dialog --title "ASSIGN NETWORK ADDRESS" --inputbox "`cat /tmp/tmpmsg`" 16 65 2> /tmp/netw
#  if [ $? = 1 -o $? = 255 ]; then
#   rm -f /tmp/tmpmsg /tmp/netw
#   exit
#  fi
#  LOCAL_NETWORK="`cat /tmp/netw`"
#  rm /tmp/netw
LOCAL_BROADCAST=`ipmask $LOCAL_NETMASK $LOCAL_IPADDR | cut -f 1 -d ' '`
LOCAL_NETWORK=`ipmask $LOCAL_NETMASK $LOCAL_IPADDR | cut -f 2 -d ' '`

 fi # ! UPNRUN

 cat << EOF > /tmp/tmpmsg

ΥޥϽޤ˥ФȤʤޥ
ϿޤޤPlamo LinuxΥѥåͭ
󶡤ƤWindowsޥIPɥ쥹ꤷޤ

EOF
 if [ "$UPNRUN" = "0" ]; then
  cat << EOF >> /tmp/tmpmsg
⤦ͥåȥ³Ƥޤ顢ɬפʤIPɥ쥹
˥ۥ̾ѤǤϤǤ

EOF
 fi
 echo "СIPɥ쥹ϲǤ " >> /tmp/tmpmsg
 dialog --title "ENTER IP ADDRESS OF SMB SERVER" --inputbox \
 "`cat /tmp/tmpmsg`" 17 70 2> /tmp/remote
 if [ $? = 1 -o $? = 255 ]; then
  rm -f /tmp/tmpmsg /tmp/remote
  exit
 fi
 REMOTE_IPADDR="`cat /tmp/remote`"
 rm /tmp/remote
 if [ ! "$UPNRUN" = "0" ]; then
   ENET_DEVICE="eth0" 
 fi # ! UPNRUN

 cat << EOF > /tmp/tmpmsg

 ˡѥå󶡤ƤWindowsޥ
NetBIOS̾(WindowsͥåȥǤ̾)ꤷƤ
EOF
 dialog --title "ФNetBIOS̾" --inputbox "`cat /tmp/tmpmsg`" 17 70 2> /tmp/netbios
 if [ $? = 1 -o $? = 255 ]; then
  rm -f /tmp/tmpmsg /tmp/netbios
  exit
 fi
 REMOTE_NETBIOS="`cat /tmp/netbios`"
# rm /tmp/netbios
 cat << EOF > /tmp/tmpmsg

 ˡѥå󶡤ƤWindowsޥζͭ̾
(Υե˥뤿Υӥ̾)ꤷƤ
EOF
 dialog --title "ͭӥ̾λ" --inputbox "`cat /tmp/tmpmsg`" 17 70 2> /tmp/resource
 if [ $? = 1 -o $? = 255 ]; then
  rm -f /tmp/tmpmsg /tmp/resource
  exit
 fi
 REMOTE_SERVICE="`cat /tmp/resource`"
# rm /tmp/resource

 echo 
 echo
 echo "顼ǧ뤿ᡢƥȥ⡼ɤؤޤ"
 echo
 if [ ! "$UPNRUN" = "0" ]; then
  echo
  echo "顼ǧ뤿ᡢƥȥ⡼ɤؤޤ"
  echo
  echo "ͥåȥ..."
  ifconfig $ENET_DEVICE $LOCAL_IPADDR netmask $LOCAL_NETMASK broadcast $LOCAL_BROADCAST
  route add -net $LOCAL_NETWORK
  if [ "$HAVE_GATEWAY" != "0" ]; then
   echo "ȥ..."
   route add default gw $LOCAL_GATEWAY metric 1
  fi
 fi
 echo "smbmount ǥޥ..."
 echo "ѥɤҤͤޤΤǡѥɤꤷƤ"
 echo "ϤƤꤷƤʤEnterǿʤޤ"
 echo 
 smbmount //$REMOTE_NETBIOS/$REMOTE_SERVICE /var/adm/mount -I $REMOTE_IPADDR 
 echo "/var/adm/mount" > /tmp/SeTDS
 echo "-source_mounted" > /tmp/SeTmount
 echo "/dev/null" > /tmp/SeTsource
 echo
 echo "ߤΥޥȥơ֥롧"
 mount
 echo -n "smbmountľɬפޤ ([y]es, [n]o)? "
 read TRY_AGAIN;
 if [ "$TRY_AGAIN" = "n" -o "$TRY_AGAIN" = "N" ]; then
  exit
 fi
 if [ "$UPNRUN" = "1" ]; then
  route del $LOCAL_NETWORK
  ifconfig $ENET_DEVICE down 
 fi
done
