1 /*++ 2 3 Copyright (c) 2006 - 2007, Intel Corporation. All rights reserved.<BR> 4 This program and the accompanying materials 5 are licensed and made available under the terms and conditions of the BSD License 6 which accompanies this distribution. The full text of the license may be found at 7 http://opensource.org/licenses/bsd-license.php 8 9 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, 10 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. 11 12 Module Name: 13 14 EfiSmbus.h 15 16 Abstract: 17 18 19 20 --*/ 21 22 #ifndef _EFI_SMBUS_DEFINITION_H_ 23 #define _EFI_SMBUS_DEFINITION_H_ 24 25 // 26 // EFI Smbus Device Address, Smbus Device Command, Smbus Operation 27 // 28 typedef struct { 29 UINTN SmbusDeviceAddress : 7; 30 } EFI_SMBUS_DEVICE_ADDRESS; 31 32 typedef UINTN EFI_SMBUS_DEVICE_COMMAND; 33 34 typedef enum _EFI_SMBUS_OPERATION 35 { 36 EfiSmbusQuickRead, 37 EfiSmbusQuickWrite, 38 EfiSmbusReceiveByte, 39 EfiSmbusSendByte, 40 EfiSmbusReadByte, 41 EfiSmbusWriteByte, 42 EfiSmbusReadWord, 43 EfiSmbusWriteWord, 44 EfiSmbusReadBlock, 45 EfiSmbusWriteBlock, 46 EfiSmbusProcessCall, 47 EfiSmbusBWBRProcessCall 48 } EFI_SMBUS_OPERATION; 49 50 typedef struct { 51 UINT32 VendorSpecificId; 52 UINT16 SubsystemDeviceId; 53 UINT16 SubsystemVendorId; 54 UINT16 Interface; 55 UINT16 DeviceId; 56 UINT16 VendorId; 57 UINT8 VendorRevision; 58 UINT8 DeviceCapabilities; 59 } EFI_SMBUS_UDID; 60 61 62 typedef struct { 63 EFI_SMBUS_DEVICE_ADDRESS SmbusDeviceAddress; 64 EFI_SMBUS_UDID SmbusDeviceUdid; 65 } EFI_SMBUS_DEVICE_MAP; 66 67 68 69 #endif 70