static void virtio_net_save(QEMUFile *f, void *opaque)

{

    VirtIONet *n = opaque;



    virtio_save(&n->vdev, f);



    qemu_put_buffer(f, n->mac, ETH_ALEN);

    qemu_put_be32(f, n->tx_timer_active);

    qemu_put_be32(f, n->mergeable_rx_bufs);

    qemu_put_be16(f, n->status);

    qemu_put_byte(f, n->promisc);

    qemu_put_byte(f, n->allmulti);

    qemu_put_be32(f, n->mac_table.in_use);

    qemu_put_buffer(f, n->mac_table.macs, n->mac_table.in_use * ETH_ALEN);

    qemu_put_buffer(f, (uint8_t *)n->vlans, MAX_VLAN >> 3);

    qemu_put_be32(f, 0); /* vnet-hdr placeholder */

    qemu_put_byte(f, n->mac_table.multi_overflow);

    qemu_put_byte(f, n->mac_table.uni_overflow);

    qemu_put_byte(f, n->alluni);

    qemu_put_byte(f, n->nomulti);

    qemu_put_byte(f, n->nouni);

    qemu_put_byte(f, n->nobcast);

}

static void virtio_net_save(QEMUFile *f, void *opaque)

{

    VirtIONet *n = opaque;



    virtio_save(&n->vdev, f);



    qemu_put_buffer(f, n->mac, ETH_ALEN);

    qemu_put_be32(f, n->tx_timer_active);

    qemu_put_be32(f, n->mergeable_rx_bufs);

    qemu_put_be16(f, n->status);

    qemu_put_byte(f, n->promisc);

    qemu_put_byte(f, n->allmulti);

    qemu_put_be32(f, n->mac_table.in_use);

    qemu_put_buffer(f, n->mac_table.macs, n->mac_table.in_use * ETH_ALEN);

    qemu_put_buffer(f, (uint8_t *)n->vlans, MAX_VLAN >> 3);

    qemu_put_be32(f, 0); 

    qemu_put_byte(f, n->mac_table.multi_overflow);

    qemu_put_byte(f, n->mac_table.uni_overflow);

    qemu_put_byte(f, n->alluni);

    qemu_put_byte(f, n->nomulti);

    qemu_put_byte(f, n->nouni);

    qemu_put_byte(f, n->nobcast);

}

static void FUNC_0(QEMUFile *VAR_0, void *VAR_1)

{

    VirtIONet *n = VAR_1;



    virtio_save(&n->vdev, VAR_0);



    qemu_put_buffer(VAR_0, n->mac, ETH_ALEN);

    qemu_put_be32(VAR_0, n->tx_timer_active);

    qemu_put_be32(VAR_0, n->mergeable_rx_bufs);

    qemu_put_be16(VAR_0, n->status);

    qemu_put_byte(VAR_0, n->promisc);

    qemu_put_byte(VAR_0, n->allmulti);

    qemu_put_be32(VAR_0, n->mac_table.in_use);

    qemu_put_buffer(VAR_0, n->mac_table.macs, n->mac_table.in_use * ETH_ALEN);

    qemu_put_buffer(VAR_0, (uint8_t *)n->vlans, MAX_VLAN >> 3);

    qemu_put_be32(VAR_0, 0); 

    qemu_put_byte(VAR_0, n->mac_table.multi_overflow);

    qemu_put_byte(VAR_0, n->mac_table.uni_overflow);

    qemu_put_byte(VAR_0, n->alluni);

    qemu_put_byte(VAR_0, n->nomulti);

    qemu_put_byte(VAR_0, n->nouni);

    qemu_put_byte(VAR_0, n->nobcast);

}

static void FUNC_0(QEMUFile *VAR_0, void *VAR_1)
{ VirtIONet *n = VAR_1; virtio_save(&n->vdev, VAR_0); qemu_put_buffer(VAR_0, n->mac, ETH_ALEN); qemu_put_be32(VAR_0, n->tx_timer_active); qemu_put_be32(VAR_0, n->mergeable_rx_bufs); qemu_put_be16(VAR_0, n->status); qemu_put_byte(VAR_0, n->promisc); qemu_put_byte(VAR_0, n->allmulti); qemu_put_be32(VAR_0, n->mac_table.in_use); qemu_put_buffer(VAR_0, n->mac_table.macs, n->mac_table.in_use * ETH_ALEN); qemu_put_buffer(VAR_0, (uint8_t *)n->vlans, MAX_VLAN >> 3); qemu_put_be32(VAR_0, 0); qemu_put_byte(VAR_0, n->mac_table.multi_overflow); qemu_put_byte(VAR_0, n->mac_table.uni_overflow); qemu_put_byte(VAR_0, n->alluni); qemu_put_byte(VAR_0, n->nomulti); qemu_put_byte(VAR_0, n->nouni); qemu_put_byte(VAR_0, n->nobcast); }