File:  [ELWIX - Embedded LightWeight unIX -] / embedaddon / miniupnpd / pf / testobsdrdr.c
Revision 1.1.1.1 (vendor branch): download - view: text, annotated - select for diffs - revision graph
Tue Feb 21 23:16:02 2012 UTC (12 years, 5 months ago) by misho
Branches: miniupnpd, elwix, MAIN
CVS tags: v1_5, HEAD
miniupnpd

    1: /* $Id: testobsdrdr.c,v 1.1.1.1 2012/02/21 23:16:02 misho Exp $ */
    2: /* MiniUPnP project
    3:  * http://miniupnp.free.fr/ or http://miniupnp.tuxfamily.org/
    4:  * (c) 2006-2010 Thomas Bernard 
    5:  * This software is subject to the conditions detailed
    6:  * in the LICENCE file provided within the distribution */
    7: 
    8: #include <stdio.h>
    9: #include <sys/types.h>
   10: #include <netinet/in.h>
   11: #include <syslog.h>
   12: 
   13: #include "obsdrdr.h"
   14: 
   15: /*int logpackets = 1;*/
   16: int runtime_flags = 0;
   17: const char * tag = 0;
   18: 
   19: void
   20: list_rules(void);
   21: 
   22: void
   23: test_index(void)
   24: {
   25: 	char ifname[16/*IFNAMSIZ*/];
   26: 	char iaddr[32];
   27: 	char desc[64];
   28: 	unsigned short iport = 0;
   29: 	unsigned short eport = 0;
   30: 	int proto = 0;
   31: 	ifname[0] = '\0';
   32: 	iaddr[0] = '\0';
   33: 	if(get_redirect_rule_by_index(0, ifname, &eport, iaddr, sizeof(iaddr),
   34: 	                              &iport, &proto, desc, sizeof(desc),
   35:                                   0, 0) < 0)
   36: 	{
   37: 		printf("get.._by_index : no rule\n");
   38: 	}
   39: 	else
   40: 	{
   41: 		printf("%s %u -> %s:%u proto %d\n", ifname, (unsigned int)eport,
   42: 		       iaddr, (unsigned int)iport, proto);
   43: 		printf("description: \"%s\"\n", desc);
   44: 	}
   45: }
   46: 
   47: int
   48: main(int arc, char * * argv)
   49: {
   50: 	char buf[32];
   51: 	char desc[64];
   52: 	unsigned short iport;
   53: 	u_int64_t packets = 0;
   54: 	u_int64_t bytes = 0;
   55: 
   56: 	openlog("testobsdrdr", LOG_PERROR, LOG_USER);
   57: 	if(init_redirect() < 0)
   58: 	{
   59: 		fprintf(stderr, "init_redirect() failed\n");
   60: 		return 1;
   61: 	}
   62: 	//add_redirect_rule("ep0", 12123, "192.168.1.23", 1234);
   63: 	//add_redirect_rule2("ep0", 12155, "192.168.1.155", 1255, IPPROTO_TCP);
   64: 	//add_redirect_rule2("ep0", 12123, "192.168.1.125", 1234,
   65: 	//                   IPPROTO_UDP, "test description");
   66: 	//add_redirect_rule2("em0", 12123, "127.1.2.3", 1234,
   67: 	//                   IPPROTO_TCP, "test description tcp");
   68: 
   69: 	list_rules();
   70: 
   71: 	if(get_redirect_rule("xl1", 4662, IPPROTO_TCP,
   72: 	                     buf, 32, &iport, desc, sizeof(desc),
   73: 	                     &packets, &bytes) < 0)
   74: 		printf("get_redirect_rule() failed\n");
   75: 	else
   76: 	{
   77: 		printf("\n%s:%d '%s' packets=%llu bytes=%llu\n", buf, (int)iport, desc,
   78: 		       packets, bytes);
   79: 	}
   80: #if 0
   81: 	if(delete_redirect_rule("ep0", 12123, IPPROTO_UDP) < 0)
   82: 		printf("delete_redirect_rule() failed\n");
   83: 	else
   84: 		printf("delete_redirect_rule() succeded\n");
   85: 
   86: 	if(delete_redirect_rule("ep0", 12123, IPPROTO_UDP) < 0)
   87: 		printf("delete_redirect_rule() failed\n");
   88: 	else
   89: 		printf("delete_redirect_rule() succeded\n");
   90: #endif
   91: 	//test_index();
   92: 
   93: 	//clear_redirect_rules();
   94: 	//list_rules();
   95: 
   96: 	return 0;
   97: }
   98: 
   99: 

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>