BASH inet_aton inet_ntoa

# aton and ntoa
function INET_NTOA() {
  local IFS=. num quad ip e
  num=$1
  for e in 3 2 1; do
    quad=$((256**$e))
    ip[$((3-$e))]=$(($num/$quad))
    num=$((num%quad))
  done
  ip[3]=${num}
  echo "${ip[*]}"
}

function INET_ATON() {
  local IFS=. ip num e
  ip=($1)
  for e in 3 2 1; do
    num=$(($num+${ip[$((3-$e))]}*256**$e))
  done
  num=$(($num+${ip[3]}))
  echo $(($num&0xFFFFFFFF))
}