diff options
author | lpleahy <lpleahy@6f19259b-4bc3-4df7-8a09-765794883524> | 2011-09-30 23:42:59 +0000 |
---|---|---|
committer | lpleahy <lpleahy@6f19259b-4bc3-4df7-8a09-765794883524> | 2011-09-30 23:42:59 +0000 |
commit | 672a322b5efbcfe4c4eb68e462f54b1f892c5413 (patch) | |
tree | 6480fa7c0748b8e038082f01c743baee6f7aab8c | |
parent | 41c68bcda65c7ccc78b8e9ed0127895aa5fc1153 (diff) | |
download | edk2-672a322b5efbcfe4c4eb68e462f54b1f892c5413.zip edk2-672a322b5efbcfe4c4eb68e462f54b1f892c5413.tar.gz edk2-672a322b5efbcfe4c4eb68e462f54b1f892c5413.tar.bz2 |
Fix compilation errors detected with GCC 4.4svn/branches/EADK
Signed-off-by: lpleahy
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/branches/EADK@12503 6f19259b-4bc3-4df7-8a09-765794883524
-rw-r--r-- | StdLib/EfiSocketLib/Ip4.c | 2 | ||||
-rw-r--r-- | StdLib/EfiSocketLib/ReleaseNotes.txt | 3 | ||||
-rw-r--r-- | StdLib/EfiSocketLib/Socket.c | 20 | ||||
-rw-r--r-- | StdLib/EfiSocketLib/Socket.h | 46 |
4 files changed, 37 insertions, 34 deletions
diff --git a/StdLib/EfiSocketLib/Ip4.c b/StdLib/EfiSocketLib/Ip4.c index 2d34126..9f885e9 100644 --- a/StdLib/EfiSocketLib/Ip4.c +++ b/StdLib/EfiSocketLib/Ip4.c @@ -204,7 +204,7 @@ EslIp4OptionGet ( break;
case IP_HDRINCL:
- *ppOptionData = (void *)pSocket->bIncludeHeader;
+ *ppOptionData = (void *)&pSocket->bIncludeHeader;
*pOptionLength = sizeof ( pSocket->bIncludeHeader );
break;
}
diff --git a/StdLib/EfiSocketLib/ReleaseNotes.txt b/StdLib/EfiSocketLib/ReleaseNotes.txt index fd8ed74..c978e42 100644 --- a/StdLib/EfiSocketLib/ReleaseNotes.txt +++ b/StdLib/EfiSocketLib/ReleaseNotes.txt @@ -23,6 +23,9 @@ The following issues exist with the EFI Socket Library: * TCPv4 transfer rate is slow (< 10 Mbits/sec) - This is an unidentified issue.
+* Tcp4Dxe transmits more urgent data than is sent through sockets when normal data is
+ queued for transmission before the urgent data. HSD 206365
+
* Raw socket applications are not able to pass the IP header as part of their
payload by using the IP option IP_HDRINCL. This is because the UEFI IPv4 driver
(Ip4Dxe) does not support RawData. HSD 206136
diff --git a/StdLib/EfiSocketLib/Socket.c b/StdLib/EfiSocketLib/Socket.c index 42e4689..9c2d2f6 100644 --- a/StdLib/EfiSocketLib/Socket.c +++ b/StdLib/EfiSocketLib/Socket.c @@ -2307,7 +2307,7 @@ EslSocketIoInit ( IN ESL_IO_MGMT ** ppFreeQueue,
IN UINTN DebugFlags,
IN CHAR8 * pEventName,
- IN EFI_EVENT_NOTIFY pfnCompletion
+ IN PFN_API_IO_COMPLETE pfnCompletion
)
{
ESL_IO_MGMT * pEnd;
@@ -2670,7 +2670,7 @@ EslSocketOptionGet ( int errno;
socklen_t LengthInBytes;
socklen_t MaxBytes;
- UINT8 * pOptionData;
+ CONST UINT8 * pOptionData;
ESL_SOCKET * pSocket;
EFI_STATUS Status;
@@ -2709,7 +2709,7 @@ EslSocketOptionGet ( if ( pSocket->pApi->DefaultProtocol == level ) {
Status = pSocket->pApi->pfnOptionGet ( pSocket,
OptionName,
- &pOptionData,
+ (CONST void ** __restrict)&pOptionData,
&LengthInBytes );
errno = pSocket->errno;
break;
@@ -2749,7 +2749,7 @@ EslSocketOptionGet ( //
// Return the listen flag
//
- pOptionData = (UINT8 *)&pSocket->bListenCalled;
+ pOptionData = (CONST UINT8 *)&pSocket->bListenCalled;
LengthInBytes = sizeof ( pSocket->bListenCalled );
break;
@@ -2757,7 +2757,7 @@ EslSocketOptionGet ( //
// Return the debug flags
//
- pOptionData = (UINT8 *)&pSocket->bOobInLine;
+ pOptionData = (CONST UINT8 *)&pSocket->bOobInLine;
LengthInBytes = sizeof ( pSocket->bOobInLine );
break;
@@ -2765,7 +2765,7 @@ EslSocketOptionGet ( //
// Return the out-of-band inline flag
//
- pOptionData = (UINT8 *)&pSocket->bOobInLine;
+ pOptionData = (CONST UINT8 *)&pSocket->bOobInLine;
LengthInBytes = sizeof ( pSocket->bOobInLine );
break;
@@ -2773,7 +2773,7 @@ EslSocketOptionGet ( //
// Return the receive timeout
//
- pOptionData = (UINT8 *)&pSocket->RxTimeout;
+ pOptionData = (CONST UINT8 *)&pSocket->RxTimeout;
LengthInBytes = sizeof ( pSocket->RxTimeout );
break;
@@ -2781,7 +2781,7 @@ EslSocketOptionGet ( //
// Return the maximum receive buffer size
//
- pOptionData = (UINT8 *)&pSocket->MaxRxBuf;
+ pOptionData = (CONST UINT8 *)&pSocket->MaxRxBuf;
LengthInBytes = sizeof ( pSocket->MaxRxBuf );
break;
@@ -2789,7 +2789,7 @@ EslSocketOptionGet ( //
// Return the maximum transmit buffer size
//
- pOptionData = (UINT8 *)&pSocket->MaxTxBuf;
+ pOptionData = (CONST UINT8 *)&pSocket->MaxTxBuf;
LengthInBytes = sizeof ( pSocket->MaxTxBuf );
break;
@@ -2797,7 +2797,7 @@ EslSocketOptionGet ( //
// Return the socket type
//
- pOptionData = (UINT8 *)&pSocket->Type;
+ pOptionData = (CONST UINT8 *)&pSocket->Type;
LengthInBytes = sizeof ( pSocket->Type );
break;
}
diff --git a/StdLib/EfiSocketLib/Socket.h b/StdLib/EfiSocketLib/Socket.h index 25133e6..50bb2d3 100644 --- a/StdLib/EfiSocketLib/Socket.h +++ b/StdLib/EfiSocketLib/Socket.h @@ -220,7 +220,7 @@ typedef struct _ESL_IO_MGMT { EFI_UDP4_COMPLETION_TOKEN Udp4Rx; ///< UDP4 receive token
EFI_UDP4_COMPLETION_TOKEN Udp4Tx; ///< UDP4 transmit token
} Token; ///< Completion token for the network operation
-};
+} GCC_IO_MGMT;
/**
IP4 context structure
@@ -481,6 +481,26 @@ EFI_STATUS );
/**
+ Process the completion event
+
+ This routine handles the I/O completion event.
+
+ This routine is called by the low level network driver when
+ the operation is completed.
+
+ @param [in] Event The receive completion event
+
+ @param [in] pIo The address of an ::ESL_IO_MGMT structure
+
+**/
+typedef
+VOID
+(* PFN_API_IO_COMPLETE) (
+ IN EFI_EVENT Event,
+ IN ESL_IO_MGMT * pIo
+ );
+
+/**
Determine if the socket is configured.
@@ -727,26 +747,6 @@ EFI_STATUS );
/**
- Process the receive completion
-
- This routine handles the receive completion event.
-
- This routine is called by the low level network driver when
- data is received.
-
- @param [in] Event The receive completion event
-
- @param [in] pIo The address of an ::ESL_IO_MGMT structure
-
-**/
-typedef
-VOID
-(* PFN_API_RX_COMPLETE) (
- IN EFI_EVENT Event,
- IN ESL_IO_MGMT * pIo
- );
-
-/**
Start a receive operation
This routine prepares a packet for the receive operation.
@@ -853,7 +853,7 @@ typedef struct { PFN_API_RECEIVE pfnReceive; ///< Attempt to receive some data
PFN_API_REMOTE_ADDR_GET pfnRemoteAddrGet; ///< Get remote address
PFN_API_REMOTE_ADDR_SET pfnRemoteAddrSet; ///< Set the remote system address
- PFN_API_RX_COMPLETE pfnRxComplete; ///< RX completion
+ PFN_API_IO_COMPLETE pfnRxComplete; ///< RX completion
PFN_API_RX_START pfnRxStart; ///< Start a network specific receive operation
PFN_API_TRANSMIT pfnTransmit; ///< Attempt to buffer a packet for transmit
PFN_API_TX_COMPLETE pfnTxComplete; ///< TX completion for normal data
@@ -1132,7 +1132,7 @@ EslSocketIoInit ( IN ESL_IO_MGMT ** ppFreeQueue,
IN UINTN DebugFlags,
IN CHAR8 * pEventName,
- IN EFI_EVENT_NOTIFY pfnCompletion
+ IN PFN_API_IO_COMPLETE pfnCompletion
);
/**
|