IOI2CRequest
A structure defining an I2C bus transaction.
Declaration
struct IOI2CRequest {
IOOptionBits sendTransactionType;
IOOptionBits replyTransactionType;
uint32_t sendAddress;
uint32_t replyAddress;
uint8_t sendSubAddress;
uint8_t replySubAddress;
uint8_t __reservedA[2];
uint64_t minReplyDelay;
IOReturn result;
IOOptionBits commFlags;
#if defined(__LP64__)
uint32_t __padA;
#else
vm_address_t sendBuffer;
#endif
uint32_t sendBytes;
uint32_t __reservedB[2];
#if defined(__LP64__)
uint32_t __padB;
#else
vm_address_t replyBuffer;
#endif
uint32_t replyBytes;
IOI2CRequestCompletion completion;
#if !defined(__LP64__)
uint32_t __padC[5];
#else
vm_address_t sendBuffer;
vm_address_t replyBuffer;
#endif
uint32_t __reservedC[10];
#ifdef __ppc__
uint32_t __reservedD;
#endif
};Overview
This structure is used to request an I2C transaction consisting of a send (write) to and reply (read) from a device, either of which is optional, to be carried out atomically on an I2C bus.