Beispiel #1
0
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);
}