uint64_t full[IPSET_CADT_MAX]; /* full args flags */
const char *usage; /* terse usage */
void (*usagefn)(void); /* additional usage */
+ const char *description; /* short revision description */
struct ipset_type *next;
const char *alias[]; /* name alias(es) */
},
.usage = bitmap_ip_usage,
+ .description = "Initial revision",
};
void _init(void);
},
.usage = bitmap_ipmac_usage,
+ .description = "Initial revision",
};
void _init(void);
},
.usage = bitmap_port_usage,
+ .description = "Initial revision",
};
void _init(void);
},
.usage = hash_ip_usage,
+ .description = "Initial revision",
};
void _init(void);
.usage = hash_ipport1_usage,
.usagefn = ipset_port_usage,
+ .description = "SCTP and UDPLITE support",
};
void _init(void);
.usage = hash_ipportip1_usage,
.usagefn = ipset_port_usage,
+ .description = "SCTP and UDPLITE support",
};
void _init(void);
.usage = hash_ipportnet1_usage,
.usagefn = ipset_port_usage,
+ .description = "SCTP and UDPLITE support",
};
static const char hash_ipportnet2_usage[] =
.usage = hash_ipportnet2_usage,
.usagefn = ipset_port_usage,
+ .description = "Add/del range support",
};
static const struct ipset_arg hash_ipportnet3_add_args[] = {
.usage = hash_ipportnet3_usage,
.usagefn = ipset_port_usage,
+ .description = "nomatch flag support",
};
void _init(void);
},
.usage = hash_net0_usage,
+ .description = "Initial revision",
};
static const char hash_net1_usage[] =
},
.usage = hash_net1_usage,
+ .description = "Add/del range support",
};
static const struct ipset_arg hash_net2_add_args[] = {
},
.usage = hash_net2_usage,
+ .description = "nomatch flag support",
};
void _init(void);
},
.usage = hash_netiface_usage,
+ .description = "Initial revision",
};
static const struct ipset_arg hash_netiface1_add_args[] = {
},
.usage = hash_netiface1_usage,
+ .description = "nomatch flag support",
};
static struct ipset_type ipset_hash_netiface2 = {
},
.usage = hash_netiface1_usage,
+ .description = "/0 network support",
};
void _init(void);
.usage = hash_netport1_usage,
.usagefn = ipset_port_usage,
+ .description = "SCTP and UDPLITE support",
};
static const char hash_netport2_usage[] =
.usage = hash_netport2_usage,
.usagefn = ipset_port_usage,
+ .description = "Add/del range support",
};
static const struct ipset_arg hash_netport3_add_args[] = {
.usage = hash_netport3_usage,
.usagefn = ipset_port_usage,
+ .description = "nomatch flag support",
};
void _init(void);
},
.usage = list_set_usage,
+ .description = "Initial revision",
};
void _init(void);
type->family == NFPROTO_IPV4
? "INET" : "INET6");
} else {
- const char *name = NULL;
-
printf("\nSupported set types:\n");
type = ipset_types();
while (type) {
- if (!(name && STREQ(name, type->name)))
- printf(" %s\n", type->name);
- name = type->name;
+ printf(" %s\t%s%u\t%s\n",
+ type->name,
+ strlen(type->name) < 12 ? "\t" : "",
+ type->revision,
+ type->description);
type = type->next;
}
}