int i2c_send(I2CBus *bus, uint8_t data)

{

    I2CSlaveClass *sc;

    I2CNode *node;

    int ret = 0;



    QLIST_FOREACH(node, &bus->current_devs, next) {

        sc = I2C_SLAVE_GET_CLASS(node->elt);

        if (sc->send) {

            ret = ret || sc->send(node->elt, data);

        } else {

            ret = -1;

        }

    }

    return ret ? -1 : 0;

}

int i2c_send(I2CBus *bus, uint8_t data)

{

    I2CSlaveClass *sc;

    I2CNode *node;

    int ret = 0;



    QLIST_FOREACH(node, &bus->current_devs, next) {

        sc = I2C_SLAVE_GET_CLASS(node->elt);

        if (sc->send) {

            ret = ret || sc->send(node->elt, data);

        } else {

            ret = -1;

        }

    }

    return ret ? -1 : 0;

}

int FUNC_0(I2CBus *VAR_0, uint8_t VAR_1)

{

    I2CSlaveClass *sc;

    I2CNode *node;

    int VAR_2 = 0;



    QLIST_FOREACH(node, &VAR_0->current_devs, next) {

        sc = I2C_SLAVE_GET_CLASS(node->elt);

        if (sc->send) {

            VAR_2 = VAR_2 || sc->send(node->elt, VAR_1);

        } else {

            VAR_2 = -1;

        }

    }

    return VAR_2 ? -1 : 0;

}

int FUNC_0(I2CBus *VAR_0, uint8_t VAR_1)
{ I2CSlaveClass *sc; I2CNode *node; int VAR_2 = 0; QLIST_FOREACH(node, &VAR_0->current_devs, next) { sc = I2C_SLAVE_GET_CLASS(node->elt); if (sc->send) { VAR_2 = VAR_2 || sc->send(node->elt, VAR_1); } else { VAR_2 = -1; } } return VAR_2 ? -1 : 0; }