Blame extensions/libxt_icmp.h

Packit 7b22a4
struct xt_icmp_names {
Packit 7b22a4
	const char *name;
Packit 7b22a4
	uint8_t type;
Packit 7b22a4
	uint8_t code_min, code_max;
Packit 7b22a4
};
Packit 7b22a4
Packit 7b22a4
static void xt_print_icmp_types(const struct xt_icmp_names *icmp_codes,
Packit 7b22a4
				unsigned int n_codes)
Packit 7b22a4
{
Packit 7b22a4
	unsigned int i;
Packit 7b22a4
Packit 7b22a4
	for (i = 0; i < n_codes; ++i) {
Packit 7b22a4
		if (i && icmp_codes[i].type == icmp_codes[i-1].type) {
Packit 7b22a4
			if (icmp_codes[i].code_min == icmp_codes[i-1].code_min
Packit 7b22a4
			    && (icmp_codes[i].code_max
Packit 7b22a4
				== icmp_codes[i-1].code_max))
Packit 7b22a4
				printf(" (%s)", icmp_codes[i].name);
Packit 7b22a4
			else
Packit 7b22a4
				printf("\n   %s", icmp_codes[i].name);
Packit 7b22a4
		}
Packit 7b22a4
		else
Packit 7b22a4
			printf("\n%s", icmp_codes[i].name);
Packit 7b22a4
	}
Packit 7b22a4
	printf("\n");
Packit 7b22a4
}