Contents

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.

Topics

Fields