IPTables

 view release on metacpan or  search on metacpan

IPTables.xs  view on Meta::CPAN




void
iptc_get_policy(handle, chain)
        const char * chain;
        iptc_handle_t * handle;
    PREINIT:
        struct ipt_counters count;
        char buf[64];
    PPCODE:
		if (!iptc_builtin(chain, *handle))
			XSRETURN_UNDEF;
        XPUSHs(sv_2mortal(newSVpv(iptc_get_policy(chain, &count, handle), 0)));
        sprintf(buf, "%lu", count.pcnt);
        XPUSHs(sv_2mortal(newSVpv(buf, strlen(buf))));
        sprintf(buf, "%lu", count.bcnt);
        XPUSHs(sv_2mortal(newSVpv(buf, strlen(buf))));


iptxs_entry *

IPTables.xs  view on Meta::CPAN

	OUTPUT:
		RETVAL

void
get_match_options(name)
		char * name;

	PREINIT:
		struct iptables_match *m;
		unsigned int moo;
	PPCODE:
		m = find_match(name, TRY_LOAD);

		if (m != NULL)
		{
			for (moo = 0; m->extra_opts[moo].name ; moo++)
			{
		        XPUSHs(sv_2mortal(newSVpv(m->extra_opts[moo].name, strlen(m->extra_opts[moo].name))));
			}
		} else {
			XPUSHs(sv_2mortal(newSVpv("-1-", strlen("-1-"))));
		}

void
get_match_help(name)
		char * name;

	PREINIT:
		struct iptables_match *m;
		unsigned int moo;
	PPCODE:
		m = find_match(name, TRY_LOAD);

		if (m != NULL)
		{
 			m->help();
		} else {
			XPUSHs(sv_2mortal(newSVpv("-1-", strlen("-1-"))));
		}



void
get_target_options(name)
		char * name;

	PREINIT:
		struct iptables_target *m;
		unsigned int moo;
	PPCODE:
		m = find_target(name, TRY_LOAD);

		if (m != NULL)
		{
			for (moo = 0; m->extra_opts[moo].name ; moo++)
			{
		        XPUSHs(sv_2mortal(newSVpv(m->extra_opts[moo].name, strlen(m->extra_opts[moo].name))));
			}
		} else {
			XPUSHs(sv_2mortal(newSVpv("-1-", strlen("-1-"))));
		}

void
get_target_help(name)
		char * name;

	PREINIT:
		struct iptables_target *m;
		unsigned int moo;
	PPCODE:
		m = find_target(name, TRY_LOAD);

		if (m != NULL)
		{
 			m->help();
		} else {
			XPUSHs(sv_2mortal(newSVpv("-1-", strlen("-1-"))));
		}




( run in 1.610 second using v1.01-cache-2.11-cpan-5511b514fd6 )