23 #ifndef _UAPI_LINUX_I2C_H    24 #define _UAPI_LINUX_I2C_H    59 #define I2C_M_TEN 0x0010    66 #define I2C_M_RD 0x0001    77 #define I2C_M_STOP 0x8000    87 #define I2C_M_NOSTART 0x4000    97 #define I2C_M_REV_DIR_ADDR 0x2000   107 #define I2C_M_IGNORE_NAK 0x1000   118 #define I2C_M_NO_RD_ACK 0x0800   131 #define I2C_M_RECV_LEN 0x0400   179 #define I2C_FUNC_I2C 0x00000001   180 #define I2C_FUNC_10BIT_ADDR 0x00000002   181 #define I2C_FUNC_PROTOCOL_MANGLING 0x00000004   182 #define I2C_FUNC_SMBUS_PEC 0x00000008   183 #define I2C_FUNC_NOSTART 0x00000010   184 #define I2C_FUNC_SMBUS_BLOCK_PROC_CALL 0x00008000   185 #define I2C_FUNC_SMBUS_QUICK 0x00010000   186 #define I2C_FUNC_SMBUS_READ_BYTE 0x00020000   187 #define I2C_FUNC_SMBUS_WRITE_BYTE 0x00040000   188 #define I2C_FUNC_SMBUS_READ_BYTE_DATA 0x00080000   189 #define I2C_FUNC_SMBUS_WRITE_BYTE_DATA 0x00100000   190 #define I2C_FUNC_SMBUS_READ_WORD_DATA 0x00200000   191 #define I2C_FUNC_SMBUS_WRITE_WORD_DATA 0x00400000   192 #define I2C_FUNC_SMBUS_PROC_CALL 0x00800000   193 #define I2C_FUNC_SMBUS_READ_BLOCK_DATA 0x01000000   194 #define I2C_FUNC_SMBUS_WRITE_BLOCK_DATA 0x02000000   195 #define I2C_FUNC_SMBUS_READ_I2C_BLOCK 0x04000000   196 #define I2C_FUNC_SMBUS_WRITE_I2C_BLOCK 0x08000000   198 #define I2C_FUNC_SMBUS_BYTE \   199   (I2C_FUNC_SMBUS_READ_BYTE | I2C_FUNC_SMBUS_WRITE_BYTE)   201 #define I2C_FUNC_SMBUS_BYTE_DATA \   202   (I2C_FUNC_SMBUS_READ_BYTE_DATA | I2C_FUNC_SMBUS_WRITE_BYTE_DATA)   204 #define I2C_FUNC_SMBUS_WORD_DATA \   205   (I2C_FUNC_SMBUS_READ_WORD_DATA | I2C_FUNC_SMBUS_WRITE_WORD_DATA)   207 #define I2C_FUNC_SMBUS_BLOCK_DATA \   208   (I2C_FUNC_SMBUS_READ_BLOCK_DATA | I2C_FUNC_SMBUS_WRITE_BLOCK_DATA)   210 #define I2C_FUNC_SMBUS_I2C_BLOCK \   211   (I2C_FUNC_SMBUS_READ_I2C_BLOCK | I2C_FUNC_SMBUS_WRITE_I2C_BLOCK)   213 #define I2C_FUNC_SMBUS_EMUL \   214   (I2C_FUNC_SMBUS_QUICK | I2C_FUNC_SMBUS_BYTE | I2C_FUNC_SMBUS_BYTE_DATA \   215     | I2C_FUNC_SMBUS_WORD_DATA | I2C_FUNC_SMBUS_PROC_CALL \   216     | I2C_FUNC_SMBUS_WRITE_BLOCK_DATA | I2C_FUNC_SMBUS_I2C_BLOCK \   217     | I2C_FUNC_SMBUS_PEC)   224 #define I2C_SMBUS_BLOCK_MAX 32   241 #define I2C_SMBUS_READ 1   243 #define I2C_SMBUS_WRITE 0   253 #define I2C_SMBUS_QUICK 0   255 #define I2C_SMBUS_BYTE 1   257 #define I2C_SMBUS_BYTE_DATA 2   259 #define I2C_SMBUS_WORD_DATA 3   261 #define I2C_SMBUS_PROC_CALL 4   263 #define I2C_SMBUS_BLOCK_DATA 5   265 #define I2C_SMBUS_I2C_BLOCK_BROKEN 6   267 #define I2C_SMBUS_BLOCK_PROC_CALL 7   269 #define I2C_SMBUS_I2C_BLOCK_DATA 8 uint16_t addr
The slave address.
Definition: i2c.h:145
 
SMBus data.
Definition: i2c.h:229
 
I2C transfer message.
Definition: i2c.h:138
 
uint16_t len
The message data length in bytes.
Definition: i2c.h:165
 
uint16_t flags
The message flags.
Definition: i2c.h:160
 
uint8_t * buf
Pointer to the message data.
Definition: i2c.h:170
 
#define I2C_SMBUS_BLOCK_MAX
Maximum SMBus data block count.
Definition: i2c.h:224