/* upnp_get_portmappings_in_range() * return a list of all "external" ports for which a port * mapping exists */ unsigned short * upnp_get_portmappings_in_range(unsigned short startport, unsigned short endport, const char * protocol, unsigned int * number) { int proto; proto = proto_atoi(protocol); if(!number) return NULL; return get_portmappings_in_range(startport, endport, proto, number); }
void list_eports_tcp(void) { unsigned short * port_list; unsigned int number = 0; unsigned int i; port_list = get_portmappings_in_range(0, 65535, IPPROTO_TCP, &number); printf("%u ports redirected (TCP) :", number); for(i = 0; i < number; i++) { printf(" %hu", port_list[i]); } printf("\n"); free(port_list); }