printnat.c revision 7c478bd95313f5f23a4c958a745db2134aa03244
/*
* Copyright (C) 1993-2001 by Darren Reed.
*
* See the IPFILTER.LICENCE file for details on licencing.
*
* Added redirect stuff and a variety of bug fixes. (mcn@EnGarde.com)
*/
#include "ipf.h"
#include "kmem.h"
#if !defined(lint)
static const char rcsid[] = "@(#)$Id: printnat.c,v 1.14 2003/04/13 06:39:16 darrenr Exp $";
#endif
int opts;
{
printf(" CLONE");
printf("]");
if (opts & OPT_VERBOSE) {
printf("\n\tage %lu use %hu sumd %s/",
} else {
0xffffffff);
0xffffffff);
}
printf("%s pr %u bkt %d/%d flags %x\n",
#ifdef USE_QUAD_T
printf("bytes %qu/%qu pkts %qu/%qu",
#else
#endif
#if SOLARIS
#endif
}
putchar('\n');
}
/*
* Print out a NAT rule
*/
int opts;
{
int bits;
{
case NAT_REDIRECT :
printf("rdr");
break;
case NAT_MAP :
printf("map");
break;
case NAT_MAPBLK :
printf("map-block");
break;
case NAT_BIMAP :
printf("bimap");
break;
default :
break;
}
}
putchar(' ');
printf("! ");
printf("from ");
} else {
}
printf(" !");
printf(" to ");
} else {
}
}
if (bits != -1)
else
}
printf(" tcp");
printf(" udp");
printf(" ip");
else
printf(" round-robin");
printf(" frag");
}
printf(" sticky");
if (np->in_mssclamp != 0)
else
}
printf("\n");
printf("\tspc %lu flg %#x max %u use %d\n",
} else {
if (bits != -1)
else
}
printf(" -> ");
} else {
if (bits != -1)
else
}
printf(" proxy port");
else
else
}
else
printf(" ports auto");
else
printf(" portmap");
printf(" tcp");
printf(" udp");
printf(" auto");
printf(" [%d:%d %d %d]",
} else {
}
}
printf(" frag");
}
if (np->in_mssclamp != 0)
printf("\n");
printf(" flags %x use %u\n",
}
}
}