phStatus_t phpalFelica_ReqC( void* pDataParams, uint8_t* pSystemCode, uint8_t bTimeSlot, uint8_t* pRxBuffer ) { phStatus_t PH_MEMLOC_REM status; PH_LOG_HELPER_ALLOCATE_TEXT(bFunctionName, "phpalFelica_ReqC"); PH_LOG_HELPER_ALLOCATE_PARAMNAME(pSystemCode); PH_LOG_HELPER_ALLOCATE_PARAMNAME(bTimeSlot); PH_LOG_HELPER_ALLOCATE_PARAMNAME(pRxBuffer); PH_LOG_HELPER_ALLOCATE_PARAMNAME(status); PH_LOG_HELPER_ADDSTRING(PH_LOG_LOGTYPE_INFO, bFunctionName); PH_LOG_HELPER_ADDPARAM_BUFFER(PH_LOG_LOGTYPE_INFO, pSystemCode_log, pSystemCode, 2); PH_LOG_HELPER_ADDPARAM_UINT8(PH_LOG_LOGTYPE_INFO, bTimeSlot_log, &bTimeSlot); PH_LOG_HELPER_EXECUTE(PH_LOG_OPTION_CATEGORY_ENTER); PH_ASSERT_NULL (pDataParams); PH_ASSERT_NULL (pSystemCode); PH_ASSERT_NULL (pRxBuffer); /* Check data parameters */ if (PH_GET_COMPCODE(pDataParams) != PH_COMP_PAL_FELICA) { status = PH_ADD_COMPCODE(PH_ERR_INVALID_DATA_PARAMS, PH_COMP_PAL_FELICA); PH_LOG_HELPER_ADDSTRING(PH_LOG_LOGTYPE_INFO, bFunctionName); PH_LOG_HELPER_ADDPARAM_UINT16(PH_LOG_LOGTYPE_INFO, status_log, &status); PH_LOG_HELPER_EXECUTE(PH_LOG_OPTION_CATEGORY_LEAVE); return status; } /* perform operation on active layer */ switch (PH_GET_COMPID(pDataParams)) { #ifdef NXPBUILD__PHPAL_FELICA_SW case PHPAL_FELICA_SW_ID: status = phpalFelica_Sw_ReqC((phpalFelica_Sw_DataParams_t *)pDataParams, pSystemCode, bTimeSlot, pRxBuffer); break; #endif /* NXPBUILD__PHPAL_FELICA_SW */ default: status = PH_ADD_COMPCODE(PH_ERR_INVALID_DATA_PARAMS, PH_COMP_PAL_FELICA); break; } PH_LOG_HELPER_ADDSTRING(PH_LOG_LOGTYPE_INFO, bFunctionName); #ifdef NXPBUILD__PH_LOG if ((status & PH_ERR_MASK) == PH_ERR_SUCCESS) { PH_LOG_HELPER_ADDPARAM_BUFFER(PH_LOG_LOGTYPE_DEBUG, pRxBuffer_log, pRxBuffer, PHPAL_FELICA_IDM_LENGTH + PHPAL_FELICA_PMM_LENGTH); } #endif PH_LOG_HELPER_ADDPARAM_UINT16(PH_LOG_LOGTYPE_INFO, status_log, &status); PH_LOG_HELPER_EXECUTE(PH_LOG_OPTION_CATEGORY_LEAVE); return status; }
phStatus_t phpalEpcUid_Destroy( void * pDataParams, uint8_t bTagType, uint8_t* pData, uint8_t bDataLength, uint8_t* pDestroyCode ) { phStatus_t PH_MEMLOC_REM status; PH_LOG_HELPER_ALLOCATE_TEXT(bFunctionName, "phpalEpcUid_Destroy"); /*PH_LOG_HELPER_ALLOCATE_PARAMNAME(pDataParams);*/ PH_LOG_HELPER_ALLOCATE_PARAMNAME(bTagType); PH_LOG_HELPER_ALLOCATE_PARAMNAME(pData); PH_LOG_HELPER_ALLOCATE_PARAMNAME(pDestroyCode); PH_LOG_HELPER_ALLOCATE_PARAMNAME(status); PH_LOG_HELPER_ADDSTRING(PH_LOG_LOGTYPE_INFO, bFunctionName); PH_LOG_HELPER_ADDPARAM_UINT8(PH_LOG_LOGTYPE_DEBUG, bTagType_log, &bTagType); PH_LOG_HELPER_ADDPARAM_BUFFER(PH_LOG_LOGTYPE_DEBUG, pData_log, pData, bDataLength); PH_LOG_HELPER_ADDPARAM_BUFFER(PH_LOG_LOGTYPE_DEBUG, pDestroyCode_log, pDestroyCode, 3); PH_LOG_HELPER_EXECUTE(PH_LOG_OPTION_CATEGORY_ENTER); PH_ASSERT_NULL (pDataParams); PH_ASSERT_NULL (pData); PH_ASSERT_NULL (pDestroyCode); /* Check data parameters */ if (PH_GET_COMPCODE(pDataParams) != PH_COMP_PAL_EPCUID) { PH_LOG_HELPER_ADDSTRING(PH_LOG_LOGTYPE_INFO, bFunctionName); PH_LOG_HELPER_ADDPARAM_UINT16(PH_LOG_LOGTYPE_INFO, status_log, &status); PH_LOG_HELPER_EXECUTE(PH_LOG_OPTION_CATEGORY_LEAVE); return PH_ADD_COMPCODE(PH_ERR_INVALID_DATA_PARAMS, PH_COMP_PAL_EPCUID); } /* perform operation on active layer */ switch (PH_GET_COMPID(pDataParams)) { #ifdef NXPBUILD__PHPAL_EPCUID_SW case PHPAL_EPCUID_SW_ID: status = phpalEpcUid_Sw_Destroy( (phpalEpcUid_Sw_DataParams_t *)pDataParams, bTagType, pData, bDataLength, pDestroyCode); break; #endif /* NXPBUILD__PHPAL_EPCUID_SW */ default: status = PH_ADD_COMPCODE(PH_ERR_INVALID_DATA_PARAMS, PH_COMP_PAL_EPCUID); break; } PH_LOG_HELPER_ADDSTRING(PH_LOG_LOGTYPE_INFO, bFunctionName); PH_LOG_HELPER_ADDPARAM_UINT16(PH_LOG_LOGTYPE_INFO, status_log, &status); PH_LOG_HELPER_EXECUTE(PH_LOG_OPTION_CATEGORY_LEAVE); return status; }
phStatus_t phalSli_EASAlarm( void * pDataParams, uint8_t bOption, uint8_t * pEasIdValue, uint8_t bEasIdMaskLength, uint8_t * pEas ) { phStatus_t PH_MEMLOC_REM status; PH_LOG_HELPER_ALLOCATE_TEXT(bFunctionName, "phalSli_EASAlarm"); /*PH_LOG_HELPER_ALLOCATE_PARAMNAME(pDataParams);*/ PH_LOG_HELPER_ALLOCATE_PARAMNAME(bOption); PH_LOG_HELPER_ALLOCATE_PARAMNAME(pEasIdValue); PH_LOG_HELPER_ALLOCATE_PARAMNAME(pEas); PH_LOG_HELPER_ALLOCATE_PARAMNAME(status); PH_LOG_HELPER_ADDSTRING(PH_LOG_LOGTYPE_INFO, bFunctionName); PH_LOG_HELPER_ADDPARAM_UINT8(PH_LOG_LOGTYPE_DEBUG, bOption_log, &bOption); PH_LOG_HELPER_ADDPARAM_BUFFER(PH_LOG_LOGTYPE_DEBUG, pEasIdValue_log, pEasIdValue, bEasIdMaskLength); PH_LOG_HELPER_EXECUTE(PH_LOG_OPTION_CATEGORY_ENTER); PH_ASSERT_NULL (pDataParams); PH_ASSERT_NULL (pEasIdValue); PH_ASSERT_NULL (pEas); if (PH_GET_COMPCODE(pDataParams) != PH_COMP_AL_SLI) { PH_LOG_HELPER_ADDSTRING(PH_LOG_LOGTYPE_INFO, bFunctionName); PH_LOG_HELPER_ADDPARAM_UINT16(PH_LOG_LOGTYPE_INFO, status_log, &status); PH_LOG_HELPER_EXECUTE(PH_LOG_OPTION_CATEGORY_LEAVE); return PH_ADD_COMPCODE(PH_ERR_INVALID_DATA_PARAMS, PH_COMP_AL_SLI); } /* perform operation on active layer */ switch (PH_GET_COMPID(pDataParams)) { #ifdef NXPBUILD__PHAL_SLI_SW case PHAL_SLI_SW_ID: status = phalSli_Sw_EASAlarm((phalSli_Sw_DataParams_t *)pDataParams, bOption, pEasIdValue, bEasIdMaskLength, pEas); break; #endif /* NXPBUILD__PHAL_SLI_SW */ default: status = PH_ADD_COMPCODE(PH_ERR_INVALID_DATA_PARAMS, PH_COMP_AL_SLI); break; } PH_LOG_HELPER_ADDSTRING(PH_LOG_LOGTYPE_INFO, bFunctionName); #ifdef NXPBUILD__PH_LOG if ( (status & PH_ERR_MASK) == PH_ERR_SUCCESS) { PH_LOG_HELPER_ADDPARAM_BUFFER(PH_LOG_LOGTYPE_DEBUG, pEas_log, pEas, 32); } #endif PH_LOG_HELPER_ADDPARAM_UINT16(PH_LOG_LOGTYPE_INFO, status_log, &status); PH_LOG_HELPER_EXECUTE(PH_LOG_OPTION_CATEGORY_LEAVE); return status; }
phStatus_t phalFelica_Write( void * pDataParams, uint8_t bNumServices, uint8_t* pServiceList, uint8_t bNumBlocks, uint8_t* pBlockList, uint8_t bBlockListLength, uint8_t* pBlockData ) { phStatus_t PH_MEMLOC_REM status; PH_LOG_HELPER_ALLOCATE_TEXT(bFunctionName, "phalFelica_Write"); PH_LOG_HELPER_ALLOCATE_PARAMNAME(pServiceList); PH_LOG_HELPER_ALLOCATE_PARAMNAME(pBlockData); PH_LOG_HELPER_ALLOCATE_PARAMNAME(status); PH_LOG_HELPER_ADDPARAM_BUFFER(PH_LOG_LOGTYPE_INFO, pServiceList_log, pServiceList, bNumServices); PH_LOG_HELPER_ADDPARAM_BUFFER(PH_LOG_LOGTYPE_INFO, pBlockData_log, pBlockData, bBlockListLength); PH_LOG_HELPER_ADDSTRING(PH_LOG_LOGTYPE_INFO, bFunctionName); PH_LOG_HELPER_EXECUTE(PH_LOG_OPTION_CATEGORY_ENTER); PH_ASSERT_NULL (pDataParams); PH_ASSERT_NULL (pServiceList); PH_ASSERT_NULL (pBlockList); PH_ASSERT_NULL (pBlockData); /* Check data parameters */ if (PH_GET_COMPCODE(pDataParams) != PH_COMP_AL_FELICA) { status = PH_ADD_COMPCODE(PH_ERR_INVALID_DATA_PARAMS, PH_COMP_AL_FELICA); PH_LOG_HELPER_ADDSTRING(PH_LOG_LOGTYPE_INFO, bFunctionName); PH_LOG_HELPER_ADDPARAM_UINT16(PH_LOG_LOGTYPE_INFO, status_log, &status); PH_LOG_HELPER_EXECUTE(PH_LOG_OPTION_CATEGORY_LEAVE); return status; } /* perform operation on active layer */ switch (PH_GET_COMPID(pDataParams)) { #ifdef NXPBUILD__PHAL_FELICA_SW case PHAL_FELICA_SW_ID: status = phalFelica_Sw_Write((phalFelica_Sw_DataParams_t *)pDataParams, bNumServices, pServiceList, bNumBlocks, pBlockList, bBlockListLength, pBlockData); break; #endif /* NXPBUILD__PHAL_FELICA_SW */ default: status = PH_ADD_COMPCODE(PH_ERR_INVALID_DATA_PARAMS, PH_COMP_AL_FELICA); break; } PH_LOG_HELPER_ADDSTRING(PH_LOG_LOGTYPE_INFO, bFunctionName); PH_LOG_HELPER_ADDPARAM_UINT16(PH_LOG_LOGTYPE_INFO, status_log, &status); PH_LOG_HELPER_EXECUTE(PH_LOG_OPTION_CATEGORY_LEAVE); return status; }
phStatus_t phalMful_CompatibilityWrite( void * pDataParams, uint8_t bAddress, uint8_t * pData ) { phStatus_t PH_MEMLOC_REM status; PH_LOG_HELPER_ALLOCATE_TEXT(bFunctionName, "phalMful_CompatibilityWrite"); /*PH_LOG_HELPER_ALLOCATE_PARAMNAME(pDataParams);*/ PH_LOG_HELPER_ALLOCATE_PARAMNAME(bAddress); PH_LOG_HELPER_ALLOCATE_PARAMNAME(pData); PH_LOG_HELPER_ALLOCATE_PARAMNAME(status); PH_LOG_HELPER_ADDSTRING(PH_LOG_LOGTYPE_INFO, bFunctionName); PH_LOG_HELPER_ADDPARAM_UINT8(PH_LOG_LOGTYPE_DEBUG, bAddress_log, &bAddress); PH_LOG_HELPER_ADDPARAM_BUFFER(PH_LOG_LOGTYPE_DEBUG, pData_log, pData, PHAL_MFUL_WRITE_BLOCK_LENGTH); PH_LOG_HELPER_EXECUTE(PH_LOG_OPTION_CATEGORY_ENTER); PH_ASSERT_NULL (pDataParams); PH_ASSERT_NULL (pData); if (PH_GET_COMPCODE(pDataParams) != PH_COMP_AL_MFUL) { PH_LOG_HELPER_ADDSTRING(PH_LOG_LOGTYPE_INFO, bFunctionName); PH_LOG_HELPER_ADDPARAM_UINT16(PH_LOG_LOGTYPE_INFO, status_log, &status); PH_LOG_HELPER_EXECUTE(PH_LOG_OPTION_CATEGORY_LEAVE); return PH_ADD_COMPCODE(PH_ERR_INVALID_DATA_PARAMS, PH_COMP_AL_MFUL); } /* perform operation on active layer */ switch (PH_GET_COMPID(pDataParams)) { #ifdef NXPBUILD__PHAL_MFUL_SW case PHAL_MFUL_SW_ID: status = phalMful_Sw_CompatibilityWrite((phalMful_Sw_DataParams_t *)pDataParams, bAddress, pData); break; #endif /* NXPBUILD__PHAL_MFUL_SW */ #ifdef NXPBUILD__PHAL_MFUL_SAMAV2 case PHAL_MFUL_SAMAV2_ID: status = phalMful_SamAV2_CompatibilityWrite((phalMful_SamAV2_DataParams_t *)pDataParams, bAddress, pData); break; #endif /* NXPBUILD__PHAL_MFUL_SAMAV2 */ #ifdef NXPBUILD__PHAL_MFUL_SAMAV2_X case PHAL_MFUL_SAMAV2_X_ID: status = phalMful_SamAV2_X_CompatibilityWrite((phalMful_SamAV2_X_DataParams_t *)pDataParams, bAddress, pData); break; #endif /* NXPBUILD__PHAL_MFUL_SAMAV2_X */ default: status = PH_ADD_COMPCODE(PH_ERR_INVALID_DATA_PARAMS, PH_COMP_AL_MFUL); break; } PH_LOG_HELPER_ADDSTRING(PH_LOG_LOGTYPE_INFO, bFunctionName); PH_LOG_HELPER_ADDPARAM_UINT16(PH_LOG_LOGTYPE_INFO, status_log, &status); PH_LOG_HELPER_EXECUTE(PH_LOG_OPTION_CATEGORY_LEAVE); return status; }
phStatus_t phalMfc_Authenticate( void * pDataParams, uint8_t bBlockNo, uint8_t bKeyType, uint16_t wKeyNumber, uint16_t wKeyVersion, uint8_t * pUid, uint8_t bUidLength ) { phStatus_t PH_MEMLOC_REM status; PH_LOG_HELPER_ALLOCATE_TEXT(bFunctionName, "phalMfc_Authenticate"); /*PH_LOG_HELPER_ALLOCATE_PARAMNAME(pDataParams);*/ PH_LOG_HELPER_ALLOCATE_PARAMNAME(bBlockNo); PH_LOG_HELPER_ALLOCATE_PARAMNAME(bKeyType); PH_LOG_HELPER_ALLOCATE_PARAMNAME(wKeyNumber); PH_LOG_HELPER_ALLOCATE_PARAMNAME(wKeyVersion); PH_LOG_HELPER_ALLOCATE_PARAMNAME(pUid); PH_LOG_HELPER_ALLOCATE_PARAMNAME(status); PH_LOG_HELPER_ADDSTRING(PH_LOG_LOGTYPE_INFO, bFunctionName); PH_LOG_HELPER_ADDPARAM_UINT8(PH_LOG_LOGTYPE_DEBUG, bBlockNo_log, &bBlockNo); PH_LOG_HELPER_ADDPARAM_UINT8(PH_LOG_LOGTYPE_DEBUG, bKeyType_log, &bKeyType); PH_LOG_HELPER_ADDPARAM_UINT16(PH_LOG_LOGTYPE_DEBUG, wKeyNumber_log, &wKeyNumber); PH_LOG_HELPER_ADDPARAM_UINT16(PH_LOG_LOGTYPE_DEBUG, wKeyVersion_log, &wKeyVersion); PH_LOG_HELPER_ADDPARAM_BUFFER(PH_LOG_LOGTYPE_DEBUG, pUid_log, pUid, bUidLength); PH_LOG_HELPER_EXECUTE(PH_LOG_OPTION_CATEGORY_ENTER); PH_ASSERT_NULL (pDataParams); PH_ASSERT_NULL (pUid); if (PH_GET_COMPCODE(pDataParams) != PH_COMP_AL_MFC) { PH_LOG_HELPER_ADDSTRING(PH_LOG_LOGTYPE_INFO, bFunctionName); PH_LOG_HELPER_ADDPARAM_UINT16(PH_LOG_LOGTYPE_INFO, status_log, &status); PH_LOG_HELPER_EXECUTE(PH_LOG_OPTION_CATEGORY_LEAVE); return PH_ADD_COMPCODE(PH_ERR_INVALID_DATA_PARAMS, PH_COMP_AL_MFC); } /* perform operation on active layer */ switch (PH_GET_COMPID(pDataParams)) { #ifdef NXPBUILD__PHAL_MFC_SW case PHAL_MFC_SW_ID: status = phalMfc_Sw_Authenticate((phalMfc_Sw_DataParams_t *)pDataParams, bBlockNo, bKeyType, wKeyNumber, wKeyVersion, pUid, bUidLength); break; #endif /* NXPBUILD__PHAL_MFC_SW */ default: status = PH_ADD_COMPCODE(PH_ERR_INVALID_DATA_PARAMS, PH_COMP_AL_MFC); break; } PH_LOG_HELPER_ADDSTRING(PH_LOG_LOGTYPE_INFO, bFunctionName); PH_LOG_HELPER_ADDPARAM_UINT16(PH_LOG_LOGTYPE_INFO, status_log, &status); PH_LOG_HELPER_EXECUTE(PH_LOG_OPTION_CATEGORY_LEAVE); return status; }
phStatus_t phalMfc_ReadValue( void * pDataParams, uint8_t bBlockNo, uint8_t * pValue, uint8_t * pAddrData ) { phStatus_t PH_MEMLOC_REM status; PH_LOG_HELPER_ALLOCATE_TEXT(bFunctionName, "phalMfc_ReadValue"); /*PH_LOG_HELPER_ALLOCATE_PARAMNAME(pDataParams);*/ PH_LOG_HELPER_ALLOCATE_PARAMNAME(bBlockNo); PH_LOG_HELPER_ALLOCATE_PARAMNAME(pValue); PH_LOG_HELPER_ALLOCATE_PARAMNAME(pAddrData); PH_LOG_HELPER_ALLOCATE_PARAMNAME(status); PH_LOG_HELPER_ADDSTRING(PH_LOG_LOGTYPE_INFO, bFunctionName); PH_LOG_HELPER_ADDPARAM_UINT8(PH_LOG_LOGTYPE_DEBUG, bBlockNo_log, &bBlockNo); PH_LOG_HELPER_EXECUTE(PH_LOG_OPTION_CATEGORY_ENTER); PH_ASSERT_NULL (pDataParams); PH_ASSERT_NULL (pValue); PH_ASSERT_NULL (pAddrData); if (PH_GET_COMPCODE(pDataParams) != PH_COMP_AL_MFC) { PH_LOG_HELPER_ADDSTRING(PH_LOG_LOGTYPE_INFO, bFunctionName); PH_LOG_HELPER_ADDPARAM_UINT16(PH_LOG_LOGTYPE_INFO, status_log, &status); PH_LOG_HELPER_EXECUTE(PH_LOG_OPTION_CATEGORY_LEAVE); return PH_ADD_COMPCODE(PH_ERR_INVALID_DATA_PARAMS, PH_COMP_AL_MFC); } /* perform operation on active layer */ switch (PH_GET_COMPID(pDataParams)) { #ifdef NXPBUILD__PHAL_MFC_SW case PHAL_MFC_SW_ID: status = phalMfc_Sw_ReadValue((phalMfc_Sw_DataParams_t *)pDataParams, bBlockNo, pValue, pAddrData); break; #endif /* NXPBUILD__PHAL_MFC_SW */ default: status = PH_ADD_COMPCODE(PH_ERR_INVALID_DATA_PARAMS, PH_COMP_AL_MFC); break; } PH_LOG_HELPER_ADDSTRING(PH_LOG_LOGTYPE_INFO, bFunctionName); #ifdef NXPBUILD__PH_LOG if ((status & PH_ERR_MASK) == PH_ERR_SUCCESS) { PH_LOG_HELPER_ADDPARAM_BUFFER(PH_LOG_LOGTYPE_DEBUG, pValue_log, pValue, 4); PH_LOG_HELPER_ADDPARAM_UINT8(PH_LOG_LOGTYPE_DEBUG, pAddrData_log, pAddrData); } #endif PH_LOG_HELPER_ADDPARAM_UINT16(PH_LOG_LOGTYPE_INFO, status_log, &status); PH_LOG_HELPER_EXECUTE(PH_LOG_OPTION_CATEGORY_LEAVE); return status; }
phStatus_t phalSli_GetMultipleBlockProtStatus( void * pDataParams, uint8_t bBlockNo, uint16_t wNumBlocks, uint8_t * pProtectionStates, uint8_t * pNumReceivedStates ) { phStatus_t PH_MEMLOC_REM status; PH_LOG_HELPER_ALLOCATE_TEXT(bFunctionName, "phalSli_GetMultipleBlockProtStatus"); /*PH_LOG_HELPER_ALLOCATE_PARAMNAME(pDataParams);*/ PH_LOG_HELPER_ALLOCATE_PARAMNAME(bBlockNo); PH_LOG_HELPER_ALLOCATE_PARAMNAME(wNumBlocks); PH_LOG_HELPER_ALLOCATE_PARAMNAME(pProtectionStates); PH_LOG_HELPER_ALLOCATE_PARAMNAME(status); PH_LOG_HELPER_ADDSTRING(PH_LOG_LOGTYPE_INFO, bFunctionName); PH_LOG_HELPER_ADDPARAM_UINT8(PH_LOG_LOGTYPE_DEBUG, bBlockNo_log, &bBlockNo); PH_LOG_HELPER_ADDPARAM_UINT16(PH_LOG_LOGTYPE_DEBUG, wNumBlocks_log, &wNumBlocks); PH_LOG_HELPER_EXECUTE(PH_LOG_OPTION_CATEGORY_ENTER); PH_ASSERT_NULL (pDataParams); PH_ASSERT_NULL (pProtectionStates); PH_ASSERT_NULL (pNumReceivedStates); if (PH_GET_COMPCODE(pDataParams) != PH_COMP_AL_SLI) { PH_LOG_HELPER_ADDSTRING(PH_LOG_LOGTYPE_INFO, bFunctionName); PH_LOG_HELPER_ADDPARAM_UINT16(PH_LOG_LOGTYPE_INFO, status_log, &status); PH_LOG_HELPER_EXECUTE(PH_LOG_OPTION_CATEGORY_LEAVE); return PH_ADD_COMPCODE(PH_ERR_INVALID_DATA_PARAMS, PH_COMP_AL_SLI); } /* perform operation on active layer */ switch (PH_GET_COMPID(pDataParams)) { #ifdef NXPBUILD__PHAL_SLI_SW case PHAL_SLI_SW_ID: status = phalSli_Sw_GetMultipleBlockProtStatus((phalSli_Sw_DataParams_t *)pDataParams, bBlockNo, wNumBlocks, pProtectionStates, pNumReceivedStates); break; #endif /* NXPBUILD__PHAL_SLI_SW */ default: status = PH_ADD_COMPCODE(PH_ERR_INVALID_DATA_PARAMS, PH_COMP_AL_SLI); break; } PH_LOG_HELPER_ADDSTRING(PH_LOG_LOGTYPE_INFO, bFunctionName); #ifdef NXPBUILD__PH_LOG if ( (status & PH_ERR_MASK) == PH_ERR_SUCCESS) { PH_LOG_HELPER_ADDPARAM_BUFFER(PH_LOG_LOGTYPE_DEBUG, pProtectionStates_log, pProtectionStates, *pNumReceivedStates); } #endif PH_LOG_HELPER_ADDPARAM_UINT16(PH_LOG_LOGTYPE_INFO, status_log, &status); PH_LOG_HELPER_EXECUTE(PH_LOG_OPTION_CATEGORY_LEAVE); return status; }
phStatus_t phpalI14443p3b_SlotMarker( void * pDataParams, uint8_t bSlotNumber, uint8_t * pAtqb, uint8_t * pAtqbLen ) { phStatus_t PH_MEMLOC_REM status; PH_LOG_HELPER_ALLOCATE_TEXT(bFunctionName, "phpalI14443p3b_SlotMarker"); /*PH_LOG_HELPER_ALLOCATE_PARAMNAME(pDataParams);*/ PH_LOG_HELPER_ALLOCATE_PARAMNAME(bSlotNumber); PH_LOG_HELPER_ALLOCATE_PARAMNAME(pAtqb); PH_LOG_HELPER_ALLOCATE_PARAMNAME(status); PH_LOG_HELPER_ADDSTRING(PH_LOG_LOGTYPE_INFO, bFunctionName); PH_LOG_HELPER_ADDPARAM_UINT8(PH_LOG_LOGTYPE_DEBUG, bSlotNumber_log, &bSlotNumber); PH_LOG_HELPER_EXECUTE(PH_LOG_OPTION_CATEGORY_ENTER); PH_ASSERT_NULL (pDataParams); PH_ASSERT_NULL (pAtqb); PH_ASSERT_NULL (pAtqbLen); /* Check data parameters */ if (PH_GET_COMPCODE(pDataParams) != PH_COMP_PAL_ISO14443P3B) { PH_LOG_HELPER_ADDSTRING(PH_LOG_LOGTYPE_INFO, bFunctionName); PH_LOG_HELPER_ADDPARAM_UINT16(PH_LOG_LOGTYPE_INFO, status_log, &status); PH_LOG_HELPER_EXECUTE(PH_LOG_OPTION_CATEGORY_LEAVE); return PH_ADD_COMPCODE(PH_ERR_INVALID_DATA_PARAMS, PH_COMP_PAL_ISO14443P3B); } /* perform operation on active layer */ switch (PH_GET_COMPID(pDataParams)) { #ifdef NXPBUILD__PHPAL_I14443P3B_SW case PHPAL_I14443P3B_SW_ID: status = phpalI14443p3b_Sw_SlotMarker((phpalI14443p3b_Sw_DataParams_t *)pDataParams, bSlotNumber, pAtqb, pAtqbLen); break; #endif /* NXPBUILD__PHPAL_I14443P3B_SW */ default: status = PH_ADD_COMPCODE(PH_ERR_INVALID_DATA_PARAMS, PH_COMP_PAL_ISO14443P3B); break; } PH_LOG_HELPER_ADDSTRING(PH_LOG_LOGTYPE_INFO, bFunctionName); #ifdef NXPBUILD__PH_LOG if ((status & PH_ERR_MASK) == PH_ERR_SUCCESS) { PH_LOG_HELPER_ADDPARAM_BUFFER(PH_LOG_LOGTYPE_DEBUG, pAtqb_log, pAtqb, *pAtqbLen); } #endif PH_LOG_HELPER_ADDPARAM_UINT16(PH_LOG_LOGTYPE_INFO, status_log, &status); PH_LOG_HELPER_EXECUTE(PH_LOG_OPTION_CATEGORY_LEAVE); return status; }
phStatus_t phpalEpcUid_GetSerialNo( void * pDataParams, uint8_t* pRxBuffer, uint8_t* pRxLength ) { phStatus_t PH_MEMLOC_REM status; PH_LOG_HELPER_ALLOCATE_TEXT(bFunctionName, "phpalEpcUid_GetSerialNo"); /*PH_LOG_HELPER_ALLOCATE_PARAMNAME(pDataParams);*/ PH_LOG_HELPER_ALLOCATE_PARAMNAME(pRxBuffer); PH_LOG_HELPER_ALLOCATE_PARAMNAME(status); PH_LOG_HELPER_ADDSTRING(PH_LOG_LOGTYPE_INFO, bFunctionName); PH_LOG_HELPER_EXECUTE(PH_LOG_OPTION_CATEGORY_ENTER); PH_ASSERT_NULL (pDataParams); PH_ASSERT_NULL (pRxBuffer); PH_ASSERT_NULL (pRxLength); /* Check data parameters */ if (PH_GET_COMPCODE(pDataParams) != PH_COMP_PAL_EPCUID) { PH_LOG_HELPER_ADDSTRING(PH_LOG_LOGTYPE_INFO, bFunctionName); PH_LOG_HELPER_ADDPARAM_UINT16(PH_LOG_LOGTYPE_INFO, status_log, &status); PH_LOG_HELPER_EXECUTE(PH_LOG_OPTION_CATEGORY_LEAVE); return PH_ADD_COMPCODE(PH_ERR_INVALID_DATA_PARAMS, PH_COMP_PAL_EPCUID); } /* perform operation on active layer */ switch (PH_GET_COMPID(pDataParams)) { #ifdef NXPBUILD__PHPAL_EPCUID_SW case PHPAL_EPCUID_SW_ID: status = phpalEpcUid_Sw_GetSerialNo( (phpalEpcUid_Sw_DataParams_t *)pDataParams, pRxBuffer, pRxLength); break; #endif /* NXPBUILD__PHPAL_EPCUID_SW */ default: status = PH_ADD_COMPCODE(PH_ERR_INVALID_DATA_PARAMS, PH_COMP_PAL_EPCUID); break; } PH_LOG_HELPER_ADDSTRING(PH_LOG_LOGTYPE_INFO, bFunctionName); #ifdef NXPBUILD__PH_LOG if ((status & PH_ERR_MASK) == PH_ERR_SUCCESS) { PH_LOG_HELPER_ADDPARAM_BUFFER(PH_LOG_LOGTYPE_DEBUG, pRxBuffer_log, pRxBuffer, *pRxLength); } #endif PH_LOG_HELPER_ADDPARAM_UINT16(PH_LOG_LOGTYPE_INFO, status_log, &status); PH_LOG_HELPER_EXECUTE(PH_LOG_OPTION_CATEGORY_LEAVE); return status; }
phStatus_t phpalI14443p3b_SetHigherLayerInf( void * pDataParams, uint8_t * pTxBuffer, uint16_t wTxLength, uint8_t * pRxBuffer, uint16_t wRxBufSize ) { phStatus_t PH_MEMLOC_REM status; PH_LOG_HELPER_ALLOCATE_TEXT(bFunctionName, "phpalI14443p3b_SetHigherLayerInf"); /*PH_LOG_HELPER_ALLOCATE_PARAMNAME(pDataParams);*/ PH_LOG_HELPER_ALLOCATE_PARAMNAME(pTxBuffer); PH_LOG_HELPER_ALLOCATE_PARAMNAME(wRxBufSize); PH_LOG_HELPER_ALLOCATE_PARAMNAME(status); PH_LOG_HELPER_ADDSTRING(PH_LOG_LOGTYPE_INFO, bFunctionName); PH_LOG_HELPER_ADDPARAM_BUFFER(PH_LOG_LOGTYPE_DEBUG, pTxBuffer_log, pTxBuffer, wTxLength); PH_LOG_HELPER_ADDPARAM_UINT16(PH_LOG_LOGTYPE_DEBUG, wRxBufSize_log, &wRxBufSize); PH_LOG_HELPER_EXECUTE(PH_LOG_OPTION_CATEGORY_ENTER); PH_ASSERT_NULL (pDataParams); PH_ASSERT_NULL (pTxBuffer); /* Check data parameters */ if (PH_GET_COMPCODE(pDataParams) != PH_COMP_PAL_ISO14443P3B) { PH_LOG_HELPER_ADDSTRING(PH_LOG_LOGTYPE_INFO, bFunctionName); PH_LOG_HELPER_ADDPARAM_UINT16(PH_LOG_LOGTYPE_INFO, status_log, &status); PH_LOG_HELPER_EXECUTE(PH_LOG_OPTION_CATEGORY_LEAVE); return PH_ADD_COMPCODE(PH_ERR_INVALID_DATA_PARAMS, PH_COMP_PAL_ISO14443P3B); } /* perform operation on active layer */ switch (PH_GET_COMPID(pDataParams)) { #ifdef NXPBUILD__PHPAL_I14443P3B_SW case PHPAL_I14443P3B_SW_ID: status = phpalI14443p3b_Sw_SetHigherLayerInf((phpalI14443p3b_Sw_DataParams_t *)pDataParams, pTxBuffer, wTxLength, pRxBuffer, wRxBufSize); break; #endif /* NXPBUILD__PHPAL_I14443P3B_SW */ default: status = PH_ADD_COMPCODE(PH_ERR_INVALID_DATA_PARAMS, PH_COMP_PAL_ISO14443P3B); break; } PH_LOG_HELPER_ADDSTRING(PH_LOG_LOGTYPE_INFO, bFunctionName); PH_LOG_HELPER_ADDPARAM_UINT16(PH_LOG_LOGTYPE_INFO, status_log, &status); PH_LOG_HELPER_EXECUTE(PH_LOG_OPTION_CATEGORY_LEAVE); return status; }
phStatus_t phpalI18092mT_AtrRes( void * pDataParams, uint8_t * pAtr, uint16_t wAtrLength ) { phStatus_t PH_MEMLOC_REM status; PH_LOG_HELPER_ALLOCATE_TEXT(bFunctionName, "phpalI18092mT_AtrRes"); PH_LOG_HELPER_ALLOCATE_PARAMNAME(pAtr); PH_LOG_HELPER_ALLOCATE_PARAMNAME(status); PH_LOG_HELPER_ADDSTRING(PH_LOG_LOGTYPE_INFO, bFunctionName); PH_LOG_HELPER_ADDPARAM_BUFFER(PH_LOG_LOGTYPE_DEBUG, pAtr_log, pAtr, wAtrLength); PH_LOG_HELPER_EXECUTE(PH_LOG_OPTION_CATEGORY_ENTER); PH_ASSERT_NULL (pDataParams); PH_ASSERT_NULL (pAtr); /* Check data parameters */ if (PH_GET_COMPCODE(pDataParams) != PH_COMP_PAL_I18092MT) { status = PH_ADD_COMPCODE(PH_ERR_INVALID_DATA_PARAMS, PH_COMP_PAL_I18092MT); PH_LOG_HELPER_ADDSTRING(PH_LOG_LOGTYPE_INFO, bFunctionName); PH_LOG_HELPER_ADDPARAM_UINT16(PH_LOG_LOGTYPE_INFO, status_log, &status); PH_LOG_HELPER_EXECUTE(PH_LOG_OPTION_CATEGORY_LEAVE); return status; } /* perform operation on active layer */ switch (PH_GET_COMPID(pDataParams)) { #ifdef NXPBUILD__PHPAL_I18092MT_SW case PHPAL_I18092MT_SW_ID: status = phpalI18092mT_Sw_AtrRes( (phpalI18092mT_Sw_DataParams_t *)pDataParams, pAtr, wAtrLength); break; #endif /* NXPBUILD__PHPAL_I18092MT_SW */ default: status = PH_ADD_COMPCODE(PH_ERR_INVALID_DATA_PARAMS, PH_COMP_PAL_I18092MT); break; } PH_LOG_HELPER_ADDSTRING(PH_LOG_LOGTYPE_INFO, bFunctionName); PH_LOG_HELPER_ADDPARAM_UINT16(PH_LOG_LOGTYPE_INFO, status_log, &status); PH_LOG_HELPER_EXECUTE(PH_LOG_OPTION_CATEGORY_LEAVE); return status; }
phStatus_t phalTop_ReadNdef( void * pDataParams, uint8_t * pData, uint16_t * pLength ) { phStatus_t PH_MEMLOC_REM status; PH_LOG_HELPER_ALLOCATE_TEXT(bFunctionName, "phalTop_ReadNdef"); PH_LOG_HELPER_ALLOCATE_PARAMNAME(pData); PH_LOG_HELPER_ALLOCATE_PARAMNAME(status); PH_LOG_HELPER_ADDSTRING(PH_LOG_LOGTYPE_INFO, bFunctionName); PH_LOG_HELPER_EXECUTE(PH_LOG_OPTION_CATEGORY_ENTER); PH_ASSERT_NULL (pDataParams); PH_ASSERT_NULL (pData); PH_ASSERT_NULL (pLength); /* Check data parameters */ if (PH_GET_COMPCODE(pDataParams) != PH_COMP_AL_TOP) { PH_LOG_HELPER_ADDSTRING(PH_LOG_LOGTYPE_INFO, bFunctionName); status = PH_ADD_COMPCODE(PH_ERR_INVALID_DATA_PARAMS, PH_COMP_AL_TOP); PH_LOG_HELPER_ADDPARAM_UINT16(PH_LOG_LOGTYPE_INFO, status_log, &status); PH_LOG_HELPER_EXECUTE(PH_LOG_OPTION_CATEGORY_LEAVE); return PH_ADD_COMPCODE(PH_ERR_INVALID_DATA_PARAMS, PH_COMP_AL_TOP); } switch (PH_GET_COMPID(pDataParams)) { #ifdef NXPBUILD__PHAL_TOP_SW case PHAL_TOP_SW_ID: status = phalTop_Sw_ReadNdef(pDataParams, pData, pLength); break; #endif /* NXPBUILD__PHAL_TOP_SW */ default: status = PH_ADD_COMPCODE(PH_ERR_INVALID_DATA_PARAMS, PH_COMP_AL_TOP); break; } PH_LOG_HELPER_ADDSTRING(PH_LOG_LOGTYPE_INFO, bFunctionName); #ifdef NXPBUILD__PH_LOG if ( (status & PH_ERR_MASK) == PH_ERR_SUCCESS) { PH_LOG_HELPER_ADDPARAM_BUFFER(PH_LOG_LOGTYPE_DEBUG, pData_log, pData, *pLength); } #endif /* NXPBUILD__PH_LOG */ PH_LOG_HELPER_ADDPARAM_UINT16(PH_LOG_LOGTYPE_INFO, status_log, &status); PH_LOG_HELPER_EXECUTE(PH_LOG_OPTION_CATEGORY_LEAVE); return status; }
phStatus_t phpalFelica_GetSerialNo( void* pDataParams, uint8_t* pIDmPMmOut, uint8_t* pLenIDmPMmOut ) { phStatus_t PH_MEMLOC_REM status; PH_LOG_HELPER_ALLOCATE_TEXT(bFunctionName, "phpalFelica_GetSerialNo"); PH_LOG_HELPER_ALLOCATE_PARAMNAME(pIDmPMmOut); PH_LOG_HELPER_ALLOCATE_PARAMNAME(status); PH_LOG_HELPER_ADDSTRING(PH_LOG_LOGTYPE_INFO, bFunctionName); PH_LOG_HELPER_EXECUTE(PH_LOG_OPTION_CATEGORY_ENTER); PH_ASSERT_NULL (pDataParams); PH_ASSERT_NULL (pIDmPMmOut); PH_ASSERT_NULL (pLenIDmPMmOut); /* Check data parameters */ if (PH_GET_COMPCODE(pDataParams) != PH_COMP_PAL_FELICA) { status = PH_ADD_COMPCODE(PH_ERR_INVALID_DATA_PARAMS, PH_COMP_PAL_FELICA); PH_LOG_HELPER_ADDSTRING(PH_LOG_LOGTYPE_INFO, bFunctionName); PH_LOG_HELPER_ADDPARAM_UINT16(PH_LOG_LOGTYPE_INFO, status_log, &status); PH_LOG_HELPER_EXECUTE(PH_LOG_OPTION_CATEGORY_LEAVE); return status; } /* perform operation on active layer */ switch (PH_GET_COMPID(pDataParams)) { #ifdef NXPBUILD__PHPAL_FELICA_SW case PHPAL_FELICA_SW_ID: status = phpalFelica_Sw_GetSerialNo( (phpalFelica_Sw_DataParams_t *)pDataParams, pIDmPMmOut, pLenIDmPMmOut ); break; #endif /* NXPBUILD__PHPAL_FELICA_SW */ default: status = PH_ADD_COMPCODE(PH_ERR_INVALID_DATA_PARAMS, PH_COMP_PAL_FELICA); break; } PH_LOG_HELPER_ADDSTRING(PH_LOG_LOGTYPE_INFO, bFunctionName); PH_LOG_HELPER_ADDPARAM_BUFFER(PH_LOG_LOGTYPE_INFO, pIDmPMmOut_log, pIDmPMmOut, *pLenIDmPMmOut); PH_LOG_HELPER_ADDPARAM_UINT16(PH_LOG_LOGTYPE_INFO, status_log, &status); PH_LOG_HELPER_EXECUTE(PH_LOG_OPTION_CATEGORY_LEAVE); return status; }
phStatus_t phalSli_SetPWD( void * pDataParams, uint8_t bPwdIdentifier, uint8_t * pXorPwd ) { phStatus_t PH_MEMLOC_REM status; PH_LOG_HELPER_ALLOCATE_TEXT(bFunctionName, "phalSli_SetPWD"); /*PH_LOG_HELPER_ALLOCATE_PARAMNAME(pDataParams);*/ PH_LOG_HELPER_ALLOCATE_PARAMNAME(bPwdIdentifier); PH_LOG_HELPER_ALLOCATE_PARAMNAME(pXorPwd); PH_LOG_HELPER_ALLOCATE_PARAMNAME(status); PH_LOG_HELPER_ADDSTRING(PH_LOG_LOGTYPE_INFO, bFunctionName); PH_LOG_HELPER_ADDPARAM_UINT8(PH_LOG_LOGTYPE_DEBUG, bPwdIdentifier_log, &bPwdIdentifier); PH_LOG_HELPER_ADDPARAM_BUFFER(PH_LOG_LOGTYPE_DEBUG, pXorPwd_log, pXorPwd, 4); PH_LOG_HELPER_EXECUTE(PH_LOG_OPTION_CATEGORY_ENTER); PH_ASSERT_NULL (pDataParams); PH_ASSERT_NULL (pXorPwd); if (PH_GET_COMPCODE(pDataParams) != PH_COMP_AL_SLI) { PH_LOG_HELPER_ADDSTRING(PH_LOG_LOGTYPE_INFO, bFunctionName); PH_LOG_HELPER_ADDPARAM_UINT16(PH_LOG_LOGTYPE_INFO, status_log, &status); PH_LOG_HELPER_EXECUTE(PH_LOG_OPTION_CATEGORY_LEAVE); return PH_ADD_COMPCODE(PH_ERR_INVALID_DATA_PARAMS, PH_COMP_AL_SLI); } /* perform operation on active layer */ switch (PH_GET_COMPID(pDataParams)) { #ifdef NXPBUILD__PHAL_SLI_SW case PHAL_SLI_SW_ID: status = phalSli_Sw_SetPWD((phalSli_Sw_DataParams_t *)pDataParams, bPwdIdentifier, pXorPwd); break; #endif /* NXPBUILD__PHAL_SLI_SW */ default: status = PH_ADD_COMPCODE(PH_ERR_INVALID_DATA_PARAMS, PH_COMP_AL_SLI); break; } PH_LOG_HELPER_ADDSTRING(PH_LOG_LOGTYPE_INFO, bFunctionName); PH_LOG_HELPER_ADDPARAM_UINT16(PH_LOG_LOGTYPE_INFO, status_log, &status); PH_LOG_HELPER_EXECUTE(PH_LOG_OPTION_CATEGORY_LEAVE); return status; }
phStatus_t phalMfdf_GetVersion( void * pDataParams, uint8_t * pVerInfo ) { phStatus_t PH_MEMLOC_REM status; PH_LOG_HELPER_ALLOCATE_TEXT(bFunctionName, "phalMfdf_GetVersion"); PH_LOG_HELPER_ALLOCATE_PARAMNAME(pVerInfo); PH_LOG_HELPER_ALLOCATE_PARAMNAME(status); PH_LOG_HELPER_ADDSTRING(PH_LOG_LOGTYPE_INFO, bFunctionName); PH_LOG_HELPER_EXECUTE(PH_LOG_OPTION_CATEGORY_ENTER); PH_ASSERT_NULL (pDataParams); PH_ASSERT_NULL (pVerInfo); /* parameter validation */ if (PH_GET_COMPCODE(pDataParams) != PH_COMP_AL_MFDF) { status = PH_ADD_COMPCODE(PH_ERR_INVALID_DATA_PARAMS, PH_COMP_AL_MFDF); PH_LOG_HELPER_ADDSTRING(PH_LOG_LOGTYPE_INFO, bFunctionName); PH_LOG_HELPER_ADDPARAM_UINT16(PH_LOG_LOGTYPE_INFO, status_log, &status); PH_LOG_HELPER_EXECUTE(PH_LOG_OPTION_CATEGORY_LEAVE); return status; } switch (PH_GET_COMPID(pDataParams)) { #ifdef NXPBUILD__PHAL_MFDF_SW case PHAL_MFDF_SW_ID: status = phalMfdf_Sw_GetVersion((phalMfdf_Sw_DataParams_t *)pDataParams, pVerInfo); break; #endif /* NXPBUILD__PHAL_MFDF_SW */ default: status = PH_ADD_COMPCODE(PH_ERR_INVALID_DATA_PARAMS, PH_COMP_AL_MFDF); break; } PH_LOG_HELPER_ADDSTRING(PH_LOG_LOGTYPE_INFO, bFunctionName); PH_LOG_HELPER_ADDPARAM_BUFFER(PH_LOG_LOGTYPE_DEBUG, pVerInfo_log, pVerInfo, 28); PH_LOG_HELPER_ADDPARAM_UINT16(PH_LOG_LOGTYPE_INFO, status_log, &status); PH_LOG_HELPER_EXECUTE(PH_LOG_OPTION_CATEGORY_LEAVE); return status; }
phStatus_t phalMfdf_IsoUpdateBinary( void * pDataParams, uint8_t bOffset, uint8_t bSfid, uint8_t * pData, uint8_t bDataLen ) { phStatus_t PH_MEMLOC_REM status; PH_LOG_HELPER_ALLOCATE_TEXT(bFunctionName, "phalMfdf_IsoUpdateBinary"); PH_LOG_HELPER_ALLOCATE_PARAMNAME(status); PH_LOG_HELPER_ALLOCATE_PARAMNAME(bOffset); PH_LOG_HELPER_ALLOCATE_PARAMNAME(bSfid); PH_LOG_HELPER_ALLOCATE_PARAMNAME(pData); PH_LOG_HELPER_ALLOCATE_PARAMNAME(bDataLen); PH_LOG_HELPER_ADDSTRING(PH_LOG_LOGTYPE_INFO, bFunctionName); PH_LOG_HELPER_ADDPARAM_UINT8(PH_LOG_LOGTYPE_DEBUG, bOffset_log, &bOffset); PH_LOG_HELPER_ADDPARAM_UINT8(PH_LOG_LOGTYPE_DEBUG, bSfid_log, &bSfid); PH_LOG_HELPER_ADDPARAM_BUFFER(PH_LOG_LOGTYPE_DEBUG, pData_log, pData,bDataLen); PH_LOG_HELPER_ADDPARAM_UINT8(PH_LOG_LOGTYPE_INFO, bDataLen_log, &bDataLen); PH_LOG_HELPER_EXECUTE(PH_LOG_OPTION_CATEGORY_ENTER); PH_ASSERT_NULL (pDataParams); PH_ASSERT_NULL (pData); /* parameter validation */ if (PH_GET_COMPCODE(pDataParams) != PH_COMP_AL_MFDF) { status = PH_ADD_COMPCODE(PH_ERR_INVALID_DATA_PARAMS, PH_COMP_AL_MFDF); PH_LOG_HELPER_ADDSTRING(PH_LOG_LOGTYPE_INFO, bFunctionName); PH_LOG_HELPER_ADDPARAM_UINT16(PH_LOG_LOGTYPE_INFO, status_log, &status); PH_LOG_HELPER_EXECUTE(PH_LOG_OPTION_CATEGORY_LEAVE); return status; } switch (PH_GET_COMPID(pDataParams)) { #ifdef NXPBUILD__PHAL_MFDF_SW case PHAL_MFDF_SW_ID: status = phalMfdf_Sw_IsoUpdateBinary((phalMfdf_Sw_DataParams_t *)pDataParams, bOffset, bSfid, pData, bDataLen ); break; #endif /* NXPBUILD__PHAL_MFDF_SW */ default: status = PH_ADD_COMPCODE(PH_ERR_INVALID_DATA_PARAMS, PH_COMP_AL_MFDF); break; } PH_LOG_HELPER_ADDSTRING(PH_LOG_LOGTYPE_INFO, bFunctionName); PH_LOG_HELPER_ADDPARAM_UINT16(PH_LOG_LOGTYPE_INFO, status_log, &status); PH_LOG_HELPER_EXECUTE(PH_LOG_OPTION_CATEGORY_LEAVE); return status; }
phStatus_t phalMfdf_CreateApplication( void * pDataParams, uint8_t bOption, uint8_t * pAid, uint8_t bKeySettings1, uint8_t bKeySettings2, uint8_t * pISOFileId, uint8_t * pISODFName, uint8_t bISODFNameLen ) { phStatus_t PH_MEMLOC_REM status; PH_LOG_HELPER_ALLOCATE_TEXT(bFunctionName, "phalMfdf_CreateApplication"); PH_LOG_HELPER_ALLOCATE_PARAMNAME(bOption); PH_LOG_HELPER_ALLOCATE_PARAMNAME(pAid); PH_LOG_HELPER_ALLOCATE_PARAMNAME(bKeySettings1); PH_LOG_HELPER_ALLOCATE_PARAMNAME(bKeySettings2); PH_LOG_HELPER_ALLOCATE_PARAMNAME(pISOFileId); PH_LOG_HELPER_ALLOCATE_PARAMNAME(pISODFName); PH_LOG_HELPER_ALLOCATE_PARAMNAME(bISODFNameLen); PH_LOG_HELPER_ALLOCATE_PARAMNAME(status); PH_LOG_HELPER_ADDSTRING(PH_LOG_LOGTYPE_INFO, bFunctionName); PH_LOG_HELPER_ADDPARAM_UINT8(PH_LOG_LOGTYPE_DEBUG, bOption_log, &bOption); PH_LOG_HELPER_ADDPARAM_UINT8(PH_LOG_LOGTYPE_DEBUG, bKeySettings1_log, &bKeySettings1); PH_LOG_HELPER_ADDPARAM_UINT8(PH_LOG_LOGTYPE_DEBUG, bKeySettings2_log, &bKeySettings2); PH_LOG_HELPER_ADDPARAM_UINT8(PH_LOG_LOGTYPE_DEBUG, bISODFNameLen_log, &bISODFNameLen); PH_LOG_HELPER_ADDPARAM_BUFFER(PH_LOG_LOGTYPE_DEBUG, pAid_log, pAid, 3); if (bOption & 0x01) { PH_LOG_HELPER_ADDPARAM_BUFFER(PH_LOG_LOGTYPE_DEBUG, pISOFileId_log, pISOFileId, 2); } PH_LOG_HELPER_ADDPARAM_BUFFER(PH_LOG_LOGTYPE_DEBUG, pISODFName_log, pISODFName, bISODFNameLen); PH_LOG_HELPER_EXECUTE(PH_LOG_OPTION_CATEGORY_ENTER); PH_ASSERT_NULL (pDataParams); if (bOption & 0x01) PH_ASSERT_NULL (pISOFileId); if (bISODFNameLen > 0) PH_ASSERT_NULL (pISODFName); PH_ASSERT_NULL (pAid); /* parameter validation */ if (PH_GET_COMPCODE(pDataParams) != PH_COMP_AL_MFDF) { status = PH_ADD_COMPCODE(PH_ERR_INVALID_DATA_PARAMS, PH_COMP_AL_MFDF); PH_LOG_HELPER_ADDSTRING(PH_LOG_LOGTYPE_INFO, bFunctionName); PH_LOG_HELPER_ADDPARAM_UINT16(PH_LOG_LOGTYPE_INFO, status_log, &status); PH_LOG_HELPER_EXECUTE(PH_LOG_OPTION_CATEGORY_LEAVE); return status; } switch (PH_GET_COMPID(pDataParams)) { #ifdef NXPBUILD__PHAL_MFDF_SW case PHAL_MFDF_SW_ID: status = phalMfdf_Sw_CreateApplication((phalMfdf_Sw_DataParams_t *)pDataParams, bOption, pAid, bKeySettings1, bKeySettings2, pISOFileId, pISODFName, bISODFNameLen); break; #endif /* NXPBUILD__PHAL_MFDF_SW */ default: status = PH_ADD_COMPCODE(PH_ERR_INVALID_DATA_PARAMS, PH_COMP_AL_MFDF); break; } PH_LOG_HELPER_ADDSTRING(PH_LOG_LOGTYPE_INFO, bFunctionName); PH_LOG_HELPER_ADDPARAM_UINT16(PH_LOG_LOGTYPE_INFO, status_log, &status); PH_LOG_HELPER_EXECUTE(PH_LOG_OPTION_CATEGORY_LEAVE); return status; }
phStatus_t phalMfdf_IsoSelectFile( void * pDataParams, uint8_t bOption, uint8_t bSelector, uint8_t * pFid, uint8_t * pDFname, uint8_t bDFnameLen, uint8_t **ppFCI, uint16_t *pwFCILen ) { phStatus_t PH_MEMLOC_REM status; PH_LOG_HELPER_ALLOCATE_TEXT(bFunctionName, "phalMfdf_IsoSelectFile"); PH_LOG_HELPER_ALLOCATE_PARAMNAME(status); PH_LOG_HELPER_ALLOCATE_PARAMNAME(bOption); PH_LOG_HELPER_ALLOCATE_PARAMNAME(bSelector); PH_LOG_HELPER_ALLOCATE_PARAMNAME(pFid); PH_LOG_HELPER_ALLOCATE_PARAMNAME(pDFname); PH_LOG_HELPER_ALLOCATE_PARAMNAME(bDFnameLen); PH_LOG_HELPER_ADDSTRING(PH_LOG_LOGTYPE_INFO, bFunctionName); PH_LOG_HELPER_ADDPARAM_UINT8(PH_LOG_LOGTYPE_DEBUG, bOption_log, &bOption); PH_LOG_HELPER_ADDPARAM_UINT8(PH_LOG_LOGTYPE_DEBUG, bSelector_log, &bSelector); PH_LOG_HELPER_ADDPARAM_BUFFER(PH_LOG_LOGTYPE_DEBUG, pFid_log, pFid,2); PH_LOG_HELPER_ADDPARAM_UINT8(PH_LOG_LOGTYPE_DEBUG, bDFnameLen_log, &bDFnameLen); PH_LOG_HELPER_ADDPARAM_BUFFER(PH_LOG_LOGTYPE_DEBUG, pDFname_log, pDFname,bDFnameLen); PH_LOG_HELPER_EXECUTE(PH_LOG_OPTION_CATEGORY_ENTER); PH_ASSERT_NULL (pDataParams); /* parameter validation */ if (PH_GET_COMPCODE(pDataParams) != PH_COMP_AL_MFDF) { status = PH_ADD_COMPCODE(PH_ERR_INVALID_DATA_PARAMS, PH_COMP_AL_MFDF); PH_LOG_HELPER_ADDSTRING(PH_LOG_LOGTYPE_INFO, bFunctionName); PH_LOG_HELPER_ADDPARAM_UINT16(PH_LOG_LOGTYPE_INFO, status_log, &status); PH_LOG_HELPER_EXECUTE(PH_LOG_OPTION_CATEGORY_LEAVE); return status; } switch (PH_GET_COMPID(pDataParams)) { #ifdef NXPBUILD__PHAL_MFDF_SW case PHAL_MFDF_SW_ID: status = phalMfdf_Sw_IsoSelectFile((phalMfdf_Sw_DataParams_t *)pDataParams, bOption, bSelector, pFid, pDFname, bDFnameLen, ppFCI, pwFCILen ); break; #endif /* NXPBUILD__PHAL_MFDF_SW */ default: status = PH_ADD_COMPCODE(PH_ERR_INVALID_DATA_PARAMS, PH_COMP_AL_MFDF); break; } PH_LOG_HELPER_ADDSTRING(PH_LOG_LOGTYPE_INFO, bFunctionName); PH_LOG_HELPER_ADDPARAM_UINT16(PH_LOG_LOGTYPE_INFO, status_log, &status); PH_LOG_HELPER_EXECUTE(PH_LOG_OPTION_CATEGORY_LEAVE); return status; }
phStatus_t phalMfdf_WriteData( void * pDataParams, uint8_t bCommOption, uint8_t bFileNo, uint8_t * pOffset, uint8_t * pTxData, uint8_t * pTxDataLen ) { phStatus_t PH_MEMLOC_REM status; uint16_t PH_MEMLOC_REM wDataLen; PH_LOG_HELPER_ALLOCATE_TEXT(bFunctionName, "phalMfdf_WriteData"); PH_LOG_HELPER_ALLOCATE_PARAMNAME(status); PH_LOG_HELPER_ALLOCATE_PARAMNAME(bCommOption); PH_LOG_HELPER_ALLOCATE_PARAMNAME(bFileNo); PH_LOG_HELPER_ALLOCATE_PARAMNAME(pOffset); PH_LOG_HELPER_ALLOCATE_PARAMNAME(pTxData); PH_LOG_HELPER_ALLOCATE_PARAMNAME(pTxDataLen); PH_LOG_HELPER_ADDSTRING(PH_LOG_LOGTYPE_INFO, bFunctionName); PH_LOG_HELPER_ADDPARAM_UINT8(PH_LOG_LOGTYPE_DEBUG, bCommOption_log, &bCommOption); PH_LOG_HELPER_ADDPARAM_UINT8(PH_LOG_LOGTYPE_DEBUG, bFileNo_log, &bFileNo); PH_LOG_HELPER_ADDPARAM_BUFFER(PH_LOG_LOGTYPE_DEBUG, pOffset_log, pOffset, 3); wDataLen = (uint16_t)pTxDataLen[1]; wDataLen = wDataLen << 8; wDataLen |= pTxDataLen[0]; PH_LOG_HELPER_ADDPARAM_BUFFER(PH_LOG_LOGTYPE_DEBUG, pTxData_log, pTxData, wDataLen); PH_LOG_HELPER_ADDPARAM_BUFFER(PH_LOG_LOGTYPE_DEBUG, pTxDataLen_log, pTxDataLen, 3); PH_LOG_HELPER_EXECUTE(PH_LOG_OPTION_CATEGORY_ENTER); PH_ASSERT_NULL (pDataParams); PH_ASSERT_NULL (pOffset); PH_ASSERT_NULL (pTxData); PH_ASSERT_NULL (pTxDataLen); /* parameter validation */ if (PH_GET_COMPCODE(pDataParams) != PH_COMP_AL_MFDF) { status = PH_ADD_COMPCODE(PH_ERR_INVALID_DATA_PARAMS, PH_COMP_AL_MFDF); PH_LOG_HELPER_ADDSTRING(PH_LOG_LOGTYPE_INFO, bFunctionName); PH_LOG_HELPER_ADDPARAM_UINT16(PH_LOG_LOGTYPE_INFO, status_log, &status); PH_LOG_HELPER_EXECUTE(PH_LOG_OPTION_CATEGORY_LEAVE); return status; } switch (PH_GET_COMPID(pDataParams)) { #ifdef NXPBUILD__PHAL_MFDF_SW case PHAL_MFDF_SW_ID: status = phalMfdf_Sw_WriteData((phalMfdf_Sw_DataParams_t *)pDataParams, bCommOption, bFileNo, pOffset, pTxData, pTxDataLen ); break; #endif /* NXPBUILD__PHAL_MFDF_SW */ default: status = PH_ADD_COMPCODE(PH_ERR_INVALID_DATA_PARAMS, PH_COMP_AL_MFDF); break; } PH_LOG_HELPER_ADDSTRING(PH_LOG_LOGTYPE_INFO, bFunctionName); PH_LOG_HELPER_ADDPARAM_UINT16(PH_LOG_LOGTYPE_INFO, status_log, &status); PH_LOG_HELPER_EXECUTE(PH_LOG_OPTION_CATEGORY_LEAVE); return status; }
phStatus_t phalMfdf_CreateStdDataFile( void * pDataParams, uint8_t bOption, uint8_t bFileNo, uint8_t *pISOFileId, uint8_t bCommSett, uint8_t *pAccessRights, uint8_t * pFileSize ) { phStatus_t PH_MEMLOC_REM status; PH_LOG_HELPER_ALLOCATE_TEXT(bFunctionName, "phalMfdf_CreateStdDataFile"); PH_LOG_HELPER_ALLOCATE_PARAMNAME(status); PH_LOG_HELPER_ALLOCATE_PARAMNAME(bOption); PH_LOG_HELPER_ALLOCATE_PARAMNAME(bFileNo); PH_LOG_HELPER_ALLOCATE_PARAMNAME(pISOFileId); PH_LOG_HELPER_ALLOCATE_PARAMNAME(bCommSett); PH_LOG_HELPER_ALLOCATE_PARAMNAME(pAccessRights); PH_LOG_HELPER_ALLOCATE_PARAMNAME(pFileSize); PH_LOG_HELPER_ADDSTRING(PH_LOG_LOGTYPE_INFO, bFunctionName); PH_LOG_HELPER_ADDPARAM_UINT8(PH_LOG_LOGTYPE_DEBUG, bOption_log, &bOption); PH_LOG_HELPER_ADDPARAM_UINT8(PH_LOG_LOGTYPE_DEBUG, bFileNo_log, &bFileNo); PH_LOG_HELPER_ADDPARAM_UINT8(PH_LOG_LOGTYPE_DEBUG, bCommSett_log, &bCommSett); PH_LOG_HELPER_ADDPARAM_BUFFER(PH_LOG_LOGTYPE_DEBUG, pAccessRights_log, pAccessRights, 2); PH_LOG_HELPER_ADDPARAM_BUFFER(PH_LOG_LOGTYPE_DEBUG, pFileSize_log, pFileSize, 3); if (bOption == 0x01) { PH_LOG_HELPER_ADDPARAM_BUFFER(PH_LOG_LOGTYPE_DEBUG, pISOFileId_log, pISOFileId, 2); } PH_LOG_HELPER_EXECUTE(PH_LOG_OPTION_CATEGORY_ENTER); PH_ASSERT_NULL (pDataParams); if (bOption == 0x01) PH_ASSERT_NULL (pISOFileId); PH_ASSERT_NULL (pAccessRights); PH_ASSERT_NULL (pFileSize); /* parameter validation */ if (PH_GET_COMPCODE(pDataParams) != PH_COMP_AL_MFDF) { status = PH_ADD_COMPCODE(PH_ERR_INVALID_DATA_PARAMS, PH_COMP_AL_MFDF); PH_LOG_HELPER_ADDSTRING(PH_LOG_LOGTYPE_INFO, bFunctionName); PH_LOG_HELPER_ADDPARAM_UINT16(PH_LOG_LOGTYPE_INFO, status_log, &status); PH_LOG_HELPER_EXECUTE(PH_LOG_OPTION_CATEGORY_LEAVE); return status; } switch (PH_GET_COMPID(pDataParams)) { #ifdef NXPBUILD__PHAL_MFDF_SW case PHAL_MFDF_SW_ID: status = phalMfdf_Sw_CreateStdDataFile((phalMfdf_Sw_DataParams_t *)pDataParams, bOption, bFileNo, pISOFileId, bCommSett, pAccessRights, pFileSize ); break; #endif /* NXPBUILD__PHAL_MFDF_SW */ default: status = PH_ADD_COMPCODE(PH_ERR_INVALID_DATA_PARAMS, PH_COMP_AL_MFDF); break; } PH_LOG_HELPER_ADDSTRING(PH_LOG_LOGTYPE_INFO, bFunctionName); PH_LOG_HELPER_ADDPARAM_UINT16(PH_LOG_LOGTYPE_INFO, status_log, &status); PH_LOG_HELPER_EXECUTE(PH_LOG_OPTION_CATEGORY_LEAVE); return status; }
phStatus_t phpalI14443p3a_Anticollision( void * pDataParams, uint8_t bCascadeLevel, uint8_t * pUidIn, uint8_t bNvbUidIn, uint8_t * pUidOut, uint8_t * pNvbUidOut ) { phStatus_t PH_MEMLOC_REM status; #ifdef NXPBUILD__PH_LOG uint8_t PH_MEMLOC_REM bNvBUid; #endif PH_LOG_HELPER_ALLOCATE_TEXT(bFunctionName, "phpalI14443p3a_Anticollision"); /*PH_LOG_HELPER_ALLOCATE_PARAMNAME(pDataParams);*/ PH_LOG_HELPER_ALLOCATE_PARAMNAME(bCascadeLevel); PH_LOG_HELPER_ALLOCATE_PARAMNAME(pUidIn); PH_LOG_HELPER_ALLOCATE_PARAMNAME(bNvbUidIn); PH_LOG_HELPER_ALLOCATE_PARAMNAME(pUidOut); PH_LOG_HELPER_ALLOCATE_PARAMNAME(pNvbUidOut); PH_LOG_HELPER_ALLOCATE_PARAMNAME(status); PH_LOG_HELPER_ADDSTRING(PH_LOG_LOGTYPE_INFO, bFunctionName); PH_LOG_HELPER_ADDPARAM_UINT8(PH_LOG_LOGTYPE_DEBUG, bCascadeLevel_log, &bCascadeLevel); #ifdef NXPBUILD__PH_LOG bNvBUid = bNvbUidIn >> 4; /* check for incomplete bytes */ if (bNvbUidIn & 0x07) { ++bNvBUid; } PH_LOG_HELPER_ADDPARAM_BUFFER(PH_LOG_LOGTYPE_DEBUG, pUidIn_log, pUidIn, bNvBUid); #endif PH_LOG_HELPER_ADDPARAM_UINT8(PH_LOG_LOGTYPE_DEBUG, bNvbUidIn_log, &bNvbUidIn); PH_LOG_HELPER_EXECUTE(PH_LOG_OPTION_CATEGORY_ENTER); PH_ASSERT_NULL (pDataParams); if (bNvbUidIn) PH_ASSERT_NULL (pUidIn); PH_ASSERT_NULL (pUidOut); PH_ASSERT_NULL (pNvbUidOut); /* Check data parameters */ if (PH_GET_COMPCODE(pDataParams) != PH_COMP_PAL_ISO14443P3A) { PH_LOG_HELPER_ADDSTRING(PH_LOG_LOGTYPE_INFO, bFunctionName); PH_LOG_HELPER_ADDPARAM_UINT16(PH_LOG_LOGTYPE_INFO, status_log, &status); PH_LOG_HELPER_EXECUTE(PH_LOG_OPTION_CATEGORY_LEAVE); return PH_ADD_COMPCODE(PH_ERR_INVALID_DATA_PARAMS, PH_COMP_PAL_ISO14443P3A); } /* perform operation on active layer */ switch (PH_GET_COMPID(pDataParams)) { #ifdef NXPBUILD__PHPAL_I14443P3A_SW case PHPAL_I14443P3A_SW_ID: status = phpalI14443p3a_Sw_Anticollision((phpalI14443p3a_Sw_DataParams_t *)pDataParams, bCascadeLevel, pUidIn, bNvbUidIn, pUidOut, pNvbUidOut); break; #endif /* NXPBUILD__PHPAL_I14443P3A_SW */ #ifdef NXPBUILD__PHPAL_I14443P3A_SAMAV2_X case PHPAL_I14443P3A_SAMAV2_X_ID: status = phpalI14443p3a_SamAV2_X_Anticollision((phpalI14443p3a_SamAV2_X_DataParams_t *)pDataParams, bCascadeLevel, pUidIn, bNvbUidIn, pUidOut, pNvbUidOut); break; #endif /* NXPBUILD__PHPAL_I14443P3A_SAMAV2_X */ #ifdef NXPBUILD__PHPAL_I14443P3A_RD70X case PHPAL_I14443P3A_RD70X_ID: status = phpalI14443p3a_Rd70x_Anticollision((phpalI14443p3a_Rd70x_DataParams_t *)pDataParams, bCascadeLevel, pUidIn, bNvbUidIn, pUidOut, pNvbUidOut); break; #endif /* NXPBUILD__PHPAL_I14443P3A_RD70X */ #ifdef NXPBUILD__PHPAL_I14443P3A_RD710 case PHPAL_I14443P3A_RD710_ID: status = phpalI14443p3a_Rd710_Anticollision((phpalI14443p3a_Rd710_DataParams_t *)pDataParams, bCascadeLevel, pUidIn, bNvbUidIn, pUidOut, pNvbUidOut); break; #endif /* NXPBUILD__PHPAL_I14443P3A_RD710 */ default: status = PH_ADD_COMPCODE(PH_ERR_INVALID_DATA_PARAMS, PH_COMP_PAL_ISO14443P3A); break; } PH_LOG_HELPER_ADDSTRING(PH_LOG_LOGTYPE_INFO, bFunctionName); #ifdef NXPBUILD__PH_LOG if ((status & PH_ERR_MASK) == PH_ERR_SUCCESS) { bNvBUid = (*pNvbUidOut) >> 4; /* check for incomplete bytes */ if ((*pNvbUidOut) & 0x07) { ++bNvBUid; } PH_LOG_HELPER_ADDPARAM_BUFFER(PH_LOG_LOGTYPE_DEBUG, pUidOut_log, pUidOut, bNvBUid); }
phStatus_t phpalI14443p3a_RequestA( void * pDataParams, uint8_t * pAtqa ) { phStatus_t PH_MEMLOC_REM status; PH_LOG_HELPER_ALLOCATE_TEXT(bFunctionName, "phpalI14443p3a_RequestA"); /*PH_LOG_HELPER_ALLOCATE_PARAMNAME(pDataParams);*/ PH_LOG_HELPER_ALLOCATE_PARAMNAME(pAtqa); PH_LOG_HELPER_ALLOCATE_PARAMNAME(status); PH_LOG_HELPER_ADDSTRING(PH_LOG_LOGTYPE_INFO, bFunctionName); PH_LOG_HELPER_EXECUTE(PH_LOG_OPTION_CATEGORY_ENTER); PH_ASSERT_NULL (pDataParams); PH_ASSERT_NULL (pAtqa); /* Check data parameters */ if (PH_GET_COMPCODE(pDataParams) != PH_COMP_PAL_ISO14443P3A) { PH_LOG_HELPER_ADDSTRING(PH_LOG_LOGTYPE_INFO, bFunctionName); PH_LOG_HELPER_ADDPARAM_UINT16(PH_LOG_LOGTYPE_INFO, status_log, &status); PH_LOG_HELPER_EXECUTE(PH_LOG_OPTION_CATEGORY_LEAVE); return PH_ADD_COMPCODE(PH_ERR_INVALID_DATA_PARAMS, PH_COMP_PAL_ISO14443P3A); } /* perform operation on active layer */ switch (PH_GET_COMPID(pDataParams)) { #ifdef NXPBUILD__PHPAL_I14443P3A_SW case PHPAL_I14443P3A_SW_ID: status = phpalI14443p3a_Sw_RequestA((phpalI14443p3a_Sw_DataParams_t *)pDataParams, pAtqa); break; #endif /* NXPBUILD__PHPAL_I14443P3A_SW */ #ifdef NXPBUILD__PHPAL_I14443P3A_SAMAV2_X case PHPAL_I14443P3A_SAMAV2_X_ID: status = phpalI14443p3a_SamAV2_X_RequestA((phpalI14443p3a_SamAV2_X_DataParams_t *)pDataParams, pAtqa); break; #endif /* NXPBUILD__PHPAL_I14443P3A_SAMAV2_X */ #ifdef NXPBUILD__PHPAL_I14443P3A_RD70X case PHPAL_I14443P3A_RD70X_ID: status = phpalI14443p3a_Rd70x_RequestA((phpalI14443p3a_Rd70x_DataParams_t *)pDataParams, pAtqa); break; #endif /* NXPBUILD__PHPAL_I14443P3A_RD70X */ #ifdef NXPBUILD__PHPAL_I14443P3A_RD710 case PHPAL_I14443P3A_RD710_ID: status = phpalI14443p3a_Rd710_RequestA((phpalI14443p3a_Rd710_DataParams_t *)pDataParams, pAtqa); break; #endif /* NXPBUILD__PHPAL_I14443P3A_RD710 */ default: status = PH_ADD_COMPCODE(PH_ERR_INVALID_DATA_PARAMS, PH_COMP_PAL_ISO14443P3A); break; } PH_LOG_HELPER_ADDSTRING(PH_LOG_LOGTYPE_INFO, bFunctionName); #ifdef NXPBUILD__PH_LOG if ((status & PH_ERR_MASK) == PH_ERR_SUCCESS) { PH_LOG_HELPER_ADDPARAM_BUFFER(PH_LOG_LOGTYPE_DEBUG, pAtqa_log, pAtqa, 2); } #endif PH_LOG_HELPER_ADDPARAM_UINT16(PH_LOG_LOGTYPE_INFO, status_log, &status); PH_LOG_HELPER_EXECUTE(PH_LOG_OPTION_CATEGORY_LEAVE); return status; }
phStatus_t phhalHw_Pn512_Cmd_Receive( phhalHw_Pn512_DataParams_t * pDataParams, uint16_t wOption, uint8_t ** ppRxBuffer, uint16_t * pRxLength ) { phStatus_t PH_MEMLOC_REM status; phStatus_t PH_MEMLOC_REM statusTmp; uint8_t PH_MEMLOC_REM bRegister; uint8_t PH_MEMLOC_REM bRegRxWait; PH_LOG_HELPER_ALLOCATE_TEXT(bFunctionName, "phhalHw_Pn512_Cmd_Receive"); PH_LOG_HELPER_ALLOCATE_PARAMNAME(wOption); PH_LOG_HELPER_ALLOCATE_PARAMNAME(ppRxBuffer); PH_LOG_HELPER_ALLOCATE_PARAMNAME(status); PH_LOG_HELPER_ADDSTRING(PH_LOG_LOGTYPE_INFO, bFunctionName); PH_LOG_HELPER_ADDPARAM_UINT16(PH_LOG_LOGTYPE_DEBUG, wOption_log, &wOption); PH_LOG_HELPER_EXECUTE(PH_LOG_OPTION_CATEGORY_ENTER); /* Check options */ if (wOption & (uint16_t)~(uint16_t)(PHHAL_HW_PN512_OPTION_RXTX_TIMER_START)) { status = PH_ADD_COMPCODE(PH_ERR_INVALID_PARAMETER, PH_COMP_HAL); PH_LOG_HELPER_ADDSTRING(PH_LOG_LOGTYPE_INFO, bFunctionName); PH_LOG_HELPER_ADDPARAM_UINT16(PH_LOG_LOGTYPE_INFO, status_log, &status); PH_LOG_HELPER_EXECUTE(PH_LOG_OPTION_CATEGORY_LEAVE); return status; } /* Reduce RxWait to minimum */ PH_CHECK_SUCCESS_FCT(statusTmp, phhalHw_ReadRegister(pDataParams, PHHAL_HW_PN512_REG_RXSEL, &bRegRxWait)); bRegister = bRegRxWait & (uint8_t)~(uint8_t)PHHAL_HW_PN512_MASK_RXWAIT; bRegister |= 0x03; PH_CHECK_SUCCESS_FCT(statusTmp, phhalHw_WriteRegister(pDataParams, PHHAL_HW_PN512_REG_RXSEL, bRegister)); /* set the receive length */ if (pRxLength != NULL) { *pRxLength = 0; } /* Terminate a possibly running command */ PH_CHECK_SUCCESS_FCT(statusTmp, phhalHw_WriteRegister(pDataParams, PHHAL_HW_PN512_REG_COMMAND, PHHAL_HW_PN512_CMD_IDLE)); /* Flush FiFo */ PH_CHECK_SUCCESS_FCT(statusTmp, phhalHw_Pn512_FlushFifo(pDataParams)); /* clear all IRQ0 flags */ PH_CHECK_SUCCESS_FCT(statusTmp, phhalHw_Pn512_WriteRegister( pDataParams, PHHAL_HW_PN512_REG_COMMIRQ, (uint8_t)~(uint8_t)PHHAL_HW_PN512_BIT_SET)); /* clear all IRQ1 flags */ PH_CHECK_SUCCESS_FCT(statusTmp, phhalHw_Pn512_WriteRegister( pDataParams, PHHAL_HW_PN512_REG_DIVIRQ, (uint8_t)~(uint8_t)PHHAL_HW_PN512_BIT_SET)); /* timer should be running, otherwise we'd wait forever */ if (!(wOption & PHHAL_HW_PN512_OPTION_RXTX_TIMER_START)) { /* retrieve content of Timer Control register */ PH_CHECK_SUCCESS_FCT(statusTmp, phhalHw_ReadRegister(pDataParams, PHHAL_HW_PN512_REG_STATUS1, &bRegister)); /* Check TRunning flag */ if (!(bRegister & PHHAL_HW_PN512_BIT_TRUNNUNG)) { status = PH_ADD_COMPCODE(PH_ERR_IO_TIMEOUT, PH_COMP_HAL); PH_LOG_HELPER_ADDSTRING(PH_LOG_LOGTYPE_INFO, bFunctionName); PH_LOG_HELPER_ADDPARAM_UINT16(PH_LOG_LOGTYPE_INFO, status_log, &status); PH_LOG_HELPER_EXECUTE(PH_LOG_OPTION_CATEGORY_LEAVE); return status; } } /* start the command */ PH_CHECK_SUCCESS_FCT(statusTmp, phhalHw_WriteRegister(pDataParams, PHHAL_HW_PN512_REG_COMMAND, PHHAL_HW_PN512_CMD_RECEIVE)); /* start timer manually if requested */ if (wOption & PHHAL_HW_PN512_OPTION_RXTX_TIMER_START) { /* retrieve content of Timer Control register */ PH_CHECK_SUCCESS_FCT(statusTmp, phhalHw_ReadRegister(pDataParams, PHHAL_HW_PN512_REG_CONTROL, &bRegister)); /* manually start Timer */ bRegister |= PHHAL_HW_PN512_BIT_TSTARTNOW; PH_CHECK_SUCCESS_FCT(statusTmp, phhalHw_WriteRegister(pDataParams, PHHAL_HW_PN512_REG_CONTROL, bRegister)); } /* perform receive operation */ status = phhalHw_Pn512_ExchangeReceive(pDataParams, ppRxBuffer, pRxLength); /* restore RxWait setting */ PH_CHECK_SUCCESS_FCT(statusTmp, phhalHw_WriteRegister(pDataParams, PHHAL_HW_PN512_REG_RXSEL, bRegRxWait)); PH_LOG_HELPER_ADDSTRING(PH_LOG_LOGTYPE_INFO, bFunctionName); #ifdef NXPBUILD__PH_LOG if ((((status & PH_ERR_MASK) == PH_ERR_SUCCESS) || ((status & PH_ERR_MASK) == PH_ERR_SUCCESS_INCOMPLETE_BYTE)) && !(wOption & PH_EXCHANGE_BUFFERED_BIT) && (ppRxBuffer != NULL) && (pRxLength != NULL)) { PH_LOG_HELPER_ADDPARAM_BUFFER(PH_LOG_LOGTYPE_DEBUG, ppRxBuffer_log, *ppRxBuffer, *pRxLength); } #endif PH_LOG_HELPER_ADDPARAM_UINT16(PH_LOG_LOGTYPE_INFO, status_log, &status); PH_LOG_HELPER_EXECUTE(PH_LOG_OPTION_CATEGORY_LEAVE); return status; }
phStatus_t phhalHw_Pn512_Cmd_Transmit( phhalHw_Pn512_DataParams_t * pDataParams, uint16_t wOption, uint8_t * pTxBuffer, uint16_t wTxLength ) { phStatus_t PH_MEMLOC_REM status; phStatus_t PH_MEMLOC_REM statusTmp; uint8_t PH_MEMLOC_REM bRegister; uint8_t PH_MEMLOC_REM bRestoreTmrSet; uint8_t * PH_MEMLOC_REM pTmpBuffer; uint16_t PH_MEMLOC_REM wTmpBufferLen; uint16_t PH_MEMLOC_REM wTmpBufferSize; PH_LOG_HELPER_ALLOCATE_TEXT(bFunctionName, "phhalHw_Pn512_Cmd_Transmit"); PH_LOG_HELPER_ALLOCATE_PARAMNAME(wOption); PH_LOG_HELPER_ALLOCATE_PARAMNAME(pTxBuffer); PH_LOG_HELPER_ALLOCATE_PARAMNAME(status); PH_LOG_HELPER_ADDSTRING(PH_LOG_LOGTYPE_INFO, bFunctionName); PH_LOG_HELPER_ADDPARAM_UINT16(PH_LOG_LOGTYPE_DEBUG, wOption_log, &wOption); PH_LOG_HELPER_ADDPARAM_BUFFER(PH_LOG_LOGTYPE_DEBUG, pTxBuffer_log, pTxBuffer, wTxLength); PH_LOG_HELPER_EXECUTE(PH_LOG_OPTION_CATEGORY_ENTER); /* Check options */ if (wOption & (uint16_t)~(uint16_t)(PH_EXCHANGE_BUFFERED_BIT | PH_EXCHANGE_LEAVE_BUFFER_BIT | PHHAL_HW_PN512_OPTION_RXTX_TIMER_START)) { status = PH_ADD_COMPCODE(PH_ERR_INVALID_PARAMETER, PH_COMP_HAL); PH_LOG_HELPER_ADDSTRING(PH_LOG_LOGTYPE_INFO, bFunctionName); PH_LOG_HELPER_ADDPARAM_UINT16(PH_LOG_LOGTYPE_INFO, status_log, &status); PH_LOG_HELPER_EXECUTE(PH_LOG_OPTION_CATEGORY_LEAVE); return status; } /* Terminate a possibly running command */ PH_CHECK_SUCCESS_FCT(statusTmp, phhalHw_WriteRegister(pDataParams, PHHAL_HW_PN512_REG_COMMAND, PHHAL_HW_PN512_CMD_IDLE)); /* Flush FiFo */ PH_CHECK_SUCCESS_FCT(statusTmp, phhalHw_Pn512_FlushFifo(pDataParams)); /* clear all IRQ0 flags */ PH_CHECK_SUCCESS_FCT(statusTmp, phhalHw_Pn512_WriteRegister( pDataParams, PHHAL_HW_PN512_REG_COMMIRQ, (uint8_t)~(uint8_t)PHHAL_HW_PN512_BIT_SET)); /* clear all IRQ1 flags */ PH_CHECK_SUCCESS_FCT(statusTmp, phhalHw_Pn512_WriteRegister( pDataParams, PHHAL_HW_PN512_REG_DIVIRQ, (uint8_t)~(uint8_t)PHHAL_HW_PN512_BIT_SET)); /* Custom option: do not start timer */ if (!(wOption & PHHAL_HW_PN512_OPTION_RXTX_TIMER_START)) { PH_CHECK_SUCCESS_FCT(statusTmp, phhalHw_ReadRegister(pDataParams, PHHAL_HW_PN512_REG_TMODE, &bRegister)); bRegister &= (uint8_t)~(uint8_t)PHHAL_HW_PN512_BIT_TAUTO; PH_CHECK_SUCCESS_FCT(statusTmp, phhalHw_WriteRegister(pDataParams, PHHAL_HW_PN512_REG_TMODE, bRegister)); bRestoreTmrSet = PH_ON; } else { /* To skip restoration sequence below */ bRestoreTmrSet = PH_OFF; /* Clear custom option bit */ wOption &= (uint16_t)~(uint16_t)PHHAL_HW_PN512_OPTION_RXTX_TIMER_START; } /* clear internal buffer if requested */ if (!(wOption & PH_EXCHANGE_LEAVE_BUFFER_BIT)) { pDataParams->wTxBufLen = 0; } /* Fill the global TxBuffer */ /* Note: We always need to buffer for SPI, else the input buffer would get overwritten! */ if ((wOption & PH_EXCHANGE_BUFFERED_BIT) || (pDataParams->bBalConnectionType == PHHAL_HW_BAL_CONNECTION_SPI) || (pDataParams->bBalConnectionType == PHHAL_HW_BAL_CONNECTION_I2C)) { /* retrieve transmit buffer */ PH_CHECK_SUCCESS_FCT(statusTmp, phhalHw_Pn512_GetTxBuffer(pDataParams, PH_ON, &pTmpBuffer, &wTmpBufferLen, &wTmpBufferSize)); if (wTxLength != 0) { /* TxBuffer overflow check */ if (wTxLength > (wTmpBufferSize - wTmpBufferLen)) { pDataParams->wTxBufLen = 0; status = PH_ADD_COMPCODE(PH_ERR_BUFFER_OVERFLOW, PH_COMP_HAL); PH_LOG_HELPER_ADDSTRING(PH_LOG_LOGTYPE_INFO, bFunctionName); PH_LOG_HELPER_ADDPARAM_UINT16(PH_LOG_LOGTYPE_INFO, status_log, &status); PH_LOG_HELPER_EXECUTE(PH_LOG_OPTION_CATEGORY_LEAVE); return status; } /* copy data */ memcpy(&pTmpBuffer[wTmpBufferLen], pTxBuffer, wTxLength); /* PRQA S 3200 */ pDataParams->wTxBufLen = pDataParams->wTxBufLen + wTxLength; } /* Buffer operation -> finished */ if (wOption & PH_EXCHANGE_BUFFERED_BIT) { status = PH_ADD_COMPCODE(PH_ERR_SUCCESS, PH_COMP_HAL); PH_LOG_HELPER_ADDSTRING(PH_LOG_LOGTYPE_INFO, bFunctionName); PH_LOG_HELPER_ADDPARAM_UINT16(PH_LOG_LOGTYPE_INFO, status_log, &status); PH_LOG_HELPER_EXECUTE(PH_LOG_OPTION_CATEGORY_LEAVE); return status; } /* Else reset the input length for SPI and continue */ else { wTxLength = 0; } } /* perform transmission */ status = phhalHw_Pn512_ExchangeTransmit(pDataParams, PHHAL_HW_PN512_CMD_TRANSMIT, pTxBuffer, wTxLength); /* Restore correct timer setting */ if (bRestoreTmrSet) { PH_CHECK_SUCCESS_FCT(statusTmp, phhalHw_ReadRegister(pDataParams, PHHAL_HW_PN512_REG_TMODE, &bRegister)); bRegister |= PHHAL_HW_PN512_BIT_TAUTO; PH_CHECK_SUCCESS_FCT(statusTmp, phhalHw_WriteRegister(pDataParams, PHHAL_HW_PN512_REG_TMODE, bRegister)); } PH_LOG_HELPER_ADDSTRING(PH_LOG_LOGTYPE_INFO, bFunctionName); PH_LOG_HELPER_ADDPARAM_UINT16(PH_LOG_LOGTYPE_INFO, status_log, &status); PH_LOG_HELPER_EXECUTE(PH_LOG_OPTION_CATEGORY_LEAVE); return status; }
phStatus_t phhalHw_MfcAuthenticate( void * pDataParams, uint8_t bBlockNo, uint8_t bKeyType, uint8_t * pKey, uint8_t * pUid ) { phStatus_t PH_MEMLOC_REM status; PH_LOG_HELPER_ALLOCATE_TEXT(bFunctionName, "phhalHw_MfcAuthenticate"); /*PH_LOG_HELPER_ALLOCATE_PARAMNAME(pDataParams);*/ PH_LOG_HELPER_ALLOCATE_PARAMNAME(bBlockNo); PH_LOG_HELPER_ALLOCATE_PARAMNAME(bKeyType); PH_LOG_HELPER_ALLOCATE_PARAMNAME(pKey); PH_LOG_HELPER_ALLOCATE_PARAMNAME(pUid); PH_LOG_HELPER_ALLOCATE_PARAMNAME(status); PH_LOG_HELPER_ADDSTRING(PH_LOG_LOGTYPE_INFO, bFunctionName); PH_LOG_HELPER_ADDPARAM_UINT8(PH_LOG_LOGTYPE_DEBUG, bBlockNo_log, &bBlockNo); PH_LOG_HELPER_ADDPARAM_UINT8(PH_LOG_LOGTYPE_DEBUG, bKeyType_log, &bKeyType); PH_LOG_HELPER_ADDPARAM_BUFFER(PH_LOG_LOGTYPE_DEBUG, pKey_log, pKey, 6); PH_LOG_HELPER_ADDPARAM_BUFFER(PH_LOG_LOGTYPE_DEBUG, pUid_log, pUid, 4); PH_LOG_HELPER_EXECUTE(PH_LOG_OPTION_CATEGORY_ENTER); PH_ASSERT_NULL (pDataParams); PH_ASSERT_NULL (pKey); PH_ASSERT_NULL (pUid); /* Check data parameters */ if (PH_GET_COMPCODE(pDataParams) != PH_COMP_HAL) { PH_LOG_HELPER_ADDSTRING(PH_LOG_LOGTYPE_INFO, bFunctionName); PH_LOG_HELPER_ADDPARAM_UINT16(PH_LOG_LOGTYPE_INFO, status_log, &status); PH_LOG_HELPER_EXECUTE(PH_LOG_OPTION_CATEGORY_LEAVE); return PH_ADD_COMPCODE(PH_ERR_INVALID_DATA_PARAMS, PH_COMP_HAL); } /* perform operation on active layer */ switch (PH_GET_COMPID(pDataParams)) { #ifdef NXPBUILD__PHHAL_HW_RC663 case PHHAL_HW_RC663_ID: status = phhalHw_Rc663_MfcAuthenticate( (phhalHw_Rc663_DataParams_t *)pDataParams, bBlockNo, bKeyType, pKey, pUid); break; #endif /* NXPBUILD__PHHAL_HW_RC663 */ #ifdef NXPBUILD__PHHAL_HW_RC523 case PHHAL_HW_RC523_ID: status = phhalHw_Rc523_MfcAuthenticate( (phhalHw_Rc523_DataParams_t *)pDataParams, bBlockNo, bKeyType, pKey, pUid); break; #endif /* NXPBUILD__PHHAL_HW_RC523 */ #ifdef NXPBUILD__PHHAL_HW_RD70X case PHHAL_HW_RD70X_ID: status = phhalHw_Rd70x_MfcAuthenticate( (phhalHw_Rd70x_DataParams_t *)pDataParams, bBlockNo, bKeyType, pKey, pUid); break; #endif /* NXPBUILD__PHHAL_HW_RD70X */ #ifdef NXPBUILD__PHHAL_HW_RD710 case PHHAL_HW_RD710_ID: status = phhalHw_Rd710_MfcAuthenticate( (phhalHw_Rd710_DataParams_t *)pDataParams, bBlockNo, bKeyType, pKey, pUid); break; #endif /* NXPBUILD__PHHAL_HW_RD710 */ #ifdef NXPBUILD__PHHAL_HW_CALLBACK case PHHAL_HW_CALLBACK_ID: status = phhalHw_Callback_MfcAuthenticate( (phhalHw_Callback_DataParams_t *)pDataParams, bBlockNo, bKeyType, pKey, pUid); break; #endif /* NXPBUILD__PHHAL_HW_CALLBACK */ #ifdef NXPBUILD__PHHAL_HW_RC632 case PHHAL_HW_RC632_ID: status = phhalHw_Rc632_MfcAuthenticate( (phhalHw_Rc632_DataParams_t *)pDataParams, bBlockNo, bKeyType, pKey, pUid); break; #endif /* NXPBUILD__PHHAL_HW_RC632 */ default: status = PH_ADD_COMPCODE(PH_ERR_INVALID_DATA_PARAMS, PH_COMP_HAL); break; } PH_LOG_HELPER_ADDSTRING(PH_LOG_LOGTYPE_INFO, bFunctionName); PH_LOG_HELPER_ADDPARAM_UINT16(PH_LOG_LOGTYPE_INFO, status_log, &status); PH_LOG_HELPER_EXECUTE(PH_LOG_OPTION_CATEGORY_LEAVE); return status; }
phStatus_t phbalReg_GetPortList( void * pDataParams, uint16_t wPortBufSize, uint8_t * pPortNames, uint16_t * pNumOfPorts ) { phStatus_t PH_MEMLOC_REM status; #ifdef NXPBUILD__PH_LOG uint16_t PH_MEMLOC_REM wCnt; uint16_t PH_MEMLOC_REM wLen; #endif /* NXPBUILD__PH_LOG */ PH_LOG_HELPER_ALLOCATE_TEXT(bFunctionName, "phbalReg_GetPortList"); /*PH_LOG_HELPER_ALLOCATE_PARAMNAME(pDataParams);*/ PH_LOG_HELPER_ALLOCATE_PARAMNAME(wPortBufSize); PH_LOG_HELPER_ALLOCATE_PARAMNAME(pPortNames); PH_LOG_HELPER_ALLOCATE_PARAMNAME(pNumOfPorts); PH_LOG_HELPER_ALLOCATE_PARAMNAME(status); PH_LOG_HELPER_ADDSTRING(PH_LOG_LOGTYPE_INFO, bFunctionName); PH_LOG_HELPER_ADDPARAM_UINT16(PH_LOG_LOGTYPE_DEBUG, wPortBufSize_log, &wPortBufSize); PH_LOG_HELPER_EXECUTE(PH_LOG_OPTION_CATEGORY_ENTER); PH_ASSERT_NULL (pDataParams); PH_ASSERT_NULL (pPortNames); PH_ASSERT_NULL (pNumOfPorts); /* Check data parameters */ if (PH_GET_COMPCODE(pDataParams) != PH_COMP_BAL) { status = PH_ADD_COMPCODE(PH_ERR_INVALID_DATA_PARAMS, PH_COMP_BAL); PH_LOG_HELPER_ADDSTRING(PH_LOG_LOGTYPE_INFO, bFunctionName); PH_LOG_HELPER_ADDPARAM_UINT16(PH_LOG_LOGTYPE_INFO, status_log, &status); PH_LOG_HELPER_EXECUTE(PH_LOG_OPTION_CATEGORY_LEAVE); return status; } /* perform operation on active layer */ switch (PH_GET_COMPID(pDataParams)) { #ifdef NXPBUILD__PHBAL_REG_STUB case PHBAL_REG_STUB_ID: status = phbalReg_Stub_GetPortList((phbalReg_Stub_DataParams_t*)pDataParams, wPortBufSize, pPortNames, pNumOfPorts); break; #endif /* NXPBUILD__PHBAL_REG_STUB */ #ifdef NXPBUILD__PHBAL_REG_LPC1768SPI case PHBAL_REG_LPC1768SPI_ID: status = phbalReg_Lpc1768Spi_GetPortList((phbalReg_Lpc1768Spi_DataParams_t *)pDataParams, wPortBufSize, pPortNames, pNumOfPorts); break; #endif /* NXPBUILD__PHBAL_REG_LPC1768SPI */ #ifdef NXPBUILD__PHBAL_REG_LPC1768I2C case PHBAL_REG_LPC1768I2C_ID: status = phbalReg_Lpc1768I2c_GetPortList((phbalReg_Lpc1768I2c_DataParams_t *)pDataParams, wPortBufSize, pPortNames, pNumOfPorts); break; #endif /* NXPBUILD__PHBAL_REG_LPC1768SPI */ default: status = PH_ADD_COMPCODE(PH_ERR_INVALID_DATA_PARAMS, PH_COMP_BAL); break; } PH_LOG_HELPER_ADDSTRING(PH_LOG_LOGTYPE_INFO, bFunctionName); #ifdef NXPBUILD__PH_LOG if ((status & PH_ERR_MASK) == PH_ERR_SUCCESS) { for (wCnt = 0; wCnt < *pNumOfPorts; wCnt++) { wLen = (uint16_t)strlen((char*)pPortNames); PH_LOG_HELPER_ADDPARAM_BUFFER(PH_LOG_LOGTYPE_DEBUG, pPortNames_log, pPortNames, wLen); pPortNames += wLen; } } #endif /* NXPBUILD__PH_LOG */ PH_LOG_HELPER_ADDPARAM_UINT16(PH_LOG_LOGTYPE_DEBUG, pNumOfPorts_log, pNumOfPorts); PH_LOG_HELPER_ADDPARAM_UINT16(PH_LOG_LOGTYPE_INFO, status_log, &status); PH_LOG_HELPER_EXECUTE(PH_LOG_OPTION_CATEGORY_LEAVE); return status; }
phStatus_t phpalEpcUid_ActivateCard( void * pDataParams, uint8_t bTagType, uint8_t bNumSlots, uint8_t * pMask, uint8_t bMaskLength, uint8_t bHash, uint8_t * pRxBuffer, uint8_t * pRxLength, uint8_t * pMoreCardsAvailable ) { phStatus_t PH_MEMLOC_REM status; #ifdef NXPBUILD__PH_LOG uint8_t PH_MEMLOC_REM bMaskByteLength; #endif PH_LOG_HELPER_ALLOCATE_TEXT(bFunctionName, "phpalEpcUid_ActivateCard"); /*PH_LOG_HELPER_ALLOCATE_PARAMNAME(pDataParams);*/ PH_LOG_HELPER_ALLOCATE_PARAMNAME(bTagType); PH_LOG_HELPER_ALLOCATE_PARAMNAME(bNumSlots); PH_LOG_HELPER_ALLOCATE_PARAMNAME(pMask); PH_LOG_HELPER_ALLOCATE_PARAMNAME(bHash); PH_LOG_HELPER_ALLOCATE_PARAMNAME(pRxBuffer); PH_LOG_HELPER_ALLOCATE_PARAMNAME(pMoreCardsAvailable); PH_LOG_HELPER_ALLOCATE_PARAMNAME(status); PH_LOG_HELPER_ADDSTRING(PH_LOG_LOGTYPE_INFO, bFunctionName); PH_LOG_HELPER_ADDPARAM_UINT8(PH_LOG_LOGTYPE_DEBUG, bTagType_log, &bTagType); PH_LOG_HELPER_ADDPARAM_UINT8(PH_LOG_LOGTYPE_DEBUG, bNumSlots_log, &bNumSlots); #ifdef NXPBUILD__PH_LOG bMaskByteLength = bMaskLength >> 3; /* check for incomplete bytes */ if (bMaskLength & 0x07) { ++bMaskByteLength; } PH_LOG_HELPER_ADDPARAM_BUFFER(PH_LOG_LOGTYPE_DEBUG, pMask_log, pMask, bMaskByteLength); #endif PH_LOG_HELPER_ADDPARAM_UINT8(PH_LOG_LOGTYPE_DEBUG, bHash_log, &bHash); PH_LOG_HELPER_EXECUTE(PH_LOG_OPTION_CATEGORY_ENTER); PH_ASSERT_NULL (pDataParams); if (bMaskLength) PH_ASSERT_NULL (pMask); PH_ASSERT_NULL (pRxBuffer); PH_ASSERT_NULL (pRxLength); PH_ASSERT_NULL (pMoreCardsAvailable); /* Check data parameters */ if (PH_GET_COMPCODE(pDataParams) != PH_COMP_PAL_EPCUID) { PH_LOG_HELPER_ADDSTRING(PH_LOG_LOGTYPE_INFO, bFunctionName); PH_LOG_HELPER_ADDPARAM_UINT16(PH_LOG_LOGTYPE_INFO, status_log, &status); PH_LOG_HELPER_EXECUTE(PH_LOG_OPTION_CATEGORY_LEAVE); return PH_ADD_COMPCODE(PH_ERR_INVALID_DATA_PARAMS, PH_COMP_PAL_EPCUID); } /* perform operation on active layer */ switch (PH_GET_COMPID(pDataParams)) { #ifdef NXPBUILD__PHPAL_EPCUID_SW case PHPAL_EPCUID_SW_ID: status = phpalEpcUid_Sw_ActivateCard( (phpalEpcUid_Sw_DataParams_t *)pDataParams, bTagType, bNumSlots, pMask, bMaskLength, bHash, pRxBuffer, pRxLength, pMoreCardsAvailable); break; #endif /* NXPBUILD__PHPAL_EPCUID_SW */ default: status = PH_ADD_COMPCODE(PH_ERR_INVALID_DATA_PARAMS, PH_COMP_PAL_EPCUID); break; } PH_LOG_HELPER_ADDSTRING(PH_LOG_LOGTYPE_INFO, bFunctionName); #ifdef NXPBUILD__PH_LOG if ((status & PH_ERR_MASK) == PH_ERR_SUCCESS) { PH_LOG_HELPER_ADDPARAM_BUFFER(PH_LOG_LOGTYPE_DEBUG, pRxBuffer_log, pRxBuffer, *pRxLength); PH_LOG_HELPER_ADDPARAM_UINT8(PH_LOG_LOGTYPE_DEBUG, pMoreCardsAvailable_log, pMoreCardsAvailable); } #endif PH_LOG_HELPER_ADDPARAM_UINT16(PH_LOG_LOGTYPE_INFO, status_log, &status); PH_LOG_HELPER_EXECUTE(PH_LOG_OPTION_CATEGORY_LEAVE); return status; }
phStatus_t phalFelica_ActivateCard( void* pDataParams, uint8_t* pSystemCode, uint8_t bTimeSlot, uint8_t* pRxBuffer, uint8_t* pRxLength, uint8_t* pMoreCardsAvailable ) { phStatus_t PH_MEMLOC_REM status; PH_LOG_HELPER_ALLOCATE_TEXT(bFunctionName, "phalFelica_ActivateCard"); PH_LOG_HELPER_ALLOCATE_PARAMNAME(pSystemCode); PH_LOG_HELPER_ALLOCATE_PARAMNAME(bTimeSlot); PH_LOG_HELPER_ALLOCATE_PARAMNAME(pRxBuffer); PH_LOG_HELPER_ALLOCATE_PARAMNAME(pMoreCardsAvailable); PH_LOG_HELPER_ALLOCATE_PARAMNAME(status); PH_LOG_HELPER_ADDSTRING(PH_LOG_LOGTYPE_INFO, bFunctionName); PH_LOG_HELPER_ADDPARAM_BUFFER(PH_LOG_LOGTYPE_INFO, pSystemCode_log, pSystemCode, 2); PH_LOG_HELPER_ADDPARAM_UINT8(PH_LOG_LOGTYPE_INFO, bTimeSlot_log, &bTimeSlot); PH_LOG_HELPER_EXECUTE(PH_LOG_OPTION_CATEGORY_ENTER); PH_ASSERT_NULL (pDataParams); PH_ASSERT_NULL (pSystemCode); PH_ASSERT_NULL (pRxBuffer); PH_ASSERT_NULL (pRxLength); PH_ASSERT_NULL (pMoreCardsAvailable); /* Check data parameters */ if (PH_GET_COMPCODE(pDataParams) != PH_COMP_AL_FELICA) { status = PH_ADD_COMPCODE(PH_ERR_INVALID_DATA_PARAMS, PH_COMP_AL_FELICA); PH_LOG_HELPER_ADDSTRING(PH_LOG_LOGTYPE_INFO, bFunctionName); PH_LOG_HELPER_ADDPARAM_UINT16(PH_LOG_LOGTYPE_INFO, status_log, &status); PH_LOG_HELPER_EXECUTE(PH_LOG_OPTION_CATEGORY_LEAVE); return status; } /* perform operation on active layer */ switch (PH_GET_COMPID(pDataParams)) { #ifdef NXPBUILD__PHAL_FELICA_SW case PHAL_FELICA_SW_ID: status = phalFelica_Sw_ActivateCard( (phalFelica_Sw_DataParams_t *)pDataParams, pSystemCode, bTimeSlot, pRxBuffer, pRxLength, pMoreCardsAvailable); break; #endif /* NXPBUILD__PHAL_FELICA_SW */ default: status = PH_ADD_COMPCODE(PH_ERR_INVALID_DATA_PARAMS, PH_COMP_AL_FELICA); break; } PH_LOG_HELPER_ADDSTRING(PH_LOG_LOGTYPE_INFO, bFunctionName); PH_LOG_HELPER_ADDPARAM_BUFFER(PH_LOG_LOGTYPE_INFO, pRxBuffer_log, pRxBuffer, *pRxLength); PH_LOG_HELPER_ADDPARAM_UINT8(PH_LOG_LOGTYPE_INFO, pMoreCardsAvailable_log, pMoreCardsAvailable); PH_LOG_HELPER_ADDPARAM_UINT16(PH_LOG_LOGTYPE_INFO, status_log, &status); PH_LOG_HELPER_EXECUTE(PH_LOG_OPTION_CATEGORY_LEAVE); return status; }
phStatus_t phhalHw_Exchange( void * pDataParams, uint16_t wOption, uint8_t * pTxBuffer, uint16_t wTxLength, uint8_t ** ppRxBuffer, uint16_t * pRxLength ) { phStatus_t PH_MEMLOC_REM status; PH_LOG_HELPER_ALLOCATE_TEXT(bFunctionName, "phhalHw_Exchange"); /*PH_LOG_HELPER_ALLOCATE_PARAMNAME(pDataParams);*/ PH_LOG_HELPER_ALLOCATE_PARAMNAME(wOption); PH_LOG_HELPER_ALLOCATE_PARAMNAME(pTxBuffer); PH_LOG_HELPER_ALLOCATE_PARAMNAME(ppRxBuffer); PH_LOG_HELPER_ALLOCATE_PARAMNAME(status); PH_LOG_HELPER_ADDSTRING(PH_LOG_LOGTYPE_INFO, bFunctionName); PH_LOG_HELPER_ADDPARAM_UINT16(PH_LOG_LOGTYPE_DEBUG, wOption_log, &wOption); PH_LOG_HELPER_ADDPARAM_BUFFER(PH_LOG_LOGTYPE_DEBUG, pTxBuffer_log, pTxBuffer, wTxLength); PH_LOG_HELPER_EXECUTE(PH_LOG_OPTION_CATEGORY_ENTER); PH_ASSERT_NULL (pDataParams); if (wTxLength) PH_ASSERT_NULL (pTxBuffer); /* Check data parameters */ if (PH_GET_COMPCODE(pDataParams) != PH_COMP_HAL) { status = PH_ADD_COMPCODE(PH_ERR_INVALID_DATA_PARAMS, PH_COMP_HAL); PH_LOG_HELPER_ADDSTRING(PH_LOG_LOGTYPE_INFO, bFunctionName); PH_LOG_HELPER_ADDPARAM_UINT16(PH_LOG_LOGTYPE_INFO, status_log, &status); PH_LOG_HELPER_EXECUTE(PH_LOG_OPTION_CATEGORY_LEAVE); return status; } /* perform operation on active layer */ switch (PH_GET_COMPID(pDataParams)) { #ifdef NXPBUILD__PHHAL_HW_RC663 case PHHAL_HW_RC663_ID: status = phhalHw_Rc663_Exchange((phhalHw_Rc663_DataParams_t *)pDataParams, wOption, pTxBuffer, wTxLength, ppRxBuffer, pRxLength); break; #endif /* NXPBUILD__PHHAL_HW_RC663 */ #ifdef NXPBUILD__PHHAL_HW_RC523 case PHHAL_HW_RC523_ID: status = phhalHw_Rc523_Exchange((phhalHw_Rc523_DataParams_t *)pDataParams, wOption, pTxBuffer, wTxLength, ppRxBuffer, pRxLength); break; #endif /* NXPBUILD__PHHAL_HW_RC523 */ #ifdef NXPBUILD__PHHAL_HW_RD70X case PHHAL_HW_RD70X_ID: status = phhalHw_Rd70x_Exchange((phhalHw_Rd70x_DataParams_t *)pDataParams, wOption, pTxBuffer, wTxLength, ppRxBuffer, pRxLength); break; #endif /* NXPBUILD__PHHAL_HW_RD70X */ #ifdef NXPBUILD__PHHAL_HW_RD710 case PHHAL_HW_RD710_ID: status = phhalHw_Rd710_Exchange((phhalHw_Rd710_DataParams_t *)pDataParams, wOption, pTxBuffer, wTxLength, ppRxBuffer, pRxLength); break; #endif /* NXPBUILD__PHHAL_HW_RD710 */ #ifdef NXPBUILD__PHHAL_HW_CALLBACK case PHHAL_HW_CALLBACK_ID: status = phhalHw_Callback_Exchange((phhalHw_Callback_DataParams_t *)pDataParams, wOption, pTxBuffer, wTxLength, ppRxBuffer, pRxLength); break; #endif /* NXPBUILD__PHHAL_HW_CALLBACK */ #ifdef NXPBUILD__PHHAL_HW_RC632 case PHHAL_HW_RC632_ID: status = phhalHw_Rc632_Exchange((phhalHw_Rc632_DataParams_t *)pDataParams, wOption, pTxBuffer, wTxLength, ppRxBuffer, pRxLength); break; #endif /* NXPBUILD__PHHAL_HW_RC632 */ default: status = PH_ADD_COMPCODE(PH_ERR_INVALID_DATA_PARAMS, PH_COMP_HAL); break; } PH_LOG_HELPER_ADDSTRING(PH_LOG_LOGTYPE_INFO, bFunctionName); #ifdef NXPBUILD__PH_LOG if ((((status & PH_ERR_MASK) == PH_ERR_SUCCESS) || ((status & PH_ERR_MASK) == PH_ERR_SUCCESS_CHAINING) || ((status & PH_ERR_MASK) == PH_ERR_SUCCESS_INCOMPLETE_BYTE)) && !(wOption & PH_EXCHANGE_BUFFERED_BIT) && (ppRxBuffer != NULL)) { PH_LOG_HELPER_ADDPARAM_BUFFER(PH_LOG_LOGTYPE_DEBUG, ppRxBuffer_log, *ppRxBuffer, *pRxLength); } #endif PH_LOG_HELPER_ADDPARAM_UINT16(PH_LOG_LOGTYPE_INFO, status_log, &status); PH_LOG_HELPER_EXECUTE(PH_LOG_OPTION_CATEGORY_LEAVE); return status; }