---
name: "i2c_smbus_xfer"
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_xfer"
---

# i2c\_smbus\_xfer(9)

execute SMBus protocol operations

## NAME

i2c\_smbus\_xfer - execute SMBus protocol operations

## SYNOPSIS

**s32 i2c\_smbus\_xfer(struct i2c\_adapter \*** *adapter***, u16** *addr***, unsigned short** *flags***, char** *read\_write***, u8** *command***, int** *protocol***, union i2c\_smbus\_data \*** *data***);**

## ARGUMENTS

*adapter*

Handle to I2C bus

*addr*

Address of SMBus slave on that bus

*flags*

I2C\_CLIENT\_\* flags (usually zero or I2C\_CLIENT\_PEC)

*read\_write*

I2C\_SMBUS\_READ or I2C\_SMBUS\_WRITE

*command*

Byte interpreted by slave, for protocols which use such bytes

*protocol*

SMBus protocol operation to execute, such as I2C\_SMBUS\_PROC\_CALL

*data*

Data to be read or written

## DESCRIPTION

This executes an SMBus protocol operation, and returns a negative errno code else zero on success.

## COPYRIGHT
