summaryrefslogtreecommitdiffstats
path: root/src/phLibNfc.h
diff options
context:
space:
mode:
authorArnaud Ferir <arnaud.ferir@trusted-logic.com>2010-12-21 18:10:50 +0100
committerNick Pelly <npelly@google.com>2011-01-18 13:22:46 -0800
commit76270e7c32ec0c558907430e756712d5b68b417c (patch)
tree3365a0c4f24e4d413d40a5382a5931e6403b66f3 /src/phLibNfc.h
parent1ec4ace9cd3079abd7c0b30d0976591c8c0f441e (diff)
downloadexternal_libnfc-nxp-76270e7c32ec0c558907430e756712d5b68b417c.zip
external_libnfc-nxp-76270e7c32ec0c558907430e756712d5b68b417c.tar.gz
external_libnfc-nxp-76270e7c32ec0c558907430e756712d5b68b417c.tar.bz2
Allow LLCP socket creation before link establishment.
This enables to register a server socket prior to LLCP link establishement and avoid any race condition between the local server and the remote client. The modification implies a LLCP socket API change (added the device handle parameter in all LLCP API that can lead to active data exchange). The LLCP socket internal structures are now initialized during LLCP link parameter configuration step instead of LLCP compliancy check to save socket state independently from peer detection. Also removed unused socket states and added some traces. Change-Id: I961c48af4ca9ace68d41b9569dc1038bb2bbdc71
Diffstat (limited to 'src/phLibNfc.h')
-rw-r--r--src/phLibNfc.h31
1 files changed, 19 insertions, 12 deletions
diff --git a/src/phLibNfc.h b/src/phLibNfc.h
index bfd3eb7..216196f 100644
--- a/src/phLibNfc.h
+++ b/src/phLibNfc.h
@@ -2550,7 +2550,6 @@ extern NFCSTATUS phLibNfc_Llcp_GetRemoteInfo( phLibNfc_Handle
* The options and working buffer are not required if the socket is used as a listening socket,
* since it cannot be directly used for communication.
*
-* \param[in] hRemoteDevice Peer handle obtained during device discovery process.
* \param[in] eType The socket type.
* \param[in] psOptions The options to be used with the socket.
* \param[in] psWorkingBuffer A working buffer to be used by the library.
@@ -2570,8 +2569,7 @@ extern NFCSTATUS phLibNfc_Llcp_GetRemoteInfo( phLibNfc_Handle
* \retval NFCSTATUS_SHUTDOWN Shutdown in progress.
* \retval NFCSTATUS_FAILED Operation failed.
*/
-extern NFCSTATUS phLibNfc_Llcp_Socket( phLibNfc_Handle hRemoteDevice,
- phLibNfc_Llcp_eSocketType_t eType,
+extern NFCSTATUS phLibNfc_Llcp_Socket( phLibNfc_Llcp_eSocketType_t eType,
phLibNfc_Llcp_sSocketOptions_t* psOptions,
phNfc_sData_t* psWorkingBuffer,
phLibNfc_Handle* phSocket,
@@ -2644,7 +2642,8 @@ extern NFCSTATUS phLibNfc_Llcp_SocketGetLocalOptions( phLibNfc_Handle
* \retval NFCSTATUS_SHUTDOWN Shutdown in progress.
* \retval NFCSTATUS_FAILED Operation failed.
*/
-extern NFCSTATUS phLibNfc_Llcp_SocketGetRemoteOptions( phLibNfc_Handle hSocket,
+extern NFCSTATUS phLibNfc_Llcp_SocketGetRemoteOptions( phLibNfc_Handle hRemoteDevice,
+ phLibNfc_Handle hSocket,
phLibNfc_Llcp_sSocketOptions_t* psRemoteOptions
);
@@ -2764,7 +2763,8 @@ extern NFCSTATUS phLibNfc_Llcp_Accept( phLibNfc_Handle hSocket,
* \retval NFCSTATUS_SHUTDOWN Shutdown in progress.
* \retval NFCSTATUS_FAILED Operation failed.
*/
-extern NFCSTATUS phLibNfc_Llcp_Reject( phLibNfc_Handle hSocket,
+extern NFCSTATUS phLibNfc_Llcp_Reject( phLibNfc_Handle hRemoteDevice,
+ phLibNfc_Handle hSocket,
pphLibNfc_LlcpSocketAcceptCb_t pReject_RspCb,
void* pContext);
@@ -2794,7 +2794,8 @@ extern NFCSTATUS phLibNfc_Llcp_Reject( phLibNfc_Handle hSocket,
* \retval NFCSTATUS_SHUTDOWN Shutdown in progress.
* \retval NFCSTATUS_FAILED Operation failed.
*/
-extern NFCSTATUS phLibNfc_Llcp_Connect( phLibNfc_Handle hSocket,
+extern NFCSTATUS phLibNfc_Llcp_Connect( phLibNfc_Handle hRemoteDevice,
+ phLibNfc_Handle hSocket,
uint8_t nSap,
pphLibNfc_LlcpSocketConnectCb_t pConnect_RspCb,
void* pContext
@@ -2826,7 +2827,8 @@ extern NFCSTATUS phLibNfc_Llcp_Connect( phLibNfc_Handle hSocket,
* \retval NFCSTATUS_SHUTDOWN Shutdown in progress.
* \retval NFCSTATUS_FAILED Operation failed.
*/
-extern NFCSTATUS phLibNfc_Llcp_ConnectByUri( phLibNfc_Handle hSocket,
+extern NFCSTATUS phLibNfc_Llcp_ConnectByUri( phLibNfc_Handle hRemoteDevice,
+ phLibNfc_Handle hSocket,
phNfc_sData_t* psUri,
pphLibNfc_LlcpSocketConnectCb_t pConnect_RspCb,
void* pContext
@@ -2856,7 +2858,8 @@ extern NFCSTATUS phLibNfc_Llcp_ConnectByUri( phLibNfc_Handle hSo
* \retval NFCSTATUS_SHUTDOWN Shutdown in progress.
* \retval NFCSTATUS_FAILED Operation failed.
*/
-extern NFCSTATUS phLibNfc_Llcp_Disconnect( phLibNfc_Handle hSocket,
+extern NFCSTATUS phLibNfc_Llcp_Disconnect( phLibNfc_Handle hRemoteDevice,
+ phLibNfc_Handle hSocket,
pphLibNfc_LlcpSocketDisconnectCb_t pDisconnect_RspCb,
void* pContext
);
@@ -2891,7 +2894,8 @@ extern NFCSTATUS phLibNfc_Llcp_Disconnect( phLibNfc_Handle hS
* \retval NFCSTATUS_SHUTDOWN Shutdown in progress.
* \retval NFCSTATUS_FAILED Operation failed.
*/
-extern NFCSTATUS phLibNfc_Llcp_Recv( phLibNfc_Handle hSocket,
+extern NFCSTATUS phLibNfc_Llcp_Recv( phLibNfc_Handle hRemoteDevice,
+ phLibNfc_Handle hSocket,
phNfc_sData_t* psBuffer,
pphLibNfc_LlcpSocketRecvCb_t pRecv_RspCb,
void* pContext
@@ -2924,7 +2928,8 @@ extern NFCSTATUS phLibNfc_Llcp_Recv( phLibNfc_Handle hSocket,
* \retval NFCSTATUS_SHUTDOWN Shutdown in progress.
* \retval NFCSTATUS_FAILED Operation failed.
*/
-extern NFCSTATUS phLibNfc_Llcp_RecvFrom( phLibNfc_Handle hSocket,
+extern NFCSTATUS phLibNfc_Llcp_RecvFrom( phLibNfc_Handle hRemoteDevice,
+ phLibNfc_Handle hSocket,
phNfc_sData_t* psBuffer,
pphLibNfc_LlcpSocketRecvFromCb_t pRecv_Cb,
void* pContext
@@ -2958,7 +2963,8 @@ extern NFCSTATUS phLibNfc_Llcp_RecvFrom( phLibNfc_Handle hSock
* \retval NFCSTATUS_SHUTDOWN Shutdown in progress.
* \retval NFCSTATUS_FAILED Operation failed.
*/
-extern NFCSTATUS phLibNfc_Llcp_Send( phLibNfc_Handle hSocket,
+extern NFCSTATUS phLibNfc_Llcp_Send( phLibNfc_Handle hRemoteDevice,
+ phLibNfc_Handle hSocket,
phNfc_sData_t* psBuffer,
pphLibNfc_LlcpSocketSendCb_t pSend_RspCb,
void* pContext
@@ -2992,7 +2998,8 @@ extern NFCSTATUS phLibNfc_Llcp_Send( phLibNfc_Handle hSocket,
* \retval NFCSTATUS_SHUTDOWN Shutdown in progress.
* \retval NFCSTATUS_FAILED Operation failed.
*/
-extern NFCSTATUS phLibNfc_Llcp_SendTo( phLibNfc_Handle hSocket,
+extern NFCSTATUS phLibNfc_Llcp_SendTo( phLibNfc_Handle hRemoteDevice,
+ phLibNfc_Handle hSocket,
uint8_t nSap,
phNfc_sData_t* psBuffer,
pphLibNfc_LlcpSocketSendCb_t pSend_RspCb,