summaryrefslogtreecommitdiff
path: root/network/wlan/WDI/COMMON/P2PSvc_ActionInfo.c
diff options
context:
space:
mode:
authorkarlf <[email protected]>2016-08-11 13:28:13 -0700
committerkarlf <[email protected]>2016-08-11 13:28:13 -0700
commit96eb96dfb613e4c745db6bd1f53a92fe7e2290fc (patch)
treead5f3ede5cbcd6b598677ce41bcf8318471bdd92 /network/wlan/WDI/COMMON/P2PSvc_ActionInfo.c
parent687b274aa38fd05c8c26e3068932121876d7f745 (diff)
Updated for "Windows 10 Anniversary Update" (Version 1607)
Diffstat (limited to 'network/wlan/WDI/COMMON/P2PSvc_ActionInfo.c')
-rw-r--r--network/wlan/WDI/COMMON/P2PSvc_ActionInfo.c523
1 files changed, 0 insertions, 523 deletions
diff --git a/network/wlan/WDI/COMMON/P2PSvc_ActionInfo.c b/network/wlan/WDI/COMMON/P2PSvc_ActionInfo.c
deleted file mode 100644
index 6b116700..00000000
--- a/network/wlan/WDI/COMMON/P2PSvc_ActionInfo.c
+++ /dev/null
@@ -1,523 +0,0 @@
-#include "Mp_Precomp.h"
-
-#include "P2PSvc_Internal.h"
-
-#if (P2P_SUPPORT == 1)
-
-#if (P2PSVC_SUPPORT == 1)
-
-//-----------------------------------------------------------------------------
-// Local
-//-----------------------------------------------------------------------------
-
-//
-// Description:
-// Add the req info (obj hdr + obj list) to the info list.
-// Assume the req info has been validated by P2PSvc_ValidateReqInfo
-//
-RT_STATUS
-p2psvc_AddReqInfoToList(
- IN PADAPTER pAdapter,
- IN PP2PSVC_INFO pP2PSvcInfo,
- IN PRT_LIST_ENTRY pListHead,
- IN pu4Byte pListCnt,
- IN PRT_OBJECT_HEADER pObjHdr
- )
-{
- RT_STATUS rtStatus = RT_STATUS_SUCCESS;
- PP2PSVC_OBJ_LIST pObjList = NULL;
-
- P2PSVC_FUNC_IN(DBG_LOUD);
-
- if(!pP2PSvcInfo->bEnabled)
- {
- RT_TRACE_F(COMP_P2P, DBG_WARNING, ("[WARNING] P2PSvc not enabled!"));
- P2PSVC_FUNC_OUT(DBG_LOUD, RT_STATUS_INVALID_STATE);
-
- return RT_STATUS_INVALID_STATE;
- }
-
- do
- {
- u4Byte reqBufSize = 0;
- u4Byte objListLen = 0;
- PP2PSVC_REQ_INFO_ENTRY pReqInfoEntry = NULL;
-
- pObjList = (PP2PSVC_OBJ_LIST)(pObjHdr->Value);
- objListLen = P2PSVC_OBJ_LIST_LEN(pObjList);
- reqBufSize = FIELD_OFFSET(P2PSVC_REQ_INFO_ENTRY, objList) + objListLen;
-
- if(RT_STATUS_SUCCESS != (rtStatus = P2PSvc_AllocMem(pAdapter, &pReqInfoEntry, reqBufSize)))
- {
- RT_TRACE_F(COMP_OID_SET | COMP_WFD, DBG_WARNING, ("[WARNING] Failed to allocate memory for req info\n"));
- rtStatus = RT_STATUS_RESOURCE;
- break;
- }
-
- // Construct req info entry
- pReqInfoEntry->P2PSvcReqId = pObjHdr->Id;
- PlatformMoveMemory(&pReqInfoEntry->objList, pObjList, objListLen);
-
- // Add to the list
- PLATFORM_ACQUIRE_RT_SPINLOCK(pP2PSvcInfo->lock);
- RTInsertTailListWithCnt(pListHead, &pReqInfoEntry->List, pListCnt);
- PLATFORM_RELEASE_RT_SPINLOCK(pP2PSvcInfo->lock);
-
- RT_PRINT_DATA(COMP_P2P, DBG_LOUD, "p2psvc_AddReqInfoToList(): add req info:\n", &pReqInfoEntry->objList, objListLen);
- }while(FALSE);
-
- P2PSVC_FUNC_OUT(DBG_LOUD, rtStatus);
-
- return rtStatus;
-}
-
-//-----------------------------------------------------------------------------
-// Exported
-//-----------------------------------------------------------------------------
-BOOLEAN
-P2PSvc_Free_AdvSvcList(
- IN PRT_LIST_ENTRY pListHead,
- IN pu4Byte pListCnt,
- IN u4Byte advId
- )
-{
- PRT_LIST_ENTRY pEntry = NULL;
- BOOLEAN bFreeAll = (0 == advId) ? (TRUE) : (FALSE);
- BOOLEAN bFreed = FALSE;
-
- for(pEntry = RTGetHeadList(pListHead); pEntry != pListHead; pEntry = RTNextEntryList(pEntry))
- {
- PP2PSVC_REQ_INFO_ENTRY pInfoEntry = (PP2PSVC_REQ_INFO_ENTRY)pEntry;
- PP2PSVC_OBJ_LIST pAdvSvcObjList = &pInfoEntry->objList;
- PRT_OBJECT_HEADER pAdvIdObj = NULL;
- u4Byte curAdvId = 0;
- BOOLEAN bFree = FALSE;
-
- P2PSVC_CHECK_NULL(pEntry);
- if(!pEntry) break;
-
- pAdvIdObj = P2PSvc_GetParam(pAdvSvcObjList, P2PSVC_OBJ_HDR_ID_DATA_ADV_ID, 0);
- curAdvId = *(pu4Byte)pAdvIdObj->Value;
-
- // Assume that cancel advertising advId 0 (ASP) is to cancel ALL services
-
- if(bFreeAll)
- {
- bFree = TRUE;
- }
- else
- {
- if(advId == curAdvId) bFree = TRUE;
- }
-
- if(bFree)
- {
- PRT_LIST_ENTRY pForeEntry = RTForeEntryList(pEntry);
-
- RTRemoveEntryListWithCnt(pEntry, pListCnt);
- P2PSvc_FreeMem(pEntry, FIELD_OFFSET(P2PSVC_REQ_INFO_ENTRY, objList) + P2PSVC_OBJ_LIST_LEN(pAdvSvcObjList));
-
- RT_TRACE_F(COMP_P2P, DBG_LOUD, ("svc with id: %u canceled, pEntry is: %p\n", curAdvId, pEntry));
-
- pEntry = pForeEntry;
-
- bFreed = TRUE;
- }
-
- if(!bFreeAll && bFree) break;
- }
-
- return bFreed;
-}
-
-BOOLEAN
-P2PSvc_Free_SeekReqList(
- IN PRT_LIST_ENTRY pListHead,
- IN pu4Byte pListCnt,
- IN u1Byte seekId
- )
-{
- PRT_LIST_ENTRY pEntry = NULL;
- BOOLEAN bFreeAll = (0 == seekId) ? (TRUE) : (FALSE);
- BOOLEAN bFreed = FALSE;
-
- for(pEntry = RTGetHeadList(pListHead); pEntry != pListHead; pEntry = RTNextEntryList(pEntry))
- {
- PP2PSVC_REQ_INFO_ENTRY pInfoEntry = (PP2PSVC_REQ_INFO_ENTRY)pEntry;
- PP2PSVC_OBJ_LIST pSeekObjList = &pInfoEntry->objList;
- PRT_OBJECT_HEADER pSeekIdObj = NULL;
- u4Byte curSeekId = 0;
- BOOLEAN bFree = FALSE;
-
- P2PSVC_CHECK_NULL(pEntry);
- if(!pEntry) break;
-
- pSeekIdObj = P2PSvc_GetParam(pSeekObjList, P2PSVC_OBJ_HDR_ID_DATA_SEARCH_ID, 0);
- curSeekId = *(pu1Byte)pSeekIdObj->Value;
-
- // Assume that cancel searchId 0 (ASP) is to cancel ALL seek requests
-
- //RT_TRACE_F(COMP_P2P, DBG_LOUD, ("cur search ID: %u search ID to cancel: %u\n", curSeekId, seekId));
-
- if(bFreeAll)
- {
- bFree = TRUE;
- }
- else
- {
- if(seekId == curSeekId) bFree = TRUE;
- }
-
- if(bFree)
- {
- PRT_LIST_ENTRY pForeEntry = RTForeEntryList(pEntry);
-
- RTRemoveEntryListWithCnt(pEntry, pListCnt);
- P2PSvc_FreeMem(pEntry, FIELD_OFFSET(P2PSVC_REQ_INFO_ENTRY, objList) + P2PSVC_OBJ_LIST_LEN(&pInfoEntry->objList));
-
- RT_TRACE_F(COMP_P2P, DBG_LOUD, ("seek req of ID: %u canceled, pEntry is: %p\n", curSeekId, pEntry));
-
- pEntry = pForeEntry;
-
- bFreed = TRUE;
- }
-
- if(!bFreeAll && bFree) break;
- }
-
- return bFreed;
-}
-
-RT_STATUS
-P2PSvc_Set_AdvSvc(
- IN PADAPTER pAdapter,
- IN PVOID infoBuf,
- IN u4Byte inBufLen,
- IN u4Byte outBufLen,
- OUT pu4Byte pBytesWritten,
- OUT pu4Byte pBytesRead,
- OUT pu4Byte pBytesNeeded
- )
-{
- RT_STATUS rtStatus = RT_STATUS_SUCCESS;
- PP2PSVC_INFO pP2PSvcInfo = P2PSVC_GET_INFO(pAdapter);
-
- P2PSVC_FUNC_IN(DBG_LOUD);
-
- do
- {
- PRT_OBJECT_HEADER pObjHdr = (PRT_OBJECT_HEADER)(infoBuf);
-
- if(RT_STATUS_SUCCESS != (rtStatus = p2psvc_AddReqInfoToList(pAdapter, pP2PSvcInfo, &pP2PSvcInfo->advSvcList, &pP2PSvcInfo->advSvcListCnt, pObjHdr)))
- {
- break;
- }
- }while(FALSE);
-
- P2PSVC_FUNC_OUT(DBG_LOUD, rtStatus);
-
- return rtStatus;
-}
-
-RT_STATUS
-P2PSvc_Set_CancelAdvSvc(
- IN PADAPTER pAdapter,
- IN PVOID infoBuf,
- IN u4Byte inBufLen,
- IN u4Byte outBufLen,
- OUT pu4Byte pBytesWritten,
- OUT pu4Byte pBytesRead,
- OUT pu4Byte pBytesNeeded
- )
-{
- RT_STATUS rtStatus = RT_STATUS_SUCCESS;
- PP2PSVC_INFO pP2PSvcInfo = P2PSVC_GET_INFO(pAdapter);
-
- P2PSVC_FUNC_IN(DBG_LOUD);
-
- do
- {
- PRT_OBJECT_HEADER pObjHdr = (PRT_OBJECT_HEADER)(infoBuf);
- PP2PSVC_OBJ_LIST pObjList = (PP2PSVC_OBJ_LIST)(pObjHdr->Value);
-
- PRT_OBJECT_HEADER pAdvIdObj = NULL;
- u4Byte advIdToCancel = 0;
-
- pAdvIdObj = P2PSvc_GetParam(pObjList, P2PSVC_OBJ_HDR_ID_DATA_ADV_ID, 0);
- advIdToCancel = *(pu4Byte)pAdvIdObj->Value;
-
- if(!P2PSvc_Free_AdvSvcList(&pP2PSvcInfo->advSvcList, &pP2PSvcInfo->advSvcListCnt, advIdToCancel))
- {
- rtStatus = RT_STATUS_INVALID_DATA;
- break;
- }
- }while(FALSE);
-
- P2PSVC_FUNC_OUT(DBG_LOUD, rtStatus);
-
- return rtStatus;
-}
-
-RT_STATUS
-P2PSvc_Set_SvcStatus(
- IN PADAPTER pAdapter,
- IN PVOID infoBuf,
- IN u4Byte inBufLen,
- IN u4Byte outBufLen,
- OUT pu4Byte pBytesWritten,
- OUT pu4Byte pBytesRead,
- OUT pu4Byte pBytesNeeded
- )
-{
- RT_STATUS rtStatus = RT_STATUS_SUCCESS;
- PP2PSVC_INFO pP2PSvcInfo = P2PSVC_GET_INFO(pAdapter);
-
- P2PSVC_FUNC_IN(DBG_LOUD);
-
- do
- {
- PRT_OBJECT_HEADER pObjHdr = (PRT_OBJECT_HEADER)(infoBuf);
- PP2PSVC_OBJ_LIST pObjList = (PP2PSVC_OBJ_LIST)(pObjHdr->Value);
-
- PRT_OBJECT_HEADER pAdvIdObj = NULL;
- PRT_OBJECT_HEADER pSvcStatusObj = NULL;
-
- u4Byte advIdToSet = 0;
- u1Byte svcStatusToSet = 0;
-
- PRT_LIST_ENTRY pEntry = NULL;
-
- // Get adv-id and svc-status to set
- pAdvIdObj = P2PSvc_GetParam(pObjList, P2PSVC_OBJ_HDR_ID_DATA_ADV_ID, 0);
- advIdToSet = *(pu4Byte)pAdvIdObj->Value;
-
- pSvcStatusObj = P2PSvc_GetParam(pObjList, P2PSVC_OBJ_HDR_ID_DATA_SVC_STATUS, 0);
- svcStatusToSet = *(pu1Byte)pSvcStatusObj->Value;
-
- for(pEntry = RTGetHeadList(&pP2PSvcInfo->advSvcList); pEntry != &pP2PSvcInfo->advSvcList; pEntry = RTNextEntryList(pEntry))
- {
- PP2PSVC_REQ_INFO_ENTRY pInfoEntry = (PP2PSVC_REQ_INFO_ENTRY)pEntry;
- PP2PSVC_OBJ_LIST pAdvSvcObjList = &pInfoEntry->objList;
- u4Byte curAdvId = 0;
-
- // Get current adv svc's adv id for matching
- pAdvIdObj = P2PSvc_GetParam(pAdvSvcObjList, P2PSVC_OBJ_HDR_ID_DATA_ADV_ID, 0);
- curAdvId = *(pu4Byte)pAdvIdObj->Value;
-
- if(curAdvId == advIdToSet)
- {
- pu1Byte pCurSvcStatus = NULL;
-
- pSvcStatusObj = P2PSvc_GetParam(pAdvSvcObjList, P2PSVC_OBJ_HDR_ID_DATA_SVC_STATUS, 0);
- pCurSvcStatus = (pu1Byte)pSvcStatusObj->Value;
- *pCurSvcStatus = svcStatusToSet;
-
- break;
- }
- }
-
- if(pEntry == &pP2PSvcInfo->advSvcList)
- {
- rtStatus = RT_STATUS_INVALID_PARAMETER;
- break;
- }
- }while(FALSE);
-
- P2PSVC_FUNC_OUT(DBG_LOUD, rtStatus);
-
- return rtStatus;
-}
-
-RT_STATUS
-P2PSvc_Set_Seek(
- IN PADAPTER pAdapter,
- IN PVOID infoBuf,
- IN u4Byte inBufLen,
- IN u4Byte outBufLen,
- OUT pu4Byte pBytesWritten,
- OUT pu4Byte pBytesRead,
- OUT pu4Byte pBytesNeeded
- )
-{
- RT_STATUS rtStatus = RT_STATUS_SUCCESS;
- PP2PSVC_INFO pP2PSvcInfo = P2PSVC_GET_INFO(pAdapter);
-
- P2PSVC_FUNC_IN(DBG_LOUD);
-
- do
- {
- PRT_OBJECT_HEADER pObjHdr = (PRT_OBJECT_HEADER)(infoBuf);
-
- if(RT_STATUS_SUCCESS != (rtStatus = p2psvc_AddReqInfoToList(pAdapter, pP2PSvcInfo, &pP2PSvcInfo->seekReqList, &pP2PSvcInfo->seekReqListCnt, pObjHdr)))
- {
- break;
- }
- }while(FALSE);
-
- P2PSVC_FUNC_OUT(DBG_LOUD, rtStatus);
-
- return rtStatus;
-
-}
-
-RT_STATUS
-P2PSvc_Set_CancelSeek(
- IN PADAPTER pAdapter,
- IN PVOID infoBuf,
- IN u4Byte inBufLen,
- IN u4Byte outBufLen,
- OUT pu4Byte pBytesWritten,
- OUT pu4Byte pBytesRead,
- OUT pu4Byte pBytesNeeded
- )
-{
- RT_STATUS rtStatus = RT_STATUS_SUCCESS;
- PP2PSVC_INFO pP2PSvcInfo = P2PSVC_GET_INFO(pAdapter);
-
- P2PSVC_FUNC_IN(DBG_LOUD);
-
- do
- {
- PRT_OBJECT_HEADER pObjHdr = (PRT_OBJECT_HEADER)(infoBuf);
- PP2PSVC_OBJ_LIST pObjList = (PP2PSVC_OBJ_LIST)(pObjHdr->Value);
-
- PRT_OBJECT_HEADER pSearchIdObj = NULL;
- u1Byte searchIdToCancel = 0;
-
- pSearchIdObj = P2PSvc_GetParam(pObjList, P2PSVC_OBJ_HDR_ID_DATA_SEARCH_ID, 0);
- searchIdToCancel = *(pu1Byte)pSearchIdObj->Value;
-
- if(!P2PSvc_Free_SeekReqList(&pP2PSvcInfo->seekReqList, &pP2PSvcInfo->seekReqListCnt, searchIdToCancel))
- {
- rtStatus = RT_STATUS_INVALID_DATA;
- break;
- }
- }while(FALSE);
-
- P2PSVC_FUNC_OUT(DBG_LOUD, rtStatus);
-
- return rtStatus;
-
-}
-
-RT_STATUS
-P2PSvc_Set_ConnCap(
- IN PADAPTER pAdapter,
- IN PVOID infoBuf,
- IN u4Byte inBufLen,
- IN u4Byte outBufLen,
- OUT pu4Byte pBytesWritten,
- OUT pu4Byte pBytesRead,
- OUT pu4Byte pBytesNeeded
- )
-{
- RT_STATUS rtStatus = RT_STATUS_SUCCESS;
-
- P2PSVC_FUNC_IN(DBG_LOUD);
-
- do
- {
- PP2PSVC_INFO pP2PSvcInfo = P2PSVC_GET_INFO(pAdapter);
- PRT_OBJECT_HEADER pObjHdr = NULL;
- PP2PSVC_OBJ_LIST pObjList = NULL;
- PRT_OBJECT_HEADER pConnCapObj = NULL;
-
- pObjHdr = (PRT_OBJECT_HEADER)infoBuf;
- pObjList = (PP2PSVC_OBJ_LIST)(pObjHdr->Value);
-
- pConnCapObj = P2PSvc_GetParam(pObjList, P2PSVC_OBJ_HDR_ID_DATA_CONN_CAP, 0);
-
- PLATFORM_ACQUIRE_RT_SPINLOCK(pP2PSvcInfo->lock);
- {
- pP2PSvcInfo->connCap = *(pu1Byte)pConnCapObj->Value;
- RT_TRACE_F(COMP_P2P, DBG_LOUD, ("conn cap set to: %u\n", pP2PSvcInfo->connCap));
- }
- PLATFORM_RELEASE_RT_SPINLOCK(pP2PSvcInfo->lock);
- }while(FALSE);
-
- P2PSVC_FUNC_OUT(DBG_LOUD, rtStatus);
-
- return rtStatus;
-}
-
-RT_STATUS
-P2PSvc_Set_PDReq(
- IN PADAPTER pAdapter,
- IN PVOID infoBuf,
- IN u4Byte inBufLen,
- IN u4Byte outBufLen,
- OUT pu4Byte pBytesWritten,
- OUT pu4Byte pBytesRead,
- OUT pu4Byte pBytesNeeded
- )
-{
- RT_STATUS rtStatus = RT_STATUS_SUCCESS;
-
- P2PSVC_FUNC_IN(DBG_LOUD);
-
- do
- {
- if(RT_STATUS_SUCCESS != (rtStatus = P2PSvc_AddPDInitorData(pAdapter, infoBuf, inBufLen, outBufLen)))
- {
- break;
- }
- }while(FALSE);
-
- P2PSVC_FUNC_OUT(DBG_LOUD, rtStatus);
-
- return rtStatus;
-}
-
-RT_STATUS
-P2PSvc_Set_RspdorFOPDReq(
- IN PADAPTER pAdapter,
- IN PVOID infoBuf,
- IN u4Byte inBufLen,
- IN u4Byte outBufLen,
- OUT pu4Byte pBytesWritten,
- OUT pu4Byte pBytesRead,
- OUT pu4Byte pBytesNeeded
- )
-{
- RT_STATUS rtStatus = RT_STATUS_SUCCESS;
- PP2PSVC_INFO pP2PSvcInfo = P2PSVC_GET_INFO(pAdapter);
-
- P2PSVC_FUNC_IN(DBG_LOUD);
-
- PLATFORM_ACQUIRE_RT_SPINLOCK(pP2PSvcInfo->lock);
-
- do
- {
- PRT_OBJECT_HEADER pObjHdr = NULL;
- PP2PSVC_OBJ_LIST pObjList = NULL;
- PRT_OBJECT_HEADER pObj = NULL;
- BOOLEAN bUserAccepted = FALSE;
- PP2PSVC_PD_ENTRY pPDEntry = NULL;
-
- pObjHdr = (PRT_OBJECT_HEADER)infoBuf;
- pObjList = (PP2PSVC_OBJ_LIST)(pObjHdr->Value);
-
- pObj = P2PSvc_GetParam(pObjList, P2PSVC_OBJ_HDR_ID_DATA_USER_ACCEPTED, 0);
- bUserAccepted = *((PBOOLEAN)pObj->Value);
-
- if(P2PSvc_PDSessionInProgress(pP2PSvcInfo, &pPDEntry))
- {
- P2PSvc_RspdorSetFOPDReq(pP2PSvcInfo, pPDEntry, bUserAccepted);
- }
- else
- {
- rtStatus = RT_STATUS_INVALID_STATE;
- RT_TRACE_F(COMP_P2P, DBG_LOUD, ("No PD session in progress\n"));
- break;
- }
- }while(FALSE);
-
- PLATFORM_RELEASE_RT_SPINLOCK(pP2PSvcInfo->lock);
-
- P2PSVC_FUNC_OUT(DBG_LOUD, rtStatus);
-
- return rtStatus;
-}
-
-#endif // #if (P2PSVC_SUPPORT == 1)
-#endif // #if (P2P_SUPPORT == 1)