VirtualBox

source: vbox/trunk/src/VBox/Devices/EFI/Firmware/NetworkPkg/Mtftp4Dxe/Mtftp4Driver.h@ 99476

最後變更 在這個檔案從99476是 99404,由 vboxsync 提交於 2 年 前

Devices/EFI/FirmwareNew: Update to edk2-stable202302 and make it build, bugref:4643

  • 屬性 svn:eol-style 設為 native
檔案大小: 4.0 KB
 
1/** @file
2 Mtftp drivers function header.
3
4Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
5SPDX-License-Identifier: BSD-2-Clause-Patent
6
7**/
8
9#ifndef __EFI_MTFTP4_DRIVER_H__
10#define __EFI_MTFTP4_DRIVER_H__
11
12#include <Uefi.h>
13
14#include <Protocol/ServiceBinding.h>
15
16#include <Library/NetLib.h>
17#include <Library/UefiLib.h>
18#include <Library/UefiDriverEntryPoint.h>
19
20extern EFI_COMPONENT_NAME_PROTOCOL gMtftp4ComponentName;
21extern EFI_COMPONENT_NAME2_PROTOCOL gMtftp4ComponentName2;
22extern EFI_DRIVER_BINDING_PROTOCOL gMtftp4DriverBinding;
23extern EFI_UNICODE_STRING_TABLE *gMtftp4ControllerNameTable;
24
25/**
26 Test whether MTFTP driver support this controller.
27
28 @param This The MTFTP driver binding instance
29 @param Controller The controller to test
30 @param RemainingDevicePath The remaining device path
31
32 @retval EFI_SUCCESS The controller has UDP service binding protocol
33 installed, MTFTP can support it.
34 @retval Others MTFTP can't support the controller.
35
36**/
37EFI_STATUS
38EFIAPI
39Mtftp4DriverBindingSupported (
40 IN EFI_DRIVER_BINDING_PROTOCOL *This,
41 IN EFI_HANDLE Controller,
42 IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath
43 );
44
45/**
46 Start the MTFTP driver on this controller.
47
48 MTFTP driver will install a MTFTP SERVICE BINDING protocol on the supported
49 controller, which can be used to create/destroy MTFTP children.
50
51 @param This The MTFTP driver binding protocol.
52 @param Controller The controller to manage.
53 @param RemainingDevicePath Remaining device path.
54
55 @retval EFI_ALREADY_STARTED The MTFTP service binding protocol has been
56 started on the controller.
57 @retval EFI_SUCCESS The MTFTP service binding is installed on the
58 controller.
59
60**/
61EFI_STATUS
62EFIAPI
63Mtftp4DriverBindingStart (
64 IN EFI_DRIVER_BINDING_PROTOCOL *This,
65 IN EFI_HANDLE Controller,
66 IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath
67 );
68
69/**
70 Stop the MTFTP driver on controller. The controller is a UDP
71 child handle.
72
73 @param This The MTFTP driver binding protocol
74 @param Controller The controller to stop
75 @param NumberOfChildren The number of children
76 @param ChildHandleBuffer The array of the child handle.
77
78 @retval EFI_SUCCESS The driver is stopped on the controller.
79 @retval EFI_DEVICE_ERROR Failed to stop the driver on the controller.
80
81**/
82EFI_STATUS
83EFIAPI
84Mtftp4DriverBindingStop (
85 IN EFI_DRIVER_BINDING_PROTOCOL *This,
86 IN EFI_HANDLE Controller,
87 IN UINTN NumberOfChildren,
88 IN EFI_HANDLE *ChildHandleBuffer
89 );
90
91/**
92 Create a MTFTP child for the service binding instance, then
93 install the MTFTP protocol to the ChildHandle.
94
95 @param This The MTFTP service binding instance.
96 @param ChildHandle The Child handle to install the MTFTP protocol.
97
98 @retval EFI_INVALID_PARAMETER The parameter is invalid.
99 @retval EFI_OUT_OF_RESOURCES Failed to allocate resource for the new child.
100 @retval EFI_SUCCESS The child is successfully create.
101
102**/
103EFI_STATUS
104EFIAPI
105Mtftp4ServiceBindingCreateChild (
106 IN EFI_SERVICE_BINDING_PROTOCOL *This,
107 IN EFI_HANDLE *ChildHandle
108 );
109
110/**
111 Destroy one of the service binding's child.
112
113 @param This The service binding instance
114 @param ChildHandle The child handle to destroy
115
116 @retval EFI_INVALID_PARAMETER The parameter is invalid.
117 @retval EFI_UNSUPPORTED The child may have already been destroyed.
118 @retval EFI_SUCCESS The child is destroyed and removed from the
119 parent's child list.
120
121**/
122EFI_STATUS
123EFIAPI
124Mtftp4ServiceBindingDestroyChild (
125 IN EFI_SERVICE_BINDING_PROTOCOL *This,
126 IN EFI_HANDLE ChildHandle
127 );
128
129#endif
注意: 瀏覽 TracBrowser 來幫助您使用儲存庫瀏覽器

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette