]> git.proxmox.com Git - mirror_edk2.git/blobdiff - Nt32Pkg/SnpNt32Dxe/SnpNt32.h
Update to support to produce Component Name and & Component Name 2 protocol based...
[mirror_edk2.git] / Nt32Pkg / SnpNt32Dxe / SnpNt32.h
index d1b999f537ccae08d67eecdb22ecd7dc52acc627..1ca5a3471951bf0f531bc132cc9af2ff44e79e78 100644 (file)
-/** @file
-
-Copyright (c) 2006 - 2007, Intel Corporation
-All rights reserved. This program and the accompanying materials
-are licensed and made available under the terms and conditions of the BSD License
-which accompanies this distribution.  The full text of the license may be found at
-http://opensource.org/licenses/bsd-license.php
-
-THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
-WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
-
-Module Name:
-
-  SnpNt32.h
-
-Abstract:
-
--**/
-
-#ifndef _SNP_NT32_H_
-#define _SNP_NT32_H_
+/** @file\r
+\r
+Copyright (c) 2006 - 2007, Intel Corporation\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
+\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
+\r
+Module Name:\r
+\r
+  SnpNt32.h\r
+\r
+Abstract:\r
+\r
+-**/\r
+\r
+#ifndef _SNP_NT32_H_\r
+#define _SNP_NT32_H_\r
 \r
 #include <PiDxe.h>\r
 \r
 #include <Protocol/SimpleNetwork.h>\r
-#include <Protocol/DevicePath.h>
+#include <Protocol/DevicePath.h>\r
 #include <Protocol/WinNtThunk.h>\r
-
+\r
 #include <Library/BaseLib.h>\r
 #include <Library/DebugLib.h>\r
 #include <Library/BaseMemoryLib.h>\r
 #include <Library/UefiBootServicesTableLib.h>\r
 #include <Library/UefiLib.h>\r
-#include <Library/DevicePathLib.h>
-#include <Library/NetLib.h>
-#include <Library/MemoryAllocationLib.h>
-
-typedef struct _SNPNT32_GLOBAL_DATA  SNPNT32_GLOBAL_DATA;
-typedef struct _SNPNT32_INSTANCE_DATA SNPNT32_INSTANCE_DATA;
-
-#define NETWORK_LIBRARY_NAME_U          L"SnpNt32Io.dll"
-
-#define NETWORK_LIBRARY_INITIALIZE      "SnpInitialize"
-#define NETWORK_LIBRARY_FINALIZE        "SnpFinalize"
-#define NETWORK_LIBRARY_SET_RCV_FILTER  "SnpSetReceiveFilter"
-#define NETWORK_LIBRARY_RECEIVE         "SnpReceive"
-#define NETWORK_LIBRARY_TRANSMIT        "SnpTransmit"
-
-#pragma pack(1)
-typedef struct _NT_NET_INTERFACE_INFO {
-  UINT32          InterfaceIndex;
-  EFI_MAC_ADDRESS MacAddr;
-} NT_NET_INTERFACE_INFO;
-#pragma pack()
-
-#define NET_ETHER_HEADER_SIZE     14
-
-#define MAX_INTERFACE_INFO_NUMBER 16
-#define MAX_FILE_NAME_LENGTH      280
-
-//
-//  Functions in Net Library
-//
-typedef
-INT32
-(*NT_NET_INITIALIZE) (
-  IN OUT  UINT32                *InterfaceCount,
-  IN OUT  NT_NET_INTERFACE_INFO * InterfaceInfoBuffer
-  );
-
-typedef
-INT32
-(*NT_NET_FINALIZE) (
-  VOID
-  );
-
-typedef
-INT32
-(*NT_NET_SET_RECEIVE_FILTER) (
-  IN  UINT32                        Index,
-  IN  UINT32                        EnableFilter,
-  IN  UINT32                        MCastFilterCnt,
-  IN  EFI_MAC_ADDRESS               * MCastFilter
-  );
-
-typedef
-INT32
-(*NT_NET_RECEIVE) (
-  IN      UINT32                        Index,
-  IN OUT  UINT32                        *BufferSize,
-  OUT     VOID                          *Buffer
-  );
-
-typedef
-INT32
-(*NT_NET_TRANSMIT) (
-  IN  UINT32                        Index,
-  IN  UINT32                        HeaderSize,
-  IN  UINT32                        BufferSize,
-  IN  VOID                          *Buffer,
-  IN  EFI_MAC_ADDRESS               * SrcAddr,
-  IN  EFI_MAC_ADDRESS               * DestAddr,
-  IN  UINT16                        *Protocol
-  );
-
-typedef struct _NT_NET_UTILITY_TABLE {
-  NT_NET_INITIALIZE         Initialize;
-  NT_NET_FINALIZE           Finalize;
-  NT_NET_SET_RECEIVE_FILTER SetReceiveFilter;
-  NT_NET_RECEIVE            Receive;
-  NT_NET_TRANSMIT           Transmit;
-} NT_NET_UTILITY_TABLE;
-
-//
-//  Private functions
-//
-typedef
-EFI_STATUS
-(*SNPNT32_INITIALIZE_GLOBAL_DATA) (
-  IN SNPNT32_GLOBAL_DATA * This
-  );
-
-typedef
-EFI_STATUS
-(*SNPNT32_INITIALIZE_INSTANCE_DATA) (
-  IN SNPNT32_GLOBAL_DATA    * This,
-  IN SNPNT32_INSTANCE_DATA  * Instance
-  );
-
-typedef
-EFI_STATUS
-(*SNPNT32_CLOSE_INSTANCE) (
-  IN SNPNT32_GLOBAL_DATA    * This,
-  IN SNPNT32_INSTANCE_DATA  * Instance
-  );
-
-//
-//  Global data for this driver
-//
-#define SNP_NT32_DRIVER_SIGNATURE EFI_SIGNATURE_32 ('W', 'S', 'N', 'P')
-
-typedef struct _SNPNT32_GLOBAL_DATA {
-  UINT32                            Signature;
-
-  //
-  //  List for all the fake SNP instance
-  //
-  NET_LIST_ENTRY                    InstanceList;
-
-  EFI_WIN_NT_THUNK_PROTOCOL         *WinNtThunk;
-  HMODULE                           NetworkLibraryHandle;
-
-  NT_NET_UTILITY_TABLE              NtNetUtilityTable;
-
-  NET_LOCK                          Lock;
-
-  //
-  //  Private functions
-  //
-  SNPNT32_INITIALIZE_GLOBAL_DATA    InitializeGlobalData;
-  SNPNT32_INITIALIZE_INSTANCE_DATA  InitializeInstanceData;
-  SNPNT32_CLOSE_INSTANCE            CloseInstance;
-} SNPNT32_GLOBAL_DATA;
-
-//
-//  Instance data for each fake SNP instance
-//
-#define SNP_NT32_INSTANCE_SIGNATURE EFI_SIGNATURE_32 ('w', 'S', 'N', 'P')
-
-typedef struct _SNPNT32_INSTANCE_DATA {
-  UINT32                      Signature;
-
-  //
-  //  List entry use for linking with other instance
-  //
-  NET_LIST_ENTRY              Entry;
-
-  SNPNT32_GLOBAL_DATA         *GlobalData;
-
-  EFI_HANDLE                  DeviceHandle;
-  EFI_DEVICE_PATH_PROTOCOL    *DevicePath;
-
-  EFI_SIMPLE_NETWORK_PROTOCOL Snp;
-  EFI_SIMPLE_NETWORK_MODE     Mode;
-
-  NT_NET_INTERFACE_INFO       InterfaceInfo;
-
-  //
-  //  Private functions
-  //
-} SNPNT32_INSTANCE_DATA;
-
-#define SNP_NT32_INSTANCE_DATA_FROM_SNP_THIS(a) \
-  CR ( \
-  a, \
-  SNPNT32_INSTANCE_DATA, \
-  Snp, \
-  SNP_NT32_INSTANCE_SIGNATURE \
-  )
-
-extern EFI_DRIVER_BINDING_PROTOCOL  gSnpNt32DriverBinding;
-extern EFI_COMPONENT_NAME_PROTOCOL   gSnpNt32DriverComponentName;
-
-EFI_STATUS
-EFIAPI
-SnpNt32DriverBindingSupported (
-  IN EFI_DRIVER_BINDING_PROTOCOL  * This,
-  IN EFI_HANDLE                   ControllerHandle,
-  IN EFI_DEVICE_PATH_PROTOCOL     * RemainingDevicePath OPTIONAL
-  );
-
-EFI_STATUS
-EFIAPI
-SnpNt32DriverBindingStart (
-  IN EFI_DRIVER_BINDING_PROTOCOL  * This,
-  IN EFI_HANDLE                   ControllerHandle,
-  IN EFI_DEVICE_PATH_PROTOCOL     * RemainingDevicePath OPTIONAL
-  );
-
-EFI_STATUS
-EFIAPI
-SnpNt32DriverBindingStop (
-  IN  EFI_DRIVER_BINDING_PROTOCOL  *This,
-  IN  EFI_HANDLE                   ControllerHandle,
-  IN  UINTN                        NumberOfChildren,
-  IN  EFI_HANDLE                   *ChildHandleBuffer
-  );
-
-EFI_STATUS
-SnpNt32InitializeGlobalData (
-  IN SNPNT32_GLOBAL_DATA *This
-  );
-
-EFI_STATUS
-SnpNt32InitializeInstanceData (
-  IN SNPNT32_GLOBAL_DATA    *This,
-  IN SNPNT32_INSTANCE_DATA  *Instance
-  );
-
-EFI_STATUS
-SnpNt32CloseInstance (
-  IN SNPNT32_GLOBAL_DATA    *This,
-  IN SNPNT32_INSTANCE_DATA  *Instance
-  );
-
-#endif
+#include <Library/DevicePathLib.h>\r
+#include <Library/NetLib.h>\r
+#include <Library/MemoryAllocationLib.h>\r
+\r
+typedef struct _SNPNT32_GLOBAL_DATA  SNPNT32_GLOBAL_DATA;\r
+typedef struct _SNPNT32_INSTANCE_DATA SNPNT32_INSTANCE_DATA;\r
+\r
+#define NETWORK_LIBRARY_NAME_U          L"SnpNt32Io.dll"\r
+\r
+#define NETWORK_LIBRARY_INITIALIZE      "SnpInitialize"\r
+#define NETWORK_LIBRARY_FINALIZE        "SnpFinalize"\r
+#define NETWORK_LIBRARY_SET_RCV_FILTER  "SnpSetReceiveFilter"\r
+#define NETWORK_LIBRARY_RECEIVE         "SnpReceive"\r
+#define NETWORK_LIBRARY_TRANSMIT        "SnpTransmit"\r
+\r
+#pragma pack(1)\r
+typedef struct _NT_NET_INTERFACE_INFO {\r
+  UINT32          InterfaceIndex;\r
+  EFI_MAC_ADDRESS MacAddr;\r
+} NT_NET_INTERFACE_INFO;\r
+#pragma pack()\r
+\r
+#define NET_ETHER_HEADER_SIZE     14\r
+\r
+#define MAX_INTERFACE_INFO_NUMBER 16\r
+#define MAX_FILE_NAME_LENGTH      280\r
+\r
+//\r
+//  Functions in Net Library\r
+//\r
+typedef\r
+INT32\r
+(*NT_NET_INITIALIZE) (\r
+  IN OUT  UINT32                *InterfaceCount,\r
+  IN OUT  NT_NET_INTERFACE_INFO * InterfaceInfoBuffer\r
+  );\r
+\r
+typedef\r
+INT32\r
+(*NT_NET_FINALIZE) (\r
+  VOID\r
+  );\r
+\r
+typedef\r
+INT32\r
+(*NT_NET_SET_RECEIVE_FILTER) (\r
+  IN  UINT32                        Index,\r
+  IN  UINT32                        EnableFilter,\r
+  IN  UINT32                        MCastFilterCnt,\r
+  IN  EFI_MAC_ADDRESS               * MCastFilter\r
+  );\r
+\r
+typedef\r
+INT32\r
+(*NT_NET_RECEIVE) (\r
+  IN      UINT32                        Index,\r
+  IN OUT  UINT32                        *BufferSize,\r
+  OUT     VOID                          *Buffer\r
+  );\r
+\r
+typedef\r
+INT32\r
+(*NT_NET_TRANSMIT) (\r
+  IN  UINT32                        Index,\r
+  IN  UINT32                        HeaderSize,\r
+  IN  UINT32                        BufferSize,\r
+  IN  VOID                          *Buffer,\r
+  IN  EFI_MAC_ADDRESS               * SrcAddr,\r
+  IN  EFI_MAC_ADDRESS               * DestAddr,\r
+  IN  UINT16                        *Protocol\r
+  );\r
+\r
+typedef struct _NT_NET_UTILITY_TABLE {\r
+  NT_NET_INITIALIZE         Initialize;\r
+  NT_NET_FINALIZE           Finalize;\r
+  NT_NET_SET_RECEIVE_FILTER SetReceiveFilter;\r
+  NT_NET_RECEIVE            Receive;\r
+  NT_NET_TRANSMIT           Transmit;\r
+} NT_NET_UTILITY_TABLE;\r
+\r
+//\r
+//  Private functions\r
+//\r
+typedef\r
+EFI_STATUS\r
+(*SNPNT32_INITIALIZE_GLOBAL_DATA) (\r
+  IN SNPNT32_GLOBAL_DATA * This\r
+  );\r
+\r
+typedef\r
+EFI_STATUS\r
+(*SNPNT32_INITIALIZE_INSTANCE_DATA) (\r
+  IN SNPNT32_GLOBAL_DATA    * This,\r
+  IN SNPNT32_INSTANCE_DATA  * Instance\r
+  );\r
+\r
+typedef\r
+EFI_STATUS\r
+(*SNPNT32_CLOSE_INSTANCE) (\r
+  IN SNPNT32_GLOBAL_DATA    * This,\r
+  IN SNPNT32_INSTANCE_DATA  * Instance\r
+  );\r
+\r
+//\r
+//  Global data for this driver\r
+//\r
+#define SNP_NT32_DRIVER_SIGNATURE EFI_SIGNATURE_32 ('W', 'S', 'N', 'P')\r
+\r
+typedef struct _SNPNT32_GLOBAL_DATA {\r
+  UINT32                            Signature;\r
+\r
+  //\r
+  //  List for all the fake SNP instance\r
+  //\r
+  NET_LIST_ENTRY                    InstanceList;\r
+\r
+  EFI_WIN_NT_THUNK_PROTOCOL         *WinNtThunk;\r
+  HMODULE                           NetworkLibraryHandle;\r
+\r
+  NT_NET_UTILITY_TABLE              NtNetUtilityTable;\r
+\r
+  NET_LOCK                          Lock;\r
+\r
+  //\r
+  //  Private functions\r
+  //\r
+  SNPNT32_INITIALIZE_GLOBAL_DATA    InitializeGlobalData;\r
+  SNPNT32_INITIALIZE_INSTANCE_DATA  InitializeInstanceData;\r
+  SNPNT32_CLOSE_INSTANCE            CloseInstance;\r
+} SNPNT32_GLOBAL_DATA;\r
+\r
+//\r
+//  Instance data for each fake SNP instance\r
+//\r
+#define SNP_NT32_INSTANCE_SIGNATURE EFI_SIGNATURE_32 ('w', 'S', 'N', 'P')\r
+\r
+typedef struct _SNPNT32_INSTANCE_DATA {\r
+  UINT32                      Signature;\r
+\r
+  //\r
+  //  List entry use for linking with other instance\r
+  //\r
+  NET_LIST_ENTRY              Entry;\r
+\r
+  SNPNT32_GLOBAL_DATA         *GlobalData;\r
+\r
+  EFI_HANDLE                  DeviceHandle;\r
+  EFI_DEVICE_PATH_PROTOCOL    *DevicePath;\r
+\r
+  EFI_SIMPLE_NETWORK_PROTOCOL Snp;\r
+  EFI_SIMPLE_NETWORK_MODE     Mode;\r
+\r
+  NT_NET_INTERFACE_INFO       InterfaceInfo;\r
+\r
+  //\r
+  //  Private functions\r
+  //\r
+} SNPNT32_INSTANCE_DATA;\r
+\r
+#define SNP_NT32_INSTANCE_DATA_FROM_SNP_THIS(a) \\r
+  CR ( \\r
+  a, \\r
+  SNPNT32_INSTANCE_DATA, \\r
+  Snp, \\r
+  SNP_NT32_INSTANCE_SIGNATURE \\r
+  )\r
+\r
+extern EFI_DRIVER_BINDING_PROTOCOL   gSnpNt32DriverBinding;\r
+extern EFI_COMPONENT_NAME_PROTOCOL    gSnpNt32DriverComponentName;\r
+extern EFI_COMPONENT_NAME2_PROTOCOL   gSnpNt32DriverComponentName2;\r
+\r
+EFI_STATUS\r
+EFIAPI\r
+SnpNt32DriverBindingSupported (\r
+  IN EFI_DRIVER_BINDING_PROTOCOL  * This,\r
+  IN EFI_HANDLE                   ControllerHandle,\r
+  IN EFI_DEVICE_PATH_PROTOCOL     * RemainingDevicePath OPTIONAL\r
+  );\r
+\r
+EFI_STATUS\r
+EFIAPI\r
+SnpNt32DriverBindingStart (\r
+  IN EFI_DRIVER_BINDING_PROTOCOL  * This,\r
+  IN EFI_HANDLE                   ControllerHandle,\r
+  IN EFI_DEVICE_PATH_PROTOCOL     * RemainingDevicePath OPTIONAL\r
+  );\r
+\r
+EFI_STATUS\r
+EFIAPI\r
+SnpNt32DriverBindingStop (\r
+  IN  EFI_DRIVER_BINDING_PROTOCOL  *This,\r
+  IN  EFI_HANDLE                   ControllerHandle,\r
+  IN  UINTN                        NumberOfChildren,\r
+  IN  EFI_HANDLE                   *ChildHandleBuffer\r
+  );\r
+\r
+EFI_STATUS\r
+SnpNt32InitializeGlobalData (\r
+  IN SNPNT32_GLOBAL_DATA *This\r
+  );\r
+\r
+EFI_STATUS\r
+SnpNt32InitializeInstanceData (\r
+  IN SNPNT32_GLOBAL_DATA    *This,\r
+  IN SNPNT32_INSTANCE_DATA  *Instance\r
+  );\r
+\r
+EFI_STATUS\r
+SnpNt32CloseInstance (\r
+  IN SNPNT32_GLOBAL_DATA    *This,\r
+  IN SNPNT32_INSTANCE_DATA  *Instance\r
+  );\r
+\r
+#endif\r