]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdeModulePkg/Universal/Network/MnpDxe/MnpDriver.h
Retire NetLibQueueDpc() and NetLibDispatchDpc() and use QueueDpc() and DispatchDpc...
[mirror_edk2.git] / MdeModulePkg / Universal / Network / MnpDxe / MnpDriver.h
index fb140127ad2e5b18d64e1dc4b3ac7690a4452b5b..b0153040617b847e8ff64e5b1dbb6b4b1794d621 100644 (file)
@@ -1,11 +1,11 @@
 /** @file\r
-    Declaration of strctures and functions for MnpDxe driver.\r
+  Declaration of strctures and functions for MnpDxe driver.\r
     \r
-Copyright (c) 2005 - 2007, Intel Corporation.<BR>\r
-All rights reserved. This program and the accompanying materials\r
-are licensed and made available under the terms and conditions of the BSD License\r
-which accompanies this distribution.  The full text of the license may be found at\r
-http://opensource.org/licenses/bsd-license.php\r
+Copyright (c) 2005 - 2007, Intel Corporation. <BR> \r
+All rights reserved. This program and the accompanying materials are licensed \r
+and made available under the terms and conditions of the BSD License which \r
+accompanies this distribution. The full text of the license may be found at \r
+http://opensource.org/licenses/bsd-license.php \r
 \r
 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
@@ -20,25 +20,20 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 #include <Protocol/SimpleNetwork.h>\r
 #include <Protocol/ServiceBinding.h>\r
 \r
+#include <Library/BaseLib.h>\r
+#include <Library/BaseMemoryLib.h>\r
 #include <Library/DebugLib.h>\r
-#include <Library/UefiDriverEntryPoint.h>\r
+#include <Library/MemoryAllocationLib.h>\r
 #include <Library/UefiBootServicesTableLib.h>\r
 #include <Library/UefiLib.h>\r
 #include <Library/NetLib.h>\r
-#include <Library/BaseLib.h>\r
-#include <Library/MemoryAllocationLib.h>\r
-#include <Library/BaseMemoryLib.h>\r
+#include <Library/DpcLib.h>\r
 \r
-//\r
-// Required Global Variables\r
-//\r
-extern EFI_DRIVER_BINDING_PROTOCOL   gMnpDriverBinding;\r
-extern EFI_COMPONENT_NAME_PROTOCOL   gMnpComponentName;\r
-extern EFI_COMPONENT_NAME2_PROTOCOL  gMnpComponentName2;\r
+#include "ComponentName.h"\r
 \r
 #define MNP_SERVICE_DATA_SIGNATURE  SIGNATURE_32 ('M', 'n', 'p', 'S')\r
 \r
-typedef struct _MNP_SERVICE_DATA {\r
+typedef struct {\r
   UINT32                        Signature;\r
 \r
   EFI_HANDLE                    ControllerHandle;\r
@@ -96,14 +91,14 @@ typedef struct _MNP_SERVICE_DATA {
   follow these calling restrictions. If any other agent wishes to call\r
   Supported() it must also follow these calling restrictions.\r
 \r
-  @param[in]  This                Protocol instance pointer.\r
-  @param[in]  ControllerHandle    Handle of device to test\r
-  @param[in]  RemainingDevicePath Optional parameter use to pick a specific child\r
-                                  device to start.\r
+  @param[in]  This                 Protocol instance pointer.\r
+  @param[in]  ControllerHandle     Handle of device to test.\r
+  @param[in]  RemainingDevicePath  Optional parameter use to pick a specific \r
+                                   child device to start.\r
 \r
-  @retval EFI_SUCCESS         This driver supports this device\r
-  @retval EFI_ALREADY_STARTED This driver is already running on this device\r
-  @retval other               This driver does not support this device\r
+  @retval EFI_SUCCESS              This driver supports this device.\r
+  @retval EFI_ALREADY_STARTED      This driver is already running on this device.\r
+  @retval Others                   This driver does not support this device.\r
 \r
 **/\r
 EFI_STATUS\r
@@ -116,21 +111,21 @@ MnpDriverBindingSupported (
 \r
 /**\r
   Start this driver on ControllerHandle. This service is called by the\r
-  EFI boot service ConnectController(). In order to make\r
-  drivers as small as possible, there are a few calling restrictions for\r
-  this service. ConnectController() must follow these\r
-  calling restrictions. If any other agent wishes to call Start() it\r
-  must also follow these calling restrictions.\r
-\r
-  @param[in]  This                 Protocol instance pointer.\r
-  @param[in]  ControllerHandle     Handle of device to bind driver to.\r
-  @param[in]  RemainingDevicePath  Optional parameter use to pick a specific child\r
-                                   device to start.\r
-\r
-  @retval EFI_SUCCESS          This driver is added to ControllerHandle\r
-  @retval EFI_ALREADY_STARTED  This driver is already running on ControllerHandle\r
-  @retval other                This driver does not support this device\r
-\r
+  EFI boot service ConnectController(). In order to make drivers as small \r
+  as possible, there are a few calling restrictions for this service.\r
+  ConnectController() must follow these calling restrictions. If any other\r
+  agent wishes to call Start() it must also follow these calling restrictions.\r
+\r
+  @param[in]       This                 Protocol instance pointer.\r
+  @param[in]       ControllerHandle     Handle of device to bind driver to.\r
+  @param[in]       RemainingDevicePath  Optional parameter use to pick a specific \r
+                                        child device to start.\r
+\r
+  @retval EFI_SUCCESS           This driver is added to ControllerHandle.\r
+  @retval EFI_ALREADY_STARTED   This driver is already running on ControllerHandle.\r
+  @retval EFI_OUT_OF_RESOURCES  Failed to allocate memory for Mnp Service Data.\r
+  @retval Others                This driver does not support this device.\r
+  \r
 **/\r
 EFI_STATUS\r
 EFIAPI\r
@@ -143,20 +138,20 @@ MnpDriverBindingStart (
 \r
 /**\r
   Stop this driver on ControllerHandle. This service is called by the\r
-  EFI boot service DisconnectController(). In order to\r
-  make drivers as small as possible, there are a few calling\r
-  restrictions for this service. DisconnectController()\r
-  must follow these calling restrictions. If any other agent wishes\r
-  to call Stop() it must also follow these calling restrictions.\r
+  EFI boot service DisconnectController(). In order to make drivers as \r
+  small as possible, there are a few calling restrictions for this service. \r
+  DisconnectController() must follow these calling restrictions. If any other \r
+  agent wishes to call Stop() it must also follow these calling restrictions.\r
   \r
-  @param[in]  This              Protocol instance pointer.\r
-  @param[in]  ControllerHandle  Handle of device to stop driver on\r
-  @param[in]  NumberOfChildren  Number of Handles in ChildHandleBuffer. If number of\r
-                                children is zero stop the entire bus driver.\r
-  @param[in]  ChildHandleBuffer List of Child Handles to Stop.\r
+  @param[in]  This               Protocol instance pointer.\r
+  @param[in]  ControllerHandle   Handle of device to stop driver on.\r
+  @param[in]  NumberOfChildren   Number of Handles in ChildHandleBuffer. If \r
+                                 number of children is zero stop the entire \r
+                                                                bus driver.\r
+  @param[in]  ChildHandleBuffer  List of Child Handles to Stop.\r
 \r
-  @retval EFI_SUCCESS       This driver is removed ControllerHandle\r
-  @retval other             This driver was not removed from this device\r
+  @retval EFI_SUCCESS            This driver is removed ControllerHandle.\r
+  @retval EFI_DEVICE_ERROR       The device could not be stopped due to a device error.\r
 \r
 **/\r
 EFI_STATUS\r
@@ -165,26 +160,23 @@ MnpDriverBindingStop (
   IN EFI_DRIVER_BINDING_PROTOCOL  *This,\r
   IN EFI_HANDLE                   ControllerHandle,\r
   IN UINTN                        NumberOfChildren,\r
-  IN EFI_HANDLE                   *ChildHandleBuffer\r
+  IN EFI_HANDLE                   *ChildHandleBuffer OPTIONAL\r
   );\r
 \r
 /**\r
-  Creates a child handle and installs a protocol.\r
-  \r
-  The CreateChild() function installs a protocol on ChildHandle. \r
-  If ChildHandle is a pointer to NULL, then a new handle is created and returned in ChildHandle. \r
-  If ChildHandle is not a pointer to NULL, then the protocol installs on the existing ChildHandle.\r
+  Creates a child handle with a set of I/O services.\r
 \r
-  @param  This        Pointer to the EFI_SERVICE_BINDING_PROTOCOL instance.\r
-  @param  ChildHandle Pointer to the handle of the child to create. If it is NULL,\r
-                      then a new handle is created. If it is a pointer to an existing UEFI handle, \r
-                      then the protocol is added to the existing UEFI handle.\r
+  @param[in]       This              Protocol instance pointer.\r
+  @param[in, out]  ChildHandle       Pointer to the handle of the child to create. If\r
+                                     it is NULL, then a new handle is created. If\r
+                                                                        it is not NULL, then the I/O services are added \r
+                                                                        to the existing child handle.\r
 \r
-  @retval EFI_SUCCES            The protocol was added to ChildHandle.\r
-  @retval EFI_INVALID_PARAMETER ChildHandle is NULL.\r
-  @retval EFI_OUT_OF_RESOURCES  There are not enough resources availabe to create\r
-                                the child\r
-  @retval other                 The child handle was not created\r
+  @retval EFI_SUCCES                 The protocol was added to ChildHandle. \r
+  @retval EFI_INVALID_PARAMETER      ChildHandle is NULL. \r
+  @retval EFI_OUT_OF_RESOURCES       There are not enough resources availabe to \r
+                                     create the child.\r
+  @retval Others                     The child handle was not created.\r
 \r
 **/\r
 EFI_STATUS\r
@@ -195,21 +187,24 @@ MnpServiceBindingCreateChild (
   );\r
 \r
 /**\r
-  Destroys a child handle with a protocol installed on it.\r
-  \r
-  The DestroyChild() function does the opposite of CreateChild(). It removes a protocol \r
-  that was installed by CreateChild() from ChildHandle. If the removed protocol is the \r
-  last protocol on ChildHandle, then ChildHandle is destroyed.\r
-\r
-  @param  This        Pointer to the EFI_SERVICE_BINDING_PROTOCOL instance.\r
-  @param  ChildHandle Handle of the child to destroy\r
-\r
-  @retval EFI_SUCCES            The protocol was removed from ChildHandle.\r
-  @retval EFI_UNSUPPORTED       ChildHandle does not support the protocol that is being removed.\r
-  @retval EFI_INVALID_PARAMETER Child handle is not a valid UEFI Handle.\r
-  @retval EFI_ACCESS_DENIED     The protocol could not be removed from the ChildHandle\r
-                                because its services are being used.\r
-  @retval other                 The child handle was not destroyed\r
+  Destroys a child handle with a set of I/O services.\r
+   \r
+  The DestroyChild() function does the opposite of CreateChild(). It removes a \r
+  protocol that was installed by CreateChild() from ChildHandle. If the removed \r
+  protocol is the last protocol on ChildHandle, then ChildHandle is destroyed. \r
+   \r
+  @param[in]  This               Pointer to the EFI_SERVICE_BINDING_PROTOCOL \r
+                                 instance.\r
+  @param[in]  ChildHandle        Handle of the child to destroy.\r
+\r
+  @retval EFI_SUCCES             The protocol was removed from ChildHandle. \r
+  @retval EFI_UNSUPPORTED        ChildHandle does not support the protocol that\r
+                                 is being removed.\r
+  @retval EFI_INVALID_PARAMETER  ChildHandle is not a valid UEFI handle.\r
+  @retval EFI_ACCESS_DENIED      The protocol could not be removed from the\r
+                                 ChildHandle because its services are being\r
+                                 used.\r
+  @retval Others                 The child handle was not destroyed.\r
 \r
 **/\r
 EFI_STATUS\r