'
' Simple IP netmask calculator - needs BaCon 1.0 build 11 or higher.
'
' Calculate network IPv4 netmask from CIDR notation.
' See also: http://en.wikipedia.org/wiki/CIDR_notation
'
' PvE March 2010 - GPL
'------------------------------------------------------------------------
OPTION BASE 1
SPLIT ARGUMENT$ BY " " TO arg$ SIZE dim
IF dim < 2 THEN
PRINT "Usage: ip <value> where value is in the range 1-32."
END
ENDIF
mask = VAL(arg$[2])
byte = 0
PRINT NL$, "Netmask is: ";
WHILE mask > 8
PRINT "255.";
INCR byte
DECR mask, 8
WEND
IF mask > 0 THEN
PRINT 256 - POW(2, 8-mask);
INCR byte
END IF
WHILE byte < 4
PRINT ".0";
INCR byte
WEND
PRINT NL$