]> code.delx.au - refind/blob - include/Handle.h
Fixed uninitialized-pointer bug that manifested as a crash with
[refind] / include / Handle.h
1 /*++
2
3 Copyright (c) 2005, Intel Corporation
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
12 Module Name:
13
14 Handle.h
15
16 Abstract:
17
18 Infomation about the handle function.
19
20 Revision History
21
22 --*/
23 #ifndef _HANDLE_H
24 #define _HANDLE_H
25
26 #include "libeg.h"
27
28 #define EFI_HANDLE_TYPE_UNKNOWN 0x000
29 #define EFI_HANDLE_TYPE_IMAGE_HANDLE 0x001
30 #define EFI_HANDLE_TYPE_DRIVER_BINDING_HANDLE 0x002
31 #define EFI_HANDLE_TYPE_DEVICE_DRIVER 0x004
32 #define EFI_HANDLE_TYPE_BUS_DRIVER 0x008
33 #define EFI_HANDLE_TYPE_DRIVER_CONFIGURATION_HANDLE 0x010
34 #define EFI_HANDLE_TYPE_DRIVER_DIAGNOSTICS_HANDLE 0x020
35 #define EFI_HANDLE_TYPE_COMPONENT_NAME_HANDLE 0x040
36 #define EFI_HANDLE_TYPE_DEVICE_HANDLE 0x080
37 #define EFI_HANDLE_TYPE_PARENT_HANDLE 0x100
38 #define EFI_HANDLE_TYPE_CONTROLLER_HANDLE 0x200
39 #define EFI_HANDLE_TYPE_CHILD_HANDLE 0x400
40
41 EFI_FILE_SYSTEM_INFO *
42 EfiLibFileSystemInfo (
43 IN EFI_FILE_HANDLE FHand
44 );
45
46 EFI_STATUS
47 LibGetManagedChildControllerHandles (
48 EFI_HANDLE DriverBindingHandle,
49 EFI_HANDLE ControllerHandle,
50 UINTN *ChildControllerHandleCount,
51 EFI_HANDLE **ChildControllerHandleBuffer
52 );
53
54 EFI_STATUS
55 LibGetManagedControllerHandles (
56 EFI_HANDLE DriverBindingHandle,
57 UINTN *ControllerHandleCount,
58 EFI_HANDLE **ControllerHandleBuffer
59 );
60
61 EFI_STATUS
62 LibGetChildControllerHandles (
63 EFI_HANDLE ControllerHandle,
64 UINTN *HandleCount,
65 EFI_HANDLE **HandleBuffer
66 );
67
68 EFI_STATUS
69 LibInstallProtocolInterfaces (
70 IN OUT EFI_HANDLE *Handle,
71 ...
72 );
73
74 VOID
75 LibUninstallProtocolInterfaces (
76 IN EFI_HANDLE Handle,
77 ...
78 );
79
80 EFI_STATUS
81 LibReinstallProtocolInterfaces (
82 IN OUT EFI_HANDLE *Handle,
83 ...
84 );
85
86 EFI_STATUS
87 LibLocateHandleByDiskSignature (
88 IN UINT8 MBRType,
89 IN UINT8 SignatureType,
90 IN VOID *Signature,
91 IN OUT UINTN *NoHandles,
92 OUT EFI_HANDLE **Buffer
93 );
94
95 EFI_STATUS
96 LibLocateHandle (
97 IN EFI_LOCATE_SEARCH_TYPE SearchType,
98 IN EFI_GUID * Protocol OPTIONAL,
99 IN VOID *SearchKey OPTIONAL,
100 IN OUT UINTN *NoHandles,
101 OUT EFI_HANDLE **Buffer
102 );
103
104 EFI_STATUS
105 LibLocateProtocol (
106 IN EFI_GUID *ProtocolGuid,
107 OUT VOID **Interface
108 );
109
110 EFI_HANDLE
111 ShellHandleFromIndex (
112 IN UINTN Value
113 );
114
115 UINTN
116 ShellHandleNoFromIndex (
117 IN UINTN Value
118 );
119
120 UINTN
121 ShellHandleToIndex (
122 IN EFI_HANDLE Handle
123 );
124
125 UINTN
126 ShellHandleNoFromStr (
127 IN CHAR16 *Str
128 );
129
130 UINTN
131 ShellGetHandleNum (
132 VOID
133 );
134
135 #endif