aboutsummaryrefslogtreecommitdiffstats
path: root/lua/inet
diff options
context:
space:
mode:
authorAsbjørn Sloth Tønnesen <ast@2e8.dk>2019-07-18 21:35:33 +0000
committerAsbjørn Sloth Tønnesen <ast@2e8.dk>2019-07-18 21:35:33 +0000
commit1f2c6d833c579c8c3169e22ef8af00265a438406 (patch)
tree1ab27f5e85da78f1b67e001c22b9015260cbdfd1 /lua/inet
parentcfec9c2570b9f185447025a17c735f44a7b9f525 (diff)
downloadlua-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')
-rw-r--r--lua/inet/core.lua11
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