The code in question is "? something : something\_else". Usually in the code below you can put either I2C\_SLAVE or I2C\_SLAVE\_FORCE. But this code does something else. How does it work and what exactly does it do?

```
if(ioctl(state.i2c_bus_address, force ? I2C_SLAVE_FORCE : I2C_SLAVE, add) < 0)
{
    logger.fail("i2c select fail %d",add);
    return -1;
}

```