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 )