summaryrefslogtreecommitdiffstats
path: root/package/owipcalc/src/owipcalc.c
diff options
context:
space:
mode:
Diffstat (limited to 'package/owipcalc/src/owipcalc.c')
-rw-r--r--package/owipcalc/src/owipcalc.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/package/owipcalc/src/owipcalc.c b/package/owipcalc/src/owipcalc.c
index 6d7a8aaf4..06d163e2f 100644
--- a/package/owipcalc/src/owipcalc.c
+++ b/package/owipcalc/src/owipcalc.c
@@ -518,6 +518,12 @@ static bool cidr_howmany(struct cidr *a, struct cidr *b)
return true;
}
+static bool cidr_prefix(struct cidr *a, struct cidr *b)
+{
+ a->prefix = b->prefix;
+ return true;
+}
+
static bool cidr_quiet(struct cidr *a)
{
quiet = true;
@@ -545,6 +551,11 @@ struct op ops[] = {
.desc = "Turn base address into broadcast address",
.f4.a1 = cidr_broadcast4 },
+ { .name = "prefix",
+ .desc = "Set the prefix of base address to argument",
+ .f4.a2 = cidr_prefix,
+ .f6.a2 = cidr_prefix },
+
{ .name = "netmask",
.desc = "Print netmask of base address, does not change base address",
.f4.a1 = cidr_netmask4 },