bbcf90a9 |
1 | /** @file |
2 | |
3 | Copyright (c) 2006 - 2007 Intel Corporation. All rights reserved |
4 | All rights reserved. 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 | |
bbcf90a9 |
12 | **/ |
13 | |
14 | #ifndef _VGA_MINIPORT_H |
15 | #define _VGA_MINIPORT_H |
16 | |
17 | // |
18 | // The package level header files this module uses |
19 | // |
20 | #include <PiDxe.h> |
21 | // |
22 | // The protocols, PPI and GUID defintions for this module |
23 | // |
24 | #include <Protocol/PciIo.h> |
25 | #include <Protocol/VgaMiniPort.h> |
26 | #include <Protocol/ComponentName2.h> |
27 | |
28 | |
29 | // |
30 | // The Library classes this module consumes |
31 | // |
32 | #include <Library/DebugLib.h> |
33 | #include <Library/BaseMemoryLib.h> |
34 | #include <Library/UefiDriverEntryPoint.h> |
35 | #include <Library/UefiBootServicesTableLib.h> |
36 | #include <Library/UefiLib.h> |
37 | |
38 | #include <IndustryStandard/Pci22.h> |
39 | |
40 | // |
41 | // PCI VGA MiniPort Device Structure |
42 | // |
43 | #define PCI_VGA_MINI_PORT_DEV_SIGNATURE EFI_SIGNATURE_32('P','V','M','P') |
44 | |
45 | typedef struct { |
46 | UINTN Signature; |
47 | EFI_HANDLE Handle; |
48 | EFI_VGA_MINI_PORT_PROTOCOL VgaMiniPort; |
49 | EFI_PCI_IO_PROTOCOL *PciIo; |
50 | } PCI_VGA_MINI_PORT_DEV; |
51 | |
52 | #define PCI_VGA_MINI_PORT_DEV_FROM_THIS(a) CR(a, PCI_VGA_MINI_PORT_DEV, VgaMiniPort, PCI_VGA_MINI_PORT_DEV_SIGNATURE) |
53 | |
54 | // |
55 | // Global Variables |
56 | // |
57 | extern EFI_DRIVER_BINDING_PROTOCOL gPciVgaMiniPortDriverBinding; |
58 | extern EFI_COMPONENT_NAME_PROTOCOL gPciVgaMiniPortComponentName; |
59 | |
60 | // |
61 | // Driver Binding Protocol functions |
62 | // |
63 | EFI_STATUS |
64 | PciVgaMiniPortDriverBindingSupported ( |
65 | IN EFI_DRIVER_BINDING_PROTOCOL *This, |
66 | IN EFI_HANDLE Controller, |
67 | IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath |
68 | ); |
69 | |
70 | EFI_STATUS |
71 | PciVgaMiniPortDriverBindingStart ( |
72 | IN EFI_DRIVER_BINDING_PROTOCOL *This, |
73 | IN EFI_HANDLE Controller, |
74 | IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath |
75 | ); |
76 | |
77 | EFI_STATUS |
78 | PciVgaMiniPortDriverBindingStop ( |
79 | IN EFI_DRIVER_BINDING_PROTOCOL *This, |
80 | IN EFI_HANDLE Controller, |
81 | IN UINTN NumberOfChildren, |
82 | IN EFI_HANDLE *ChildHandleBuffer |
83 | ); |
84 | |
85 | // |
86 | // VGA Mini Port Protocol functions |
87 | // |
88 | EFI_STATUS |
89 | EFIAPI |
90 | PciVgaMiniPortSetMode ( |
91 | IN EFI_VGA_MINI_PORT_PROTOCOL *This, |
92 | IN UINTN ModeNumber |
93 | ); |
94 | |
95 | #endif |