]> git.proxmox.com Git - mirror_edk2.git/blob - MdeModulePkg/Universal/Network/Dhcp4Dxe/Dhcp4Driver.h
Clean codes per ECC.
[mirror_edk2.git] / MdeModulePkg / Universal / Network / Dhcp4Dxe / Dhcp4Driver.h
1 /** @file
2
3 Copyright (c) 2006 - 2008, 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 Dhcp4Driver.h
15
16 Abstract:
17
18 Header for the DHCP4 driver
19
20
21 **/
22
23 #ifndef __EFI_DHCP4_DRIVER_H__
24 #define __EFI_DHCP4_DRIVER_H__
25
26 extern EFI_COMPONENT_NAME_PROTOCOL gDhcp4ComponentName;
27 extern EFI_COMPONENT_NAME2_PROTOCOL gDhcp4ComponentName2;
28
29 /**
30 Test to see if this driver supports ControllerHandle.
31
32 @param This Protocol instance pointer.
33 @param ControllerHandle Handle of device to test.
34 @param RemainingDevicePath Optional parameter use to pick a specific child
35 device to start.
36
37 @retval EFI_SUCCES This driver supports this device
38 @retval EFI_ALREADY_STARTED This driver is already running on this device.
39 @retval other This driver does not support this device.
40
41 **/
42 EFI_STATUS
43 EFIAPI
44 Dhcp4DriverBindingSupported (
45 IN EFI_DRIVER_BINDING_PROTOCOL *This,
46 IN EFI_HANDLE ControllerHandle,
47 IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath OPTIONAL
48 );
49
50 /**
51 Start this driver on ControllerHandle.
52
53 @param This Protocol instance pointer.
54 @param ControllerHandle Handle of device to bind driver to
55 @param RemainingDevicePath Optional parameter use to pick a specific child
56 device to start.
57
58 @retval EFI_SUCCES This driver is added to ControllerHandle
59 @retval EFI_ALREADY_STARTED This driver is already running on ControllerHandle
60 @retval other This driver does not support this device
61
62 **/
63 EFI_STATUS
64 EFIAPI
65 Dhcp4DriverBindingStart (
66 IN EFI_DRIVER_BINDING_PROTOCOL *This,
67 IN EFI_HANDLE ControllerHandle,
68 IN EFI_DEVICE_PATH_PROTOCOL *RemainingDevicePath OPTIONAL
69 );
70
71 /**
72 Stop this driver on ControllerHandle.
73
74 @param This Protocol instance pointer.
75 @param ControllerHandle Handle of device to stop driver on
76 @param NumberOfChildren Number of Handles in ChildHandleBuffer. If number
77 of children is zero stop the entire bus driver.
78 @param ChildHandleBuffer List of Child Handles to Stop.
79
80 @retval EFI_SUCCES This driver is removed ControllerHandle
81 @retval other This driver was not removed from this device
82
83 **/
84 EFI_STATUS
85 EFIAPI
86 Dhcp4DriverBindingStop (
87 IN EFI_DRIVER_BINDING_PROTOCOL *This,
88 IN EFI_HANDLE ControllerHandle,
89 IN UINTN NumberOfChildren,
90 IN EFI_HANDLE *ChildHandleBuffer
91 );
92
93 /**
94 Creates a child handle with a set of I/O services.
95
96 @param This Protocol instance pointer.
97 @param ChildHandle Pointer to the handle of the child to create. If
98 it is NULL, then a new handle is created. If it is
99 not NULL, then the I/O services are added to the
100 existing child handle.
101
102 @retval EFI_SUCCES The child handle was created with the I/O
103 services.
104 @retval EFI_OUT_OF_RESOURCES There are not enough resources availabe to create
105 the child.
106 @retval other The child handle was not created.
107
108 **/
109 EFI_STATUS
110 EFIAPI
111 Dhcp4ServiceBindingCreateChild (
112 IN EFI_SERVICE_BINDING_PROTOCOL *This,
113 IN EFI_HANDLE *ChildHandle
114 );
115
116 /**
117 Destroys a child handle with a set of I/O services.
118
119 @param This Protocol instance pointer.
120 @param ChildHandle Handle of the child to destroy.
121
122 @retval EFI_SUCCES The I/O services were removed from the child
123 handle.
124 @retval EFI_UNSUPPORTED The child handle does not support the I/O services
125 that are being removed.
126 @retval EFI_INVALID_PARAMETER Child handle is not a valid EFI Handle.
127 @retval EFI_ACCESS_DENIED The child handle could not be destroyed because
128 its I/O services are being used.
129 @retval other The child handle was not destroyed.
130
131 **/
132 EFI_STATUS
133 EFIAPI
134 Dhcp4ServiceBindingDestroyChild (
135 IN EFI_SERVICE_BINDING_PROTOCOL *This,
136 IN EFI_HANDLE ChildHandle
137 );
138
139 #endif