i2c_transfer_buffer_flags(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

✨ i2c_transfer_buffer_flags(9) ✨

okay bestie, welcome to the Kernel API Manual β€” this one's called i2c_transfer_buffer_flags, and it's literally the "send one message, get one buffer" girlie of the I2C world πŸ¦‹


πŸ’– NAME πŸ’–

i2c_transfer_buffer_flags β€” issue a single I2C message transferring data to/from a buffer. one message. one buffer. no cap πŸŽ€


🌸 SYNOPSIS 🌸

int i2c_transfer_buffer_flags (const struct i2c_client *client , char
*buf , int count , u16 flags );

🧚 ARGUMENTS 🧚

  • client β€” Handle to slave device. that's your little buddy you're talking to πŸ’…
  • buf β€” Where the data is stored. the actual vibes container, your data lives here πŸ“
  • count β€” How many bytes to transfer, must be less than 64k since msg.len is u16. like, hard limit, the u16 said so and she's not flexible about it 😭
  • flags β€” The flags to be used for the message, e.g. I2C_M_RD for reads. pick your vibe check: read or write πŸ‘‘

⭐ DESCRIPTION ⭐

Returns negative errno, or else the number of bytes transferred.

that's it, that's the whole personality β€” you either get a sad little negative errno (😭 not the vibe) or the happy count of bytes that actually made it across. main character energy either way 🫢


🌈 SEE ALSO 🌈

Kernel file ./drivers/i2c/i2c-core-base.c β€” plus the whole friend group, fr fr:


okay that's the whole page bestie, mwah πŸ’‹ this little icon lives in ./drivers/i2c, version stamped October 2026 β€” go forth and transfer those buffers, ily, periodt πŸ’œπŸŽ€βœ¨

πŸ“¦ where this page comes from