Merged socket development branch:

* Fixed bug report (Duane Voth: Python sockets test application not working) by starting the receive operations when a connection is established!
* Increased performance by extending the idle loop into the network stack with the Poll call.
* Added support for TCPv6 (SOCK_STREAM) and UDPv6 (SOCK_DGRAM).
* Added support for getaddrinfo and getnameinfo calls.
* Moved application PCD values into AppPkg

Signed-off-by: lpleahy

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13002 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
lpleahy
2012-02-09 19:16:44 +00:00
parent 5709e4e290
commit 3bdf9aae5f
19 changed files with 6551 additions and 25 deletions

View File

@@ -28,6 +28,14 @@ CONST EFI_GUID mEslIp4ServiceGuid = {
};
/**
Tag GUID - IPv6 in use by an application using EfiSocketLib
**/
CONST EFI_GUID mEslIp6ServiceGuid = {
0xc51b2761, 0xc476, 0x45fe, { 0xbe, 0x61, 0xba, 0x4b, 0xcc, 0x32, 0xf2, 0x34 }
};
/**
Tag GUID - TCPv4 in use by an application using EfiSocketLib
**/
@@ -36,6 +44,14 @@ CONST EFI_GUID mEslTcp4ServiceGuid = {
};
/**
Tag GUID - TCPv6 in use by an application using EfiSocketLib
**/
CONST EFI_GUID mEslTcp6ServiceGuid = {
0x279858a4, 0x4e9e, 0x4e53, { 0x93, 0x22, 0xf2, 0x54, 0xe0, 0x7e, 0xef, 0xd4 }
};
/**
Tag GUID - UDPv4 in use by an application using EfiSocketLib
**/
@@ -44,6 +60,14 @@ CONST EFI_GUID mEslUdp4ServiceGuid = {
};
/**
Tag GUID - UDPv6 in use by an application using EfiSocketLib
**/
CONST EFI_GUID mEslUdp6ServiceGuid = {
0xaa4af677, 0x6efe, 0x477c, { 0x96, 0x68, 0xe8, 0x13, 0x9d, 0x2, 0xfd, 0x9b }
};
/**
Connect to the EFI socket library
@@ -252,10 +276,8 @@ EslServiceNetworkDisconnect (
NULL,
&HandleCount,
&pHandles );
if ( EFI_ERROR ( Status )) {
break;
}
if ( NULL != pHandles ) {
if (( !EFI_ERROR ( Status ))
&& ( NULL != pHandles )) {
//
// Attempt to disconnect from this network adapter
//
@@ -277,6 +299,7 @@ EslServiceNetworkDisconnect (
// Set the next network protocol
//
pSocketBinding += 1;
Status = EFI_SUCCESS;
}
//