#!/bin/bash

usage() { echo "Usage: $0 [-i interfacename]" 1>&2; exit 1; }

INTERFACE="${NETWORK_INTERFACE}"

while getopts ':i:' opt; do
  case ${opt} in
    i) 
      INTERFACE="$OPTARG"
      ;;
    *)
      usage
      ;;
  esac
done


IFCONFIG=`/sbin/ifconfig $INTERFACE 2>/dev/null`
IWCONFIG=`/sbin/iwconfig $INTERFACE 2>/dev/null`

IP=`echo "$IFCONFIG" | awk '/inet addr/ {print $2}' | sed s/addr://g `
BCAST=`echo "$IFCONFIG" | awk '/inet addr/ {print $3}' | sed s/Bcast://g `
MASK=`echo "$IFCONFIG" | awk '/inet addr/ {print $4}' | sed s/Mask://g`

WIRELESS=""
SSID=`echo "$IWCONFIG" | awk '/ESSID:/ {print $4}' | sed s/ESSID://g  | sed s/\"//g`
FREQUENCY=`echo "$IWCONFIG" | awk '/Frequency:/ {print $2" "$3}' | sed s/Frequency://g  | sed s/\"//g`
LINK_QUALITY=`echo "$IWCONFIG" | awk '/Link Quality=/ {print $2}' | sed s/Quality=//g `
SIGNAL_LEVEL=`echo "$IWCONFIG" | awk '/Signal level=/ {print $4" "$5}' | sed s/level=//g `


#echo "interface $INTERFACE chosen"
#echo "$IP"
#echo "$BCAST"
#echo "$MASK"

if [ ! -z "$IWCONFIG" ] 
then
  #echo "$SSID"
  #echo "$FREQUENCY"
  #echo "$LINK_QUALITY"
  #echo "$SIGNAL_LEVEL"
  WIRELESS=`printf '{"ssid":"%s", "frequency":"%s", "link_quality":"%s", "signal_level":"%s"}' "$SSID" "$FREQUENCY" "$LINK_QUALITY" "$SIGNAL_LEVEL"`
else
  WIRELESS="{}"
  #echo "NO WIRELESS"
fi

TOTAL=`printf '{"interface":"%s", "ip":"%s", "broadcast":"%s", "mask":"%s", "wireless":%s}\n' "$INTERFACE" "$IP" "$BCAST" "$MASK" "$WIRELESS"`


echo "$TOTAL"