Browse Source

[lwip] add list_udps() for lwip-1.4.1.

aozima 7 years ago
parent
commit
7d1324ee68
1 changed files with 30 additions and 0 deletions
  1. 30 0
      components/net/lwip-1.4.1/src/netif/ethernetif.c

+ 30 - 0
components/net/lwip-1.4.1/src/netif/ethernetif.c

@@ -618,4 +618,34 @@ void list_tcps(void)
 FINSH_FUNCTION_EXPORT(list_tcps, list all of tcp connections);
 FINSH_FUNCTION_EXPORT(list_tcps, list all of tcp connections);
 #endif
 #endif
 
 
+#if LWIP_UDP
+#include "lwip/udp.h"
+void list_udps(void)
+{
+    struct udp_pcb *pcb;
+    rt_uint32_t num = 0;
+    char local_ip_str[16];
+    char remote_ip_str[16];
+
+    rt_enter_critical();
+    rt_kprintf("Active UDP PCB states:\n");
+    for (pcb = udp_pcbs; pcb != NULL; pcb = pcb->next)
+    {
+        strcpy(local_ip_str, ipaddr_ntoa(&(pcb->local_ip)));
+        strcpy(remote_ip_str, ipaddr_ntoa(&(pcb->remote_ip)));
+
+        rt_kprintf("#%d %d %s:%d <==> %s:%d \n",
+                   num, (int)pcb->flags,
+                   local_ip_str,
+                   pcb->local_port,
+                   remote_ip_str,
+                   pcb->remote_port);
+
+        num++;
+    }
+    rt_exit_critical();
+}
+FINSH_FUNCTION_EXPORT(list_udps, list all of udp connections);
+#endif /* LWIP_UDP */
+
 #endif
 #endif