3 awk -f /usr
/lib
/common.
awk -f - $
* <<EOF
6 netmask=ip2int(ARGV[2])
7 network=and(ipaddr,netmask)
8 broadcast=or(network,compl(netmask))
10 start=or(network,and(ip2int(ARGV[3]),compl(netmask)))
12 if (start<limit) start=limit
14 end=or(start,and(ip2int(ARGV[4]),compl(netmask)))
15 limit=or(network,compl(netmask))-1
16 if (end>limit) end=limit
18 print "NETMASK="int2ip(netmask)
19 print "BROADCAST="int2ip(broadcast)
20 print "NETWORK="int2ip(network)
21 print "PREFIX="bitcount(int2ip(netmask))
24 # ipcalc <ip> <netmask> <start> <num>
27 print "START="int2ip(start)
28 print "END="int2ip(end)