static int slirp_socket_load(QEMUFile *f, struct socket *so)

{

    if (tcp_attach(so) < 0)

        return -ENOMEM;



    so->so_urgc = qemu_get_be32(f);

    so->so_ffamily = qemu_get_be16(f);

    switch (so->so_ffamily) {

    case AF_INET:

        so->so_faddr.s_addr = qemu_get_be32(f);

        so->so_fport = qemu_get_be16(f);

        break;

    default:

        error_report(

                "so_ffamily unknown, unable to restore so_faddr and so_lport\n");

    }

    so->so_lfamily = qemu_get_be16(f);

    switch (so->so_lfamily) {

    case AF_INET:

        so->so_laddr.s_addr = qemu_get_be32(f);

        so->so_lport = qemu_get_be16(f);

        break;

    default:

        error_report(

                "so_ffamily unknown, unable to restore so_laddr and so_lport\n");

    }

    so->so_iptos = qemu_get_byte(f);

    so->so_emu = qemu_get_byte(f);

    so->so_type = qemu_get_byte(f);

    so->so_state = qemu_get_be32(f);

    if (slirp_sbuf_load(f, &so->so_rcv) < 0)

        return -ENOMEM;

    if (slirp_sbuf_load(f, &so->so_snd) < 0)

        return -ENOMEM;

    slirp_tcp_load(f, so->so_tcpcb);



    return 0;

}

static int slirp_socket_load(QEMUFile *f, struct socket *so)

{

    if (tcp_attach(so) < 0)

        return -ENOMEM;



    so->so_urgc = qemu_get_be32(f);

    so->so_ffamily = qemu_get_be16(f);

    switch (so->so_ffamily) {

    case AF_INET:

        so->so_faddr.s_addr = qemu_get_be32(f);

        so->so_fport = qemu_get_be16(f);

        break;

    default:

        error_report(

                "so_ffamily unknown, unable to restore so_faddr and so_lport\n");

    }

    so->so_lfamily = qemu_get_be16(f);

    switch (so->so_lfamily) {

    case AF_INET:

        so->so_laddr.s_addr = qemu_get_be32(f);

        so->so_lport = qemu_get_be16(f);

        break;

    default:

        error_report(

                "so_ffamily unknown, unable to restore so_laddr and so_lport\n");

    }

    so->so_iptos = qemu_get_byte(f);

    so->so_emu = qemu_get_byte(f);

    so->so_type = qemu_get_byte(f);

    so->so_state = qemu_get_be32(f);

    if (slirp_sbuf_load(f, &so->so_rcv) < 0)

        return -ENOMEM;

    if (slirp_sbuf_load(f, &so->so_snd) < 0)

        return -ENOMEM;

    slirp_tcp_load(f, so->so_tcpcb);



    return 0;

}

static int FUNC_0(QEMUFile *VAR_0, struct socket *VAR_1)

{

    if (tcp_attach(VAR_1) < 0)

        return -ENOMEM;



    VAR_1->so_urgc = qemu_get_be32(VAR_0);

    VAR_1->so_ffamily = qemu_get_be16(VAR_0);

    switch (VAR_1->so_ffamily) {

    case AF_INET:

        VAR_1->so_faddr.s_addr = qemu_get_be32(VAR_0);

        VAR_1->so_fport = qemu_get_be16(VAR_0);

        break;

    default:

        error_report(

                "so_ffamily unknown, unable to restore so_faddr and so_lport\n");

    }

    VAR_1->so_lfamily = qemu_get_be16(VAR_0);

    switch (VAR_1->so_lfamily) {

    case AF_INET:

        VAR_1->so_laddr.s_addr = qemu_get_be32(VAR_0);

        VAR_1->so_lport = qemu_get_be16(VAR_0);

        break;

    default:

        error_report(

                "so_ffamily unknown, unable to restore so_laddr and so_lport\n");

    }

    VAR_1->so_iptos = qemu_get_byte(VAR_0);

    VAR_1->so_emu = qemu_get_byte(VAR_0);

    VAR_1->so_type = qemu_get_byte(VAR_0);

    VAR_1->so_state = qemu_get_be32(VAR_0);

    if (slirp_sbuf_load(VAR_0, &VAR_1->so_rcv) < 0)

        return -ENOMEM;

    if (slirp_sbuf_load(VAR_0, &VAR_1->so_snd) < 0)

        return -ENOMEM;

    slirp_tcp_load(VAR_0, VAR_1->so_tcpcb);



    return 0;

}

static int FUNC_0(QEMUFile *VAR_0, struct socket *VAR_1)
{ if (tcp_attach(VAR_1) < 0)
return -ENOMEM; VAR_1->so_urgc = qemu_get_be32(VAR_0); VAR_1->so_ffamily = qemu_get_be16(VAR_0); switch (VAR_1->so_ffamily) { case AF_INET:
VAR_1->so_faddr.s_addr = qemu_get_be32(VAR_0); VAR_1->so_fport = qemu_get_be16(VAR_0); break; default:
error_report(
"so_ffamily unknown, unable to restore so_faddr and so_lport\n"); } VAR_1->so_lfamily = qemu_get_be16(VAR_0); switch (VAR_1->so_lfamily) { case AF_INET:
VAR_1->so_laddr.s_addr = qemu_get_be32(VAR_0); VAR_1->so_lport = qemu_get_be16(VAR_0); break; default:
error_report(
"so_ffamily unknown, unable to restore so_laddr and so_lport\n"); } VAR_1->so_iptos = qemu_get_byte(VAR_0); VAR_1->so_emu = qemu_get_byte(VAR_0); VAR_1->so_type = qemu_get_byte(VAR_0); VAR_1->so_state = qemu_get_be32(VAR_0); if (slirp_sbuf_load(VAR_0, &VAR_1->so_rcv) < 0)
return -ENOMEM; if (slirp_sbuf_load(VAR_0, &VAR_1->so_snd) < 0)
return -ENOMEM; slirp_tcp_load(VAR_0, VAR_1->so_tcpcb); return 0; }