+typedef void (*i2c_start_t)(struct I2c *i2c, uint16_t slave_addr);
+typedef uint8_t (*i2c_get_t)(struct I2c *i2c);
+typedef void (*i2c_put_t)(struct I2c *i2c, uint8_t data);
+typedef void (*i2c_send_t)(struct I2c *i2c, const void *_buf, size_t count);
+typedef void (*i2c_recv_t)(struct I2c *i2c, void *_buf, size_t count);
+
+typedef struct I2cVT