void sim_slirp_show (SLIRP *slirp, FILE *st) { struct redir_tcp_udp *rtmp; if ((slirp == NULL) || (slirp->slirp == NULL)) return; fprintf (st, "NAT args: %s\n", slirp->args); fprintf (st, "NAT network setup:\n"); fprintf (st, " gateway =%s/%d", inet_ntoa(slirp->vgateway), slirp->maskbits); fprintf (st, "(%s)\n", inet_ntoa(slirp->vnetmask)); fprintf (st, " DNS =%s\n", inet_ntoa(slirp->vnameserver)); if (slirp->vdhcp_start.s_addr != 0) fprintf (st, " dhcp_start =%s\n", inet_ntoa(slirp->vdhcp_start)); if (slirp->boot_file) fprintf (st, " dhcp bootfile =%s\n", slirp->boot_file); if (slirp->dns_search_domains) { char **domains = slirp->dns_search_domains; fprintf (st, " DNS domains ="); while (*domains) { fprintf (st, "%s%s", (domains != slirp->dns_search_domains) ? ", " : "", *domains); ++domains; } fprintf (st, "\n"); } if (slirp->tftp_path) fprintf (st, " tftp prefix =%s\n", slirp->tftp_path); rtmp = slirp->rtcp; while (rtmp) { fprintf (st, " redir %3s =%d:%s:%d\n", tcpudp[rtmp->is_udp], rtmp->lport, inet_ntoa(rtmp->inaddr), rtmp->port); rtmp = rtmp->next; } slirp_connection_info (slirp->slirp, (Monitor *)st); }
static VMIOS_INTERCEPT_FN(netStats) { slirp_connection_info(object->slirp); }