Annotation of embedaddon/miniupnpd/pf/testobsdrdr.c, revision 1.1
1.1 ! misho 1: /* $Id: testobsdrdr.c,v 1.19 2010/03/07 09:25:20 nanard 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>