static int ehci_state_fetchqtd(EHCIQueue *q, int async)

{

    int again = 0;



    get_dwords(NLPTR_GET(q->qtdaddr),(uint32_t *) &q->qtd, sizeof(EHCIqtd) >> 2);

    ehci_trace_qtd(q, NLPTR_GET(q->qtdaddr), &q->qtd);



    if (q->qtd.token & QTD_TOKEN_ACTIVE) {

        ehci_set_state(q->ehci, async, EST_EXECUTE);

        again = 1;

    } else {

        ehci_set_state(q->ehci, async, EST_HORIZONTALQH);

        again = 1;

    }



    return again;

}

static int ehci_state_fetchqtd(EHCIQueue *q, int async)

{

    int again = 0;



    get_dwords(NLPTR_GET(q->qtdaddr),(uint32_t *) &q->qtd, sizeof(EHCIqtd) >> 2);

    ehci_trace_qtd(q, NLPTR_GET(q->qtdaddr), &q->qtd);



    if (q->qtd.token & QTD_TOKEN_ACTIVE) {

        ehci_set_state(q->ehci, async, EST_EXECUTE);

        again = 1;

    } else {

        ehci_set_state(q->ehci, async, EST_HORIZONTALQH);

        again = 1;

    }



    return again;

}

static int FUNC_0(EHCIQueue *VAR_0, int VAR_1)

{

    int VAR_2 = 0;



    get_dwords(NLPTR_GET(VAR_0->qtdaddr),(uint32_t *) &VAR_0->qtd, sizeof(EHCIqtd) >> 2);

    ehci_trace_qtd(VAR_0, NLPTR_GET(VAR_0->qtdaddr), &VAR_0->qtd);



    if (VAR_0->qtd.token & QTD_TOKEN_ACTIVE) {

        ehci_set_state(VAR_0->ehci, VAR_1, EST_EXECUTE);

        VAR_2 = 1;

    } else {

        ehci_set_state(VAR_0->ehci, VAR_1, EST_HORIZONTALQH);

        VAR_2 = 1;

    }



    return VAR_2;

}

static int FUNC_0(EHCIQueue *VAR_0, int VAR_1)
{ int VAR_2 = 0; get_dwords(NLPTR_GET(VAR_0->qtdaddr),(uint32_t *) &VAR_0->qtd, sizeof(EHCIqtd) >> 2); ehci_trace_qtd(VAR_0, NLPTR_GET(VAR_0->qtdaddr), &VAR_0->qtd); if (VAR_0->qtd.token & QTD_TOKEN_ACTIVE) { ehci_set_state(VAR_0->ehci, VAR_1, EST_EXECUTE); VAR_2 = 1; } else { ehci_set_state(VAR_0->ehci, VAR_1, EST_HORIZONTALQH); VAR_2 = 1; } return VAR_2; }