diff options
author | Asbjørn Sloth Tønnesen <ast@2e8.dk> | 2019-07-18 21:35:33 +0000 |
---|---|---|
committer | Asbjørn Sloth Tønnesen <ast@2e8.dk> | 2019-07-18 21:35:33 +0000 |
commit | 1f2c6d833c579c8c3169e22ef8af00265a438406 (patch) | |
tree | 1ab27f5e85da78f1b67e001c22b9015260cbdfd1 /lua/inet/core.lua | |
parent | cfec9c2570b9f185447025a17c735f44a7b9f525 (diff) | |
download | lua-inet-1f2c6d833c579c8c3169e22ef8af00265a438406.tar.gz lua-inet-1f2c6d833c579c8c3169e22ef8af00265a438406.tar.xz lua-inet-1f2c6d833c579c8c3169e22ef8af00265a438406.zip |
add :hostmask()
Signed-off-by: Asbjørn Sloth Tønnesen <ast@2e8.dk>
Diffstat (limited to 'lua/inet/core.lua')
-rw-r--r-- | lua/inet/core.lua | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/lua/inet/core.lua b/lua/inet/core.lua index 0b062e7..f8e17cc 100644 --- a/lua/inet/core.lua +++ b/lua/inet/core.lua @@ -385,6 +385,12 @@ function inet4:netmask() return new_inet4(replace(0xffffffff, 0, 0, hostbits), 32) end +function inet4:hostmask() + local mask = self.mask + local hostbits = 32 - mask + return new_inet4(replace(0xffffffff, 0, hostbits, mask), 32) +end + function inet4:flip() -- find twin by flipping the last network bit local mask = self.mask @@ -716,6 +722,11 @@ function inet6:netmask() return build_inet6_mask(0, mask, 128 - mask) end +function inet6:hostmask() + local mask = self.mask + return build_inet6_mask(mask, 128 - mask, 0) +end + function inet6:flip() -- find twin by flipping the last network bit local mask = self.mask |