]> git.proxmox.com Git - mirror_edk2.git/blob - EdkCompatibilityPkg/Foundation/Framework/Ppi/Smbus2/Smbus2.h
Update the copyright notice format
[mirror_edk2.git] / EdkCompatibilityPkg / Foundation / Framework / Ppi / Smbus2 / Smbus2.h
1 /*++
2
3 Copyright (c) 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
13 Module Name:
14
15 Smbus2.h
16
17 Abstract:
18
19 Smbus2 PPI as defined in PI 1.0
20
21 --*/
22
23 #ifndef _PEI_SMBUS2_PPI_H
24 #define _PEI_SMBUS2_PPI_H
25
26 #include "EfiSmbus.h"
27
28 #define PEI_SMBUS2_PPI_GUID \
29 { \
30 0x9ca93627, 0xb65b, 0x4324, {0xa2, 0x2, 0xc0, 0xb4, 0x61, 0x76, 0x45, 0x43} \
31 }
32
33 EFI_FORWARD_DECLARATION (EFI_PEI_SMBUS2_PPI);
34
35 typedef
36 EFI_STATUS
37 (EFIAPI *EFI_PEI_SMBUS2_PPI_EXECUTE_OPERATION) (
38 IN CONST EFI_PEI_SMBUS2_PPI * This,
39 IN EFI_SMBUS_DEVICE_ADDRESS SlaveAddress,
40 IN EFI_SMBUS_DEVICE_COMMAND Command,
41 IN EFI_SMBUS_OPERATION Operation,
42 IN BOOLEAN PecCheck,
43 IN OUT UINTN *Length,
44 IN OUT VOID *Buffer
45 );
46
47 typedef
48 EFI_STATUS
49 (EFIAPI *EFI_PEI_SMBUS_NOTIFY2_FUNCTION) (
50 IN CONST EFI_PEI_SMBUS2_PPI * SmbusPpi,
51 IN EFI_SMBUS_DEVICE_ADDRESS SlaveAddress,
52 IN UINTN Data
53 );
54
55 //
56 // If ArpAll is TRUE, SmbusUdid/SlaveAddress is Optional.
57 // If FALSE, ArpDevice will enum SmbusUdid and the address will be at SlaveAddress
58 //
59 typedef
60 EFI_STATUS
61 (EFIAPI *EFI_PEI_SMBUS2_PPI_ARP_DEVICE) (
62 IN CONST EFI_PEI_SMBUS2_PPI * This,
63 IN BOOLEAN ArpAll,
64 IN EFI_SMBUS_UDID * SmbusUdid, OPTIONAL
65 IN OUT EFI_SMBUS_DEVICE_ADDRESS * SlaveAddress OPTIONAL
66 );
67
68
69 typedef
70 EFI_STATUS
71 (EFIAPI *EFI_PEI_SMBUS2_PPI_GET_ARP_MAP) (
72 IN CONST EFI_PEI_SMBUS2_PPI * This,
73 IN OUT UINTN *Length,
74 IN OUT EFI_SMBUS_DEVICE_MAP **SmbusDeviceMap
75 );
76
77 typedef
78 EFI_STATUS
79 (EFIAPI *EFI_PEI_SMBUS2_PPI_NOTIFY) (
80 IN CONST EFI_PEI_SMBUS2_PPI * This,
81 IN EFI_SMBUS_DEVICE_ADDRESS SlaveAddress,
82 IN UINTN Data,
83 IN EFI_PEI_SMBUS_NOTIFY2_FUNCTION NotifyFunction
84 );
85
86 struct _EFI_PEI_SMBUS2_PPI {
87 EFI_PEI_SMBUS2_PPI_EXECUTE_OPERATION Execute;
88 EFI_PEI_SMBUS2_PPI_ARP_DEVICE ArpDevice;
89 EFI_PEI_SMBUS2_PPI_GET_ARP_MAP GetArpMap;
90 EFI_PEI_SMBUS2_PPI_NOTIFY Notify;
91 EFI_GUID Identifier;
92 };
93
94 extern EFI_GUID gPeiSmbus2PpiGuid;
95
96 #endif