---
name: "i2c_smbus_read_block_data"
section: "9"
platform: "linux"
package: "linux-manual-3.16"
version: "3.16.56-1+deb8u1"
release: "Debian 8 (Jessie)"
platforms: ["linux"]
url: "https://new.carta.tech/i2c_smbus_read_block_data"
---

# i2c\_smbus\_read\_block\_data(9)

SMBus “block read” protocol

## NAME

i2c\_smbus\_read\_block\_data - SMBus “block read” protocol

## SYNOPSIS

**s32 i2c\_smbus\_read\_block\_data(const struct i2c\_client \*** *client***, u8** *command***, u8 \*** *values***);**

## ARGUMENTS

*client*

Handle to slave device

*command*

Byte interpreted by slave

*values*

Byte array into which data will be read; big enough to hold the data returned by the slave. SMBus allows at most 32 bytes.

## DESCRIPTION

This executes the SMBus “block read” protocol, returning negative errno else the number of data bytes in the slave's response.

Note that using this function requires that the client's adapter support the I2C\_FUNC\_SMBUS\_READ\_BLOCK\_DATA functionality. Not all adapter drivers support this; its emulation through I2C messaging relies on a specific mechanism (I2C\_M\_RECV\_LEN) which may not be implemented.

## COPYRIGHT
