void net_tx_pkt_init(struct NetTxPkt **pkt, PCIDevice *pci_dev,

    uint32_t max_frags, bool has_virt_hdr)

{

    struct NetTxPkt *p = g_malloc0(sizeof *p);



    p->pci_dev = pci_dev;



    p->vec = g_malloc((sizeof *p->vec) *

        (max_frags + NET_TX_PKT_PL_START_FRAG));



    p->raw = g_malloc((sizeof *p->raw) * max_frags);



    p->max_payload_frags = max_frags;

    p->max_raw_frags = max_frags;

    p->has_virt_hdr = has_virt_hdr;

    p->vec[NET_TX_PKT_VHDR_FRAG].iov_base = &p->virt_hdr;

    p->vec[NET_TX_PKT_VHDR_FRAG].iov_len =

        p->has_virt_hdr ? sizeof p->virt_hdr : 0;

    p->vec[NET_TX_PKT_L2HDR_FRAG].iov_base = &p->l2_hdr;

    p->vec[NET_TX_PKT_L3HDR_FRAG].iov_base = &p->l3_hdr;



    *pkt = p;

}

void net_tx_pkt_init(struct NetTxPkt **pkt, PCIDevice *pci_dev,

    uint32_t max_frags, bool has_virt_hdr)

{

    struct NetTxPkt *p = g_malloc0(sizeof *p);



    p->pci_dev = pci_dev;



    p->vec = g_malloc((sizeof *p->vec) *

        (max_frags + NET_TX_PKT_PL_START_FRAG));



    p->raw = g_malloc((sizeof *p->raw) * max_frags);



    p->max_payload_frags = max_frags;

    p->max_raw_frags = max_frags;

    p->has_virt_hdr = has_virt_hdr;

    p->vec[NET_TX_PKT_VHDR_FRAG].iov_base = &p->virt_hdr;

    p->vec[NET_TX_PKT_VHDR_FRAG].iov_len =

        p->has_virt_hdr ? sizeof p->virt_hdr : 0;

    p->vec[NET_TX_PKT_L2HDR_FRAG].iov_base = &p->l2_hdr;

    p->vec[NET_TX_PKT_L3HDR_FRAG].iov_base = &p->l3_hdr;



    *pkt = p;

}

    p->vec = g_malloc((sizeof *p->vec) *         (max_frags + NET_TX_PKT_PL_START_FRAG));     p->raw = g_malloc((sizeof *p->raw) * max_frags);
void FUNC_0(struct NetTxPkt **VAR_0, PCIDevice *VAR_1,

    uint32_t VAR_2, bool VAR_3)

{

    struct NetTxPkt *VAR_4 = g_malloc0(sizeof *VAR_4);



    VAR_4->VAR_1 = VAR_1;



    VAR_4->vec = g_malloc((sizeof *VAR_4->vec) *

        (VAR_2 + NET_TX_PKT_PL_START_FRAG));



    VAR_4->raw = g_malloc((sizeof *VAR_4->raw) * VAR_2);



    VAR_4->max_payload_frags = VAR_2;

    VAR_4->max_raw_frags = VAR_2;

    VAR_4->VAR_3 = VAR_3;

    VAR_4->vec[NET_TX_PKT_VHDR_FRAG].iov_base = &VAR_4->virt_hdr;

    VAR_4->vec[NET_TX_PKT_VHDR_FRAG].iov_len =

        VAR_4->VAR_3 ? sizeof VAR_4->virt_hdr : 0;

    VAR_4->vec[NET_TX_PKT_L2HDR_FRAG].iov_base = &VAR_4->l2_hdr;

    VAR_4->vec[NET_TX_PKT_L3HDR_FRAG].iov_base = &VAR_4->l3_hdr;



    *VAR_0 = VAR_4;

}

void FUNC_0(struct NetTxPkt **VAR_0, PCIDevice *VAR_1,
uint32_t VAR_2, bool VAR_3)
{ struct NetTxPkt *VAR_4 = g_malloc0(sizeof *VAR_4); VAR_4->VAR_1 = VAR_1; VAR_4->vec = g_malloc((sizeof *VAR_4->vec) *
(VAR_2 + NET_TX_PKT_PL_START_FRAG)); VAR_4->raw = g_malloc((sizeof *VAR_4->raw) * VAR_2); VAR_4->max_payload_frags = VAR_2; VAR_4->max_raw_frags = VAR_2; VAR_4->VAR_3 = VAR_3; VAR_4->vec[NET_TX_PKT_VHDR_FRAG].iov_base = &VAR_4->virt_hdr; VAR_4->vec[NET_TX_PKT_VHDR_FRAG].iov_len =
VAR_4->VAR_3 ? sizeof VAR_4->virt_hdr : 0; VAR_4->vec[NET_TX_PKT_L2HDR_FRAG].iov_base = &VAR_4->l2_hdr; VAR_4->vec[NET_TX_PKT_L3HDR_FRAG].iov_base = &VAR_4->l3_hdr; *VAR_0 = VAR_4; }