bool DDCWrite(CGDirectDisplayID displayID, struct DDCWriteCommand *write) {
IOI2CRequest request;
UInt8 data[128];
bzero( &request, sizeof(request));
request.commFlags = 0;
request.sendAddress = 0x6E;
request.sendTransactionType = kIOI2CSimpleTransactionType;
request.sendBuffer = (vm_address_t) &data[0];
request.sendBytes = 7;
data[0] = 0x51;
data[1] = 0x84;
data[2] = 0x03;
data[3] = write->control_id;
data[4] = 0x64 ;
data[5] = write->new_value ;
data[6] = 0x6E ^ data[0] ^ data[1] ^ data[2] ^ data[3]^ data[4]^
data[5];
request.replyTransactionType = kIOI2CNoTransactionType;
request.replyBytes = 0;
bool result = DisplayRequest(displayID, &request);
return result;
}