2 This protocol is used to add or remove all PCI child devices on the PCI root bridge.
4 Copyright (c) 2006 - 2009, Intel Corporation
5 All rights reserved. This program and the accompanying materials
6 are licensed and made available under the terms and conditions of the BSD License
7 which accompanies this distribution. The full text of the license may be found at
8 http://opensource.org/licenses/bsd-license.php
10 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
11 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
15 #ifndef __PCI_HOTPLUG_REQUEST_H_
16 #define __PCI_HOTPLUG_REQUEST_H_
18 #define EFI_PCI_HOTPLUG_REQUEST_PROTOCOL_GUID \
19 {0x19cb87ab,0x2cb9,{0x4665,0x83,0x60,0xdd,0xcf,0x60,0x54,0xf7,0x9d}}
22 EfiPciHotPlugRequestAdd
,
23 EfiPciHotplugRequestRemove
24 } EFI_PCI_HOTPLUG_OPERATION
;
26 typedef struct _EFI_PCI_HOTPLUG_REQUEST_PROTOCOL EFI_PCI_HOTPLUG_REQUEST_PROTOCOL
;
29 Hot plug request notify.
31 @param This A pointer to the hot plug request protocol.
32 @param Operation The operation.
33 @param Controller A pointer to the controller.
34 @param RemainingDevicePath A pointer to the device path.
35 @param NumberOfChildren A the number of child handle in the ChildHandleBuffer.
36 @param ChildHandleBuffer A pointer to the array contain the child handle.
38 @retval EFI_NOT_FOUND Can not find bridge according to controller handle.
39 @retval EFI_SUCCESS Success operating.
43 (EFIAPI
*EFI_PCI_HOTPLUG_REQUEST_NOTIFY
) (
44 IN EFI_PCI_HOTPLUG_REQUEST_PROTOCOL
*This
,
45 IN EFI_PCI_HOTPLUG_OPERATION Operation
,
46 IN EFI_HANDLE Controller
,
47 IN EFI_DEVICE_PATH_PROTOCOL
*RemainingDevicePath OPTIONAL
,
48 IN OUT UINT8
*NumberOfChildren
,
49 IN OUT EFI_HANDLE
*ChildHandleBuffer
54 struct _EFI_PCI_HOTPLUG_REQUEST_PROTOCOL
{
55 EFI_PCI_HOTPLUG_REQUEST_NOTIFY Notify
;
58 extern EFI_GUID gEfiPciHotPlugRequestProtocolGuid
;