NetworkPkg: Move Network library and drivers from MdeModulePkg to NetworkPkg

Signed-off-by: Liming Gao <liming.gao@intel.com>
Cc: Siyuan Fu <siyuan.fu@intel.com>
Cc: Jiaxin Wu <jiaxin.wu@intel.com>
Reviewed-by: Jiaxin Wu <jiaxin.wu@intel.com>
Reviewed-by: Siyuan Fu <siyuan.fu@intel.com>
This commit is contained in:
Liming Gao
2019-05-15 20:02:18 +08:00
parent c0fd7f734e
commit 4542f8b813
147 changed files with 24 additions and 24 deletions

View File

@@ -0,0 +1,94 @@
/** @file
Help functions to access UDP service.
Copyright (c) 2005 - 2018, Intel Corporation. All rights reserved.<BR>
SPDX-License-Identifier: BSD-2-Clause-Patent
**/
#include <Uefi.h>
#include <Library/DebugLib.h>
#include <Library/UefiBootServicesTableLib.h>
#include <Protocol/Dpc.h>
//
// Pointer to the DPC Protocol
//
EFI_DPC_PROTOCOL *mDpc;
/**
This constructor function caches the EFI_DPC_PROTOCOL pointer.
@param[in] ImageHandle The firmware allocated handle for the EFI image.
@param[in] SystemTable A pointer to the EFI System Table.
@retval EFI_SUCCESS The constructor always return EFI_SUCCESS.
**/
EFI_STATUS
EFIAPI
DpcLibConstructor (
IN EFI_HANDLE ImageHandle,
IN EFI_SYSTEM_TABLE *SystemTable
)
{
EFI_STATUS Status;
//
// Locate the EFI_DPC_PROTOCOL in the handle database
//
Status = gBS->LocateProtocol (&gEfiDpcProtocolGuid, NULL, (VOID **)&mDpc);
ASSERT_EFI_ERROR (Status);
return Status;
}
/**
Add a Deferred Procedure Call to the end of the DPC queue.
@param[in] DpcTpl The EFI_TPL that the DPC should be invoked.
@param[in] DpcProcedure Pointer to the DPC's function.
@param[in] DpcContext Pointer to the DPC's context. Passed to DpcProcedure
when DpcProcedure is invoked.
@retval EFI_SUCCESS The DPC was queued.
@retval EFI_INVALID_PARAMETER DpcTpl is not a valid EFI_TPL.
@retval EFI_INVALID_PARAMETER DpcProcedure is NULL.
@retval EFI_OUT_OF_RESOURCES There are not enough resources available to
add the DPC to the queue.
**/
EFI_STATUS
EFIAPI
QueueDpc (
IN EFI_TPL DpcTpl,
IN EFI_DPC_PROCEDURE DpcProcedure,
IN VOID *DpcContext OPTIONAL
)
{
//
// Call the EFI_DPC_PROTOCOL to queue the DPC
//
return mDpc->QueueDpc (mDpc, DpcTpl, DpcProcedure, DpcContext);
}
/**
Dispatch the queue of DPCs. ALL DPCs that have been queued with a DpcTpl
value greater than or equal to the current TPL are invoked in the order that
they were queued. DPCs with higher DpcTpl values are invoked before DPCs with
lower DpcTpl values.
@retval EFI_SUCCESS One or more DPCs were invoked.
@retval EFI_NOT_FOUND No DPCs were invoked.
**/
EFI_STATUS
EFIAPI
DispatchDpc (
VOID
)
{
//
// Call the EFI_DPC_PROTOCOL to dispatch previously queued DPCs
//
return mDpc->DispatchDpc (mDpc);
}

View File

@@ -0,0 +1,40 @@
## @file
# This library instance provides DPC service by consuming EFI DPC Protocol.
#
# Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.<BR>
# SPDX-License-Identifier: BSD-2-Clause-Patent
#
##
[Defines]
INF_VERSION = 0x00010005
BASE_NAME = DxeDpcLib
MODULE_UNI_FILE = DxeDpcLib.uni
FILE_GUID = 38897D86-FF36-4472-AE64-1DB9AE715C81
MODULE_TYPE = DXE_DRIVER
VERSION_STRING = 1.0
LIBRARY_CLASS = DpcLib|DXE_CORE DXE_DRIVER DXE_RUNTIME_DRIVER DXE_SMM_DRIVER UEFI_APPLICATION UEFI_DRIVER
CONSTRUCTOR = DpcLibConstructor
#
# The following information is for reference only and not required by the build tools.
#
# VALID_ARCHITECTURES = IA32 X64 EBC
#
[Sources]
DpcLib.c
[Packages]
MdePkg/MdePkg.dec
MdeModulePkg/MdeModulePkg.dec
[LibraryClasses]
DebugLib
UefiBootServicesTableLib
[Protocols]
gEfiDpcProtocolGuid ## CONSUMES
[Depex.common.DXE_DRIVER, Depex.common.DXE_RUNTIME_DRIVER, Depex.common.DXE_SAL_DRIVER, Depex.common.DXE_SMM_DRIVER]
gEfiDpcProtocolGuid

View File

@@ -0,0 +1,16 @@
// /** @file
// This library instance provides DPC service by consuming EFI DPC Protocol.
//
// This library instance provides the DPC service by consuming EFI DPC Protocol.
//
// Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.<BR>
//
// SPDX-License-Identifier: BSD-2-Clause-Patent
//
// **/
#string STR_MODULE_ABSTRACT #language en-US "Provides the DPC service by consuming EFI DPC Protocol"
#string STR_MODULE_DESCRIPTION #language en-US "This library instance provides the DPC service by consuming EFI DPC Protocol."

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,85 @@
/** @file
Header file for HttpLib.
Copyright (c) 2016 - 2017, Intel Corporation. All rights reserved.<BR>
(C) Copyright 2016 Hewlett Packard Enterprise Development LP<BR>
SPDX-License-Identifier: BSD-2-Clause-Patent
**/
#ifndef _DXE_HTTP_LIB_H_
#define _DXE_HTTP_LIB_H_
#include <Uefi.h>
#include <Library/NetLib.h>
#include <Library/HttpLib.h>
#include <Library/BaseLib.h>
#include <Library/DebugLib.h>
#include <Library/MemoryAllocationLib.h>
#include <Library/UefiBootServicesTableLib.h>
#include <IndustryStandard/Http11.h>
#include <Protocol/HttpUtilities.h>
#define BIT(x) (1 << x)
#define HTTP_VERSION_CRLF_STR " HTTP/1.1\r\n"
#define EMPTY_SPACE " "
#define NET_IS_HEX_CHAR(Ch) \
((('0' <= (Ch)) && ((Ch) <= '9')) || \
(('A' <= (Ch)) && ((Ch) <= 'F')) || \
(('a' <= (Ch)) && ((Ch) <= 'f')))
//
// Field index of the HTTP URL parse result.
//
#define HTTP_URI_FIELD_SCHEME 0
#define HTTP_URI_FIELD_AUTHORITY 1
#define HTTP_URI_FIELD_PATH 2
#define HTTP_URI_FIELD_QUERY 3
#define HTTP_URI_FIELD_FRAGMENT 4
#define HTTP_URI_FIELD_USERINFO 5
#define HTTP_URI_FIELD_HOST 6
#define HTTP_URI_FIELD_PORT 7
#define HTTP_URI_FIELD_MAX 8
#define HTTP_URI_PORT_MAX_NUM 65535
//
// Structure to store the parse result of a HTTP URL.
//
typedef struct {
UINT32 Offset;
UINT32 Length;
} HTTP_URL_FILED_DATA;
typedef struct {
UINT16 FieldBitMap;
HTTP_URL_FILED_DATA FieldData[HTTP_URI_FIELD_MAX];
} HTTP_URL_PARSER;
typedef enum {
UrlParserUrlStart,
UrlParserScheme,
UrlParserSchemeColon, // ":"
UrlParserSchemeColonSlash, // ":/"
UrlParserSchemeColonSlashSlash, // "://"
UrlParserAuthority,
UrlParserAtInAuthority,
UrlParserPath,
UrlParserQueryStart, // "?"
UrlParserQuery,
UrlParserFragmentStart, // "#"
UrlParserFragment,
UrlParserUserInfo,
UrlParserHostStart, // "@"
UrlParserHost,
UrlParserHostIpv6, // "["(Ipv6 address) "]"
UrlParserPortStart, // ":"
UrlParserPort,
UrlParserStateMax
} HTTP_URL_PARSE_STATE;
#endif

View File

@@ -0,0 +1,42 @@
## @file
# It provides the helper routines to parse the HTTP message byte stream.
#
# Copyright (c) 2015 - 2018, Intel Corporation. All rights reserved.<BR>
# (C) Copyright 2016 Hewlett Packard Enterprise Development LP<BR>
# SPDX-License-Identifier: BSD-2-Clause-Patent
#
##
[Defines]
INF_VERSION = 0x00010005
BASE_NAME = DxeHttpLib
MODULE_UNI_FILE = DxeHttpLib.uni
FILE_GUID = ABBAB4CD-EA88-45b9-8234-C8A7450531FC
MODULE_TYPE = DXE_DRIVER
VERSION_STRING = 1.0
LIBRARY_CLASS = HttpLib|DXE_CORE DXE_DRIVER DXE_RUNTIME_DRIVER DXE_SMM_DRIVER UEFI_APPLICATION UEFI_DRIVER
#
# The following information is for reference only and not required by the build tools.
#
# VALID_ARCHITECTURES = IA32 X64 EBC
#
[Sources]
DxeHttpLib.c
DxeHttpLib.h
[Packages]
MdePkg/MdePkg.dec
MdeModulePkg/MdeModulePkg.dec
[LibraryClasses]
BaseLib
DebugLib
UefiBootServicesTableLib
MemoryAllocationLib
NetLib
[Protocols]
gEfiHttpUtilitiesProtocolGuid ## SOMETIMES_CONSUMES

View File

@@ -0,0 +1,16 @@
// /** @file
// Provides the helper routines for HTTP.
//
// This library instance provides the helper routines to parse the HTTP message byte stream.
//
// Copyright (c) 2015 - 2018, Intel Corporation. All rights reserved.<BR>
//
// SPDX-License-Identifier: BSD-2-Clause-Patent
//
// **/
#string STR_MODULE_ABSTRACT #language en-US "Provides the helper routines for HTTP"
#string STR_MODULE_DESCRIPTION #language en-US "This library instance provides the helper routines to parse the HTTP message byte stream."

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,46 @@
## @file
# This library instance provides IP services upon EFI IPv4/IPv6 Protocols.
#
# Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
# SPDX-License-Identifier: BSD-2-Clause-Patent
#
##
[Defines]
INF_VERSION = 0x00010005
BASE_NAME = DxeIpIoLib
MODULE_UNI_FILE = DxeIpIoLib.uni
FILE_GUID = A302F877-8625-425c-B1EC-7487B62C4FDA
MODULE_TYPE = DXE_DRIVER
VERSION_STRING = 1.0
LIBRARY_CLASS = IpIoLib|DXE_CORE DXE_DRIVER DXE_RUNTIME_DRIVER DXE_SMM_DRIVER UEFI_APPLICATION UEFI_DRIVER
#
# The following information is for reference only and not required by the build tools.
#
# VALID_ARCHITECTURES = IA32 X64 EBC
#
[Sources]
DxeIpIoLib.c
[Packages]
MdePkg/MdePkg.dec
MdeModulePkg/MdeModulePkg.dec
[LibraryClasses]
BaseLib
DebugLib
UefiBootServicesTableLib
MemoryAllocationLib
BaseMemoryLib
DpcLib
[Protocols]
gEfiIp4ProtocolGuid ## SOMETIMES_CONSUMES
gEfiIp4ServiceBindingProtocolGuid ## SOMETIMES_CONSUMES
gEfiIp6ProtocolGuid ## SOMETIMES_CONSUMES
gEfiIp6ServiceBindingProtocolGuid ## SOMETIMES_CONSUMES

View File

@@ -0,0 +1,16 @@
// /** @file
// This library instance provides IP services upon EFI IPv4/IPv6 Protocols.
//
// This library instance provides IP services upon EFI IPv4/IPv6 Protocols.
//
// Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
//
// SPDX-License-Identifier: BSD-2-Clause-Patent
//
// **/
#string STR_MODULE_ABSTRACT #language en-US "EFI IPv4/IPv6 IP Services Library"
#string STR_MODULE_DESCRIPTION #language en-US "This library instance provides IP services upon EFI IPv4/IPv6 Protocols."

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,61 @@
## @file
# This library instance provides the basic network services.
#
# Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
# (C) Copyright 2015 Hewlett Packard Enterprise Development LP<BR>
# SPDX-License-Identifier: BSD-2-Clause-Patent
#
##
[Defines]
INF_VERSION = 0x00010005
BASE_NAME = DxeNetLib
MODULE_UNI_FILE = DxeNetLib.uni
FILE_GUID = db6dcef3-9f4e-4340-9351-fc35aa8a5888
MODULE_TYPE = DXE_DRIVER
VERSION_STRING = 1.0
LIBRARY_CLASS = NetLib|DXE_CORE DXE_DRIVER DXE_RUNTIME_DRIVER DXE_SMM_DRIVER UEFI_APPLICATION UEFI_DRIVER
#
# The following information is for reference only and not required by the build tools.
#
# VALID_ARCHITECTURES = IA32 X64 EBC
#
[Sources]
DxeNetLib.c
NetBuffer.c
[Packages]
MdePkg/MdePkg.dec
MdeModulePkg/MdeModulePkg.dec
[LibraryClasses]
BaseLib
DebugLib
BaseMemoryLib
UefiBootServicesTableLib
UefiRuntimeServicesTableLib
UefiLib
MemoryAllocationLib
DevicePathLib
PrintLib
[Guids]
gEfiSmbiosTableGuid ## SOMETIMES_CONSUMES ## SystemTable
gEfiSmbios3TableGuid ## SOMETIMES_CONSUMES ## SystemTable
gEfiAdapterInfoMediaStateGuid ## SOMETIMES_CONSUMES
[Protocols]
gEfiSimpleNetworkProtocolGuid ## SOMETIMES_CONSUMES
gEfiManagedNetworkProtocolGuid ## SOMETIMES_CONSUMES
gEfiManagedNetworkServiceBindingProtocolGuid ## SOMETIMES_CONSUMES
gEfiIp4Config2ProtocolGuid ## SOMETIMES_CONSUMES
gEfiComponentNameProtocolGuid ## SOMETIMES_CONSUMES
gEfiComponentName2ProtocolGuid ## SOMETIMES_CONSUMES
gEfiAdapterInformationProtocolGuid ## SOMETIMES_CONSUMES

View File

@@ -0,0 +1,16 @@
// /** @file
// This library instance provides the basic network services.
//
// This library instance provides the basic network services.
//
// Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
//
// SPDX-License-Identifier: BSD-2-Clause-Patent
//
// **/
#string STR_MODULE_ABSTRACT #language en-US "Provides the basic network services"
#string STR_MODULE_DESCRIPTION #language en-US "This library instance provides the basic network services."

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,44 @@
## @file
# This library instance provides TCP services by EFI TCPv4/TCPv6 Protocols.
#
# Copyright (c) 2010 - 2018, Intel Corporation. All rights reserved.<BR>
# SPDX-License-Identifier: BSD-2-Clause-Patent
#
##
[Defines]
INF_VERSION = 0x00010005
BASE_NAME = DxeTcpIoLib
MODULE_UNI_FILE = DxeTcpIoLib.uni
FILE_GUID = D4608509-1AB0-4cc7-827A-AB8E1E7BD3E6
MODULE_TYPE = DXE_DRIVER
VERSION_STRING = 1.0
LIBRARY_CLASS = TcpIoLib|DXE_CORE DXE_DRIVER DXE_RUNTIME_DRIVER DXE_SMM_DRIVER UEFI_APPLICATION UEFI_DRIVER
#
# The following information is for reference only and not required by the build tools.
#
# VALID_ARCHITECTURES = IA32 X64 EBC
#
[Sources]
DxeTcpIoLib.c
[Packages]
MdePkg/MdePkg.dec
MdeModulePkg/MdeModulePkg.dec
[LibraryClasses]
BaseLib
DebugLib
UefiBootServicesTableLib
MemoryAllocationLib
BaseMemoryLib
[Protocols]
gEfiTcp4ServiceBindingProtocolGuid ## SOMETIMES_CONSUMES
gEfiTcp4ProtocolGuid ## SOMETIMES_CONSUMES
gEfiTcp6ServiceBindingProtocolGuid ## SOMETIMES_CONSUMES
gEfiTcp6ProtocolGuid ## SOMETIMES_CONSUMES

View File

@@ -0,0 +1,16 @@
// /** @file
// This library instance provides TCP services by EFI TCPv4/TCPv6 Protocols.
//
// This library instance provides TCP services by EFI TCPv4/TCPv6 Protocols.
//
// Copyright (c) 2010 - 2018, Intel Corporation. All rights reserved.<BR>
//
// SPDX-License-Identifier: BSD-2-Clause-Patent
//
// **/
#string STR_MODULE_ABSTRACT #language en-US "Provides TCP services by EFI TCPv4/TCPv6 Protocols"
#string STR_MODULE_DESCRIPTION #language en-US "This library instance provides TCP services by EFI TCPv4/TCPv6 Protocols."

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,46 @@
## @file
# This library instance provides UDP services by consuming EFI UDPv4/UDPv6 Protocols.
#
# Copyright (c) 2008 - 2018, Intel Corporation. All rights reserved.<BR>
# SPDX-License-Identifier: BSD-2-Clause-Patent
#
##
[Defines]
INF_VERSION = 0x00010005
BASE_NAME = DxeUpdIoLib
MODULE_UNI_FILE = DxeUpdIoLib.uni
FILE_GUID = 7E615AA1-41EE-49d4-B7E9-1D7A60AA5C8D
MODULE_TYPE = DXE_DRIVER
VERSION_STRING = 1.0
LIBRARY_CLASS = UdpIoLib|DXE_CORE DXE_DRIVER DXE_RUNTIME_DRIVER DXE_SMM_DRIVER UEFI_APPLICATION UEFI_DRIVER
#
# The following information is for reference only and not required by the build tools.
#
# VALID_ARCHITECTURES = IA32 X64 EBC
#
[Sources]
DxeUdpIoLib.c
[Packages]
MdePkg/MdePkg.dec
MdeModulePkg/MdeModulePkg.dec
[LibraryClasses]
BaseLib
DebugLib
UefiBootServicesTableLib
MemoryAllocationLib
BaseMemoryLib
DpcLib
[Protocols]
gEfiUdp4ServiceBindingProtocolGuid ## SOMETIMES_CONSUMES
gEfiUdp4ProtocolGuid ## SOMETIMES_CONSUMES
gEfiUdp6ServiceBindingProtocolGuid ## SOMETIMES_CONSUMES
gEfiUdp6ProtocolGuid ## SOMETIMES_CONSUMES

View File

@@ -0,0 +1,16 @@
// /** @file
// This library instance provides UDP services by consuming EFI UDPv4/UDPv6 Protocols.
//
// This library instance provides UDP services by consuming EFI UDPv4/UDPv6 Protocols.
//
// Copyright (c) 2008 - 2018, Intel Corporation. All rights reserved.<BR>
//
// SPDX-License-Identifier: BSD-2-Clause-Patent
//
// **/
#string STR_MODULE_ABSTRACT #language en-US "Provides UDP services by consuming EFI UDPv4/UDPv6 Protocols"
#string STR_MODULE_DESCRIPTION #language en-US "This library instance provides UDP services by consuming EFI UDPv4/UDPv6 Protocols."