converting between netmask formats

Started by Robert Haasover 16 years ago2 messages
#1Robert Haas
robertmhaas@gmail.com

I'm writing some code now that uses the inet and cidr types and I find
myself wanting a function that takes an argument of type inet and
returns an integer, where:

255.255.255.255 => 32
255.255.255.254 => 31
255.255.255.252 => 30
255.255.255.248 => 29
255.255.255.240 => 28
...
128.0.0.0 => 1
0.0.0.0 => 0

...and returning NULL for all other IPv4 IPs. We have the netmask()
function that performs this computation in the other direction, but in
this case I am trying to go the other way.

Anyone else think this would be a useful addition? Anyone have a good
idea for a name? parse_netmask()?

...Robert

#2Josh Berkus
josh@agliodbs.com
In reply to: Robert Haas (#1)
Re: converting between netmask formats

Anyone else think this would be a useful addition? Anyone have a good
idea for a name? parse_netmask()?

netmask_bits()

--
Josh Berkus
PostgreSQL Experts Inc.
www.pgexperts.com