@validate(addr=int, cmd=int, vals=list)<EOL><INDENT>def write_block_data(self, addr, cmd, vals):<DEDENT>
self._set_addr(addr)<EOL>data = ffi.new("<STR_LIT>")<EOL>list_to_smbus_data(data, vals)<EOL>if SMBUS.i2c_smbus_access(self._fd,<EOL>int2byte(SMBUS.I2C_SMBUS_WRITE),<EOL>ffi.cast("<STR_LIT>", cmd),<EOL>SMBUS.I2C_SMBUS_BLOCK_DATA,<EOL>data):<EOL><INDENT>raise IOError(ffi.errno)<EOL><DEDENT>
write_block_data(addr, cmd, vals)

        Perform SMBus Write Block Data transaction.