phStatus_t phalMfc_Sw_Init( phalMfc_Sw_DataParams_t * pDataParams, uint16_t wSizeOfDataParams, void * pPalMifareDataParams, void * pKeyStoreDataParams ) { if (sizeof(phalMfc_Sw_DataParams_t) != wSizeOfDataParams) { return PH_ADD_COMPCODE(PH_ERR_INVALID_DATA_PARAMS, PH_COMP_AL_MFC); } PH_ASSERT_NULL (pDataParams); PH_ASSERT_NULL (pPalMifareDataParams); /* init private data */ pDataParams->wId = PH_COMP_AL_MFC | PHAL_MFC_SW_ID; pDataParams->pPalMifareDataParams = pPalMifareDataParams; pDataParams->pKeyStoreDataParams = pKeyStoreDataParams; return PH_ADD_COMPCODE(PH_ERR_SUCCESS, PH_COMP_AL_MFC); }
phStatus_t phnpSnep_Fri_Init( phnpSnep_Fri_DataParams_t *pDataParams, uint16_t wSizeOfDataParams, void *plnLlcpDataParams ) { phlnLlcp_Fri_DataParams_t *lnLlcpDataparams = (phlnLlcp_Fri_DataParams_t *) plnLlcpDataParams; if (sizeof(phnpSnep_Fri_DataParams_t) != wSizeOfDataParams) { return PH_ADD_COMPCODE(PH_ERR_INVALID_DATA_PARAMS, PH_COMP_NP_SNEP); } PH_ASSERT_NULL (pDataParams); PH_ASSERT_NULL (plnLlcpDataParams); /* Init. private data */ pDataParams->wId = PH_COMP_NP_SNEP | PHNP_SNEP_FRI_ID; pDataParams->plnLlcpDataParams = plnLlcpDataParams; pDataParams->pOsal = lnLlcpDataparams->pLlcp->osal; return PH_ERR_SUCCESS; }
phStatus_t phalMful_SamAV2_X_Init( phalMful_SamAV2_X_DataParams_t * pDataParams, uint16_t wSizeOfDataParams, phhalHw_SamAV2_DataParams_t * pHalSamDataParams, phpalMifare_SamAV2_X_DataParams_t * pPalMifareDataParams ) { if (sizeof(phalMful_SamAV2_X_DataParams_t) != wSizeOfDataParams) { return PH_ADD_COMPCODE(PH_ERR_INVALID_DATA_PARAMS, PH_COMP_AL_MFUL); } PH_ASSERT_NULL (pDataParams); PH_ASSERT_NULL (pHalSamDataParams); PH_ASSERT_NULL (pPalMifareDataParams); /* init private data */ pDataParams->wId = PH_COMP_AL_MFUL | PHAL_MFUL_SAMAV2_X_ID; pDataParams->pHalSamDataParams = pHalSamDataParams; pDataParams->pPalMifareDataParams = pPalMifareDataParams; return PH_ADD_COMPCODE(PH_ERR_SUCCESS, PH_COMP_AL_MFUL); }
phStatus_t phCidManager_FreeCid( void * pDataParams, uint8_t bCid ) { phStatus_t PH_MEMLOC_REM status; PH_LOG_HELPER_ALLOCATE_TEXT(bFunctionName, "phCidManager_FreeCid"); /*PH_LOG_HELPER_ALLOCATE_PARAMNAME(pDataParams);*/ PH_LOG_HELPER_ALLOCATE_PARAMNAME(bCid); PH_LOG_HELPER_ALLOCATE_PARAMNAME(status); PH_LOG_HELPER_ADDSTRING(PH_LOG_LOGTYPE_INFO, bFunctionName); PH_LOG_HELPER_ADDPARAM_UINT8(PH_LOG_LOGTYPE_INFO, bCid_log, &bCid); PH_LOG_HELPER_EXECUTE(PH_LOG_OPTION_CATEGORY_ENTER); PH_ASSERT_NULL (pDataParams); /* Check data parameters */ if (PH_GET_COMPCODE(pDataParams) != PH_COMP_CIDMANAGER) { 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_CIDMANAGER); } /* perform operation on active layer */ switch (PH_GET_COMPID(pDataParams)) { #ifdef NXPBUILD__PH_CIDMANAGER_SW case PH_CIDMANAGER_SW_ID: status = phCidManager_Sw_FreeCid((phCidManager_Sw_DataParams_t *)pDataParams, bCid); break; #endif /* NXPBUILD__PH_CIDMANAGER_SW */ #ifdef NXPBUILD__PH_CIDMANAGER_RD710 case PH_CIDMANAGER_RD710_ID: status = phCidManager_Rd710_FreeCid((phCidManager_Rd710_DataParams_t *)pDataParams, bCid); break; #endif /* NXPBUILD__PH_CIDMANAGER_RD710 */ default: status = PH_ADD_COMPCODE(PH_ERR_INVALID_DATA_PARAMS, PH_COMP_CIDMANAGER); 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 phpalFelica_SetConfig( void * pDataParams, uint16_t wConfig, uint16_t wValue ) { phStatus_t PH_MEMLOC_REM status; PH_LOG_HELPER_ALLOCATE_TEXT(bFunctionName, "phpalFelica_SetConfig"); /*PH_LOG_HELPER_ALLOCATE_PARAMNAME(pDataParams);*/ PH_LOG_HELPER_ALLOCATE_PARAMNAME(wConfig); PH_LOG_HELPER_ALLOCATE_PARAMNAME(wValue); PH_LOG_HELPER_ALLOCATE_PARAMNAME(status); PH_LOG_HELPER_ADDSTRING(PH_LOG_LOGTYPE_INFO, bFunctionName); PH_LOG_HELPER_ADDPARAM_UINT16(PH_LOG_LOGTYPE_DEBUG, wConfig_log, &wConfig); PH_LOG_HELPER_ADDPARAM_UINT16(PH_LOG_LOGTYPE_DEBUG, wValue_log, &wValue); PH_LOG_HELPER_EXECUTE(PH_LOG_OPTION_CATEGORY_ENTER); PH_ASSERT_NULL (pDataParams); /* 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_SetConfig((phpalFelica_Sw_DataParams_t *)pDataParams, wConfig, wValue); 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_UINT16(PH_LOG_LOGTYPE_INFO, status_log, &status); PH_LOG_HELPER_EXECUTE(PH_LOG_OPTION_CATEGORY_LEAVE); return status; }
phStatus_t phCryptoRng_Seed( void * pDataParams, uint8_t * pSeed, uint8_t bSeedLength ) { phStatus_t PH_MEMLOC_REM status; PH_ASSERT_NULL (pDataParams); if (bSeedLength) PH_ASSERT_NULL (pSeed); /* Check data parameters */ if (PH_GET_COMPCODE(pDataParams) != PH_COMP_CRYPTORNG) { return PH_ADD_COMPCODE(PH_ERR_INVALID_DATA_PARAMS, PH_COMP_CRYPTORNG); } /* perform operation on active layer */ switch (PH_GET_COMPID(pDataParams)) { #ifdef NXPBUILD__PH_CRYPTORNG_SW case PH_CRYPTORNG_SW_ID: status = phCryptoRng_Sw_Seed((phCryptoRng_Sw_DataParams_t *)pDataParams,pSeed,bSeedLength); break; #endif /* NXPBUILD__PH_CRYPTORNG_SW */ #ifdef NXPBUILD__PH_CRYPTORNG_STUB case PH_CRYPTORNG_STUB_ID: status = phCryptoRng_Stub_Seed((phCryptoRng_Stub_DataParams_t *)pDataParams,pSeed,bSeedLength); break; #endif /* NXPBUILD__PH_CRYPTORNG_STUB */ default: status = PH_ADD_COMPCODE(PH_ERR_INVALID_DATA_PARAMS, PH_COMP_CRYPTORNG); break; } return status; }
phStatus_t phpalEpcUid_Sw_Init( phpalEpcUid_Sw_DataParams_t * pDataParams, uint16_t wSizeOfDataParams, void * pHalDataParams ) { /* Dataparam check */ if (sizeof(phpalEpcUid_Sw_DataParams_t) != wSizeOfDataParams) { return PH_ADD_COMPCODE(PH_ERR_INVALID_DATA_PARAMS, PH_COMP_PAL_EPCUID); } /* Pointer check */ PH_ASSERT_NULL (pDataParams); PH_ASSERT_NULL (pHalDataParams); /* init private data */ pDataParams->wId = PH_COMP_PAL_EPCUID | PHPAL_EPCUID_SW_ID; pDataParams->pHalDataParams = pHalDataParams; pDataParams->bUidValid = PH_OFF; return PH_ADD_COMPCODE(PH_ERR_SUCCESS, PH_COMP_PAL_EPCUID); }
phStatus_t phacDiscLoop_SetPtr( void * pDataParams, void * pI14443p3a, void * pI14443p4a, void * pI14443p3b, void * pFeilca, void * pI18092mPI ) { phStatus_t PH_MEMLOC_REM status; PH_LOG_HELPER_ALLOCATE_TEXT(bFunctionName, "phacDiscLoop_SetPtr"); /*PH_LOG_HELPER_ALLOCATE_PARAMNAME(pDataParams); */ 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 (pI14443p3a); PH_ASSERT_NULL (pI14443p4a); PH_ASSERT_NULL (pI14443p3b); PH_ASSERT_NULL (pFeilca); PH_ASSERT_NULL (pI18092mPI); /* Check data parameters */ if (PH_GET_COMPCODE(pDataParams) != PH_COMP_AC_DISCLOOP) { PH_LOG_HELPER_ADDSTRING(PH_LOG_LOGTYPE_INFO, bFunctionName); status = PH_ADD_COMPCODE(PH_ERR_INVALID_DATA_PARAMS, PH_COMP_AC_DISCLOOP); 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_AC_DISCLOOP); } switch(PH_GET_COMPID(pDataParams)) { #ifdef NXPBUILD__PHAC_DISCLOOP_SW case PHAC_DISCLOOP_SW_ID: status = phacDiscLoop_Sw_SetPtr(pDataParams, pI14443p3a, pI14443p4a, pI14443p3b, pFeilca, pI18092mPI ); break; #endif /* NXPBUILD__PHAC_DISCLOOP_SW */ default: status = PH_ADD_COMPCODE(PH_ERR_INVALID_DATA_PARAMS, PH_COMP_AC_DISCLOOP); 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_RestoreTransfer( void * pDataParams, uint8_t bSrcBlockNo, uint8_t bDstBlockNo ) { phStatus_t PH_MEMLOC_REM status; PH_LOG_HELPER_ALLOCATE_TEXT(bFunctionName, "phalMfc_RestoreTransfer"); /*PH_LOG_HELPER_ALLOCATE_PARAMNAME(pDataParams);*/ PH_LOG_HELPER_ALLOCATE_PARAMNAME(bSrcBlockNo); PH_LOG_HELPER_ALLOCATE_PARAMNAME(bDstBlockNo); PH_LOG_HELPER_ALLOCATE_PARAMNAME(status); PH_LOG_HELPER_ADDSTRING(PH_LOG_LOGTYPE_INFO, bFunctionName); PH_LOG_HELPER_ADDPARAM_UINT8(PH_LOG_LOGTYPE_DEBUG, bSrcBlockNo_log, &bSrcBlockNo); PH_LOG_HELPER_ADDPARAM_UINT8(PH_LOG_LOGTYPE_DEBUG, bDstBlockNo_log, &bDstBlockNo); PH_LOG_HELPER_EXECUTE(PH_LOG_OPTION_CATEGORY_ENTER); PH_ASSERT_NULL (pDataParams); 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_RestoreTransfer((phalMfc_Sw_DataParams_t *)pDataParams, bSrcBlockNo, bDstBlockNo); 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 phacDiscLoop_SetConfig( void * pDataParams, uint16_t wConfig, uint16_t wValue ) { phStatus_t PH_MEMLOC_REM status; PH_LOG_HELPER_ALLOCATE_TEXT(bFunctionName, "phacDiscLoop_SetConfig"); /*PH_LOG_HELPER_ALLOCATE_PARAMNAME(pDataParams); */ PH_LOG_HELPER_ALLOCATE_PARAMNAME(wConfig); PH_LOG_HELPER_ALLOCATE_PARAMNAME(wValue); PH_LOG_HELPER_ALLOCATE_PARAMNAME(status); PH_LOG_HELPER_ADDSTRING(PH_LOG_LOGTYPE_INFO, bFunctionName); PH_LOG_HELPER_ADDPARAM_UINT16(PH_LOG_LOGTYPE_DEBUG, wConfig_log, &wConfig); PH_LOG_HELPER_ADDPARAM_UINT16(PH_LOG_LOGTYPE_DEBUG, wValue_log, &wValue); PH_LOG_HELPER_EXECUTE(PH_LOG_OPTION_CATEGORY_ENTER); PH_ASSERT_NULL (pDataParams); /* Check data parameters */ if (PH_GET_COMPCODE(pDataParams) != PH_COMP_AC_DISCLOOP) { PH_LOG_HELPER_ADDSTRING(PH_LOG_LOGTYPE_INFO, bFunctionName); status = PH_ADD_COMPCODE(PH_ERR_INVALID_DATA_PARAMS, PH_COMP_AC_DISCLOOP); 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_AC_DISCLOOP); } switch (PH_GET_COMPID(pDataParams)) { #ifdef NXPBUILD__PHAC_DISCLOOP_SW case PHAC_DISCLOOP_SW_ID: status = phacDiscLoop_Sw_SetConfig(pDataParams, wConfig, wValue); break; #endif /* NXPBUILD__PHAC_DISCLOOP_SW */ default: status = PH_ADD_COMPCODE(PH_ERR_INVALID_DATA_PARAMS, PH_COMP_AC_DISCLOOP); 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; }
/* SNEP Client De-Initialization API */ phStatus_t phnpSnep_Client_DeInit( void *pDataParams, ph_NfcHandle ConnHandle ) { phStatus_t status; PH_LOG_HELPER_ALLOCATE_TEXT(bFunctionName, "phnpSnep_Client_DeInit"); PH_LOG_HELPER_ADDSTRING(PH_LOG_LOGTYPE_INFO, bFunctionName); PH_LOG_HELPER_EXECUTE(PH_LOG_OPTION_CATEGORY_ENTER); PH_ASSERT_NULL (pDataParams); status = phnpSnep_Fri_Client_DeInit( (phnpSnep_Fri_DataParams_t *) pDataParams, ConnHandle ); return status; }
/* SNEP Server De-Initialization API */ phStatus_t phnpSnep_Server_DeInit ( void *pDataParams, ph_NfcHandle ServerHandle ) { phStatus_t status; PH_LOG_HELPER_ALLOCATE_TEXT(bFunctionName, "phnpSnep_Server_DeInit"); 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); /* Check data parameters */ if (PH_GET_COMPCODE(pDataParams) != PH_COMP_NP_SNEP) { status = PH_ADD_COMPCODE(PH_ERR_INVALID_DATA_PARAMS, PH_COMP_NP_SNEP); 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__PHNP_SNEP_FRI case PHNP_SNEP_FRI_ID: status = phnpSnep_Fri_Server_DeInit( pDataParams, ServerHandle ); break; #endif /* NXPBUILD__PHNP_SNEP_FRI */ default: status = PH_ADD_COMPCODE(PH_ERR_INVALID_DATA_PARAMS, PH_COMP_NP_SNEP); 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_HaltA( void * pDataParams ) { phStatus_t PH_MEMLOC_REM status; PH_LOG_HELPER_ALLOCATE_TEXT(bFunctionName, "phpalI14443p3a_HaltA"); /*PH_LOG_HELPER_ALLOCATE_PARAMNAME(pDataParams);*/ 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); /* Check data parameters */ if (PH_GET_COMPCODE(pDataParams) != PH_COMP_PAL_ISO14443P3A) { status = PH_ADD_COMPCODE(PH_ERR_INVALID_DATA_PARAMS, 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 status; } /* perform operation on active layer */ switch (PH_GET_COMPID(pDataParams)) { #ifdef NXPBUILD__PHPAL_I14443P3A_SW case PHPAL_I14443P3A_SW_ID: status = phpalI14443p3a_Sw_HaltA((phpalI14443p3a_Sw_DataParams_t *)pDataParams); break; #endif /* NXPBUILD__PHPAL_I14443P3A_SW */ default: status = PH_ADD_COMPCODE(PH_ERR_INVALID_DATA_PARAMS, PH_COMP_PAL_ISO14443P3A); 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_LockPWD( void * pDataParams, uint8_t bPwdIdentifier ) { phStatus_t PH_MEMLOC_REM status; PH_LOG_HELPER_ALLOCATE_TEXT(bFunctionName, "phalSli_LockPWD"); /*PH_LOG_HELPER_ALLOCATE_PARAMNAME(pDataParams);*/ PH_LOG_HELPER_ALLOCATE_PARAMNAME(bPwdIdentifier); 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_EXECUTE(PH_LOG_OPTION_CATEGORY_ENTER); PH_ASSERT_NULL (pDataParams); 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_LockPWD((phalSli_Sw_DataParams_t *)pDataParams, bPwdIdentifier); 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 phpalMifare_Stub_Init( phpalMifare_Stub_DataParams_t * pDataParams, uint16_t wSizeOfDataParams ) { if (sizeof(phpalMifare_Stub_DataParams_t) != wSizeOfDataParams) { return PH_ADD_COMPCODE(PH_ERR_INVALID_DATA_PARAMS, PH_COMP_PAL_MIFARE); } PH_ASSERT_NULL (pDataParams); /* init private data */ pDataParams->wId = PH_COMP_PAL_MIFARE | PHPAL_MIFARE_STUB_ID; /* TODO: Replace and insert initialisation code here */ pDataParams = NULL; return PH_ADD_COMPCODE(PH_ERR_SUCCESS, PH_COMP_PAL_MIFARE); }
phStatus_t phhalHw_Callback_Init( phhalHw_Callback_DataParams_t * pDataParams, uint16_t wSizeOfDataParams, cbExchange pExchangeCb, cbWriteRegister pWriteRegisterCb, cbReadRegister pReadRegisterCb, cbApplyProtocolSettings pApplyProtocolSettingsCb, cbMfcAuthenticate pMfcAuthenticateCb, cbMfcAuthenticateKey pMfcAuthenticateKeyCb, cbSetConfig pSetConfigCb, cbGetConfig pGetConfigCb, cbFieldOn pFieldOnCb, cbFieldOff pFieldOffCb, cbFieldReset pFieldResetCb, cbWait pWaitCb, cbListen pListenCb, void * pCallbackContext ) { if (sizeof(phhalHw_Callback_DataParams_t) != wSizeOfDataParams) { return PH_ADD_COMPCODE(PH_ERR_INVALID_DATA_PARAMS, PH_COMP_HAL); } PH_ASSERT_NULL (pDataParams); pDataParams->wId = PH_COMP_HAL | PHHAL_HW_CALLBACK_ID; pDataParams->pExchangeCb = pExchangeCb; pDataParams->pWriteRegisterCb = pWriteRegisterCb; pDataParams->pReadRegisterCb = pReadRegisterCb; pDataParams->pApplyProtocolSettingsCb = pApplyProtocolSettingsCb; pDataParams->pMfcAuthenticateCb = pMfcAuthenticateCb; pDataParams->pMfcAuthenticateKeyCb = pMfcAuthenticateKeyCb; pDataParams->pSetConfigCb = pSetConfigCb; pDataParams->pGetConfigCb = pGetConfigCb; pDataParams->pFieldOnCb = pFieldOnCb; pDataParams->pFieldOffCb = pFieldOffCb; pDataParams->pFieldResetCb = pFieldResetCb; pDataParams->pWaitCb = pWaitCb; pDataParams->pCbContext = pCallbackContext; pDataParams->pListenCb = pListenCb; return PH_ADD_COMPCODE(PH_ERR_SUCCESS, PH_COMP_HAL); }
phStatus_t phalTop_FormatNdef( void * pDataParams ) { phStatus_t PH_MEMLOC_REM status; PH_LOG_HELPER_ALLOCATE_TEXT(bFunctionName, "phalTop_FormatNdef"); 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); /* 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_FormatNdef(pDataParams); 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); 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 phalVca_Sw_Init( phalVca_Sw_DataParams_t * pDataParams, uint16_t wSizeOfDataParams, void * pPalMifareDataParams, void * pKeyStoreDataParams, void * pCryptoDataParams, void * pCryptoRngDataParams, phalVca_Sw_IidTableEntry_t * pIidTableStorage, uint16_t wNumIidTableStorageEntries, phalVca_Sw_CardTableEntry_t * pCardTableStorage, uint16_t wNumCardTableStorageEntries ) { if (sizeof(phalVca_Sw_DataParams_t) != wSizeOfDataParams) { return PH_ADD_COMPCODE(PH_ERR_INVALID_DATA_PARAMS, PH_COMP_AL_VCA); } PH_ASSERT_NULL (pDataParams); PH_ASSERT_NULL (pPalMifareDataParams); PH_ASSERT_NULL (pKeyStoreDataParams); PH_ASSERT_NULL (pCryptoDataParams); PH_ASSERT_NULL (pCryptoRngDataParams); if (wNumIidTableStorageEntries) PH_ASSERT_NULL (pIidTableStorage); if (wNumCardTableStorageEntries) PH_ASSERT_NULL (pCardTableStorage); /* init private data */ pDataParams->wId = PH_COMP_AL_VCA | PHAL_VCA_SW_ID; pDataParams->pPalMifareDataParams = pPalMifareDataParams; pDataParams->pKeyStoreDataParams = pKeyStoreDataParams; pDataParams->pCryptoDataParams = pCryptoDataParams; pDataParams->wCurrentCardTablePos = 0; pDataParams->pCardTable = pCardTableStorage; pDataParams->wNumCardTableEntries = wNumCardTableStorageEntries; pDataParams->pIidTable = pIidTableStorage; pDataParams->wCurrentIidTablePos = 0; pDataParams->wNumIidTableEntries = wNumIidTableStorageEntries; pDataParams->pCryptoRngDataParams = pCryptoRngDataParams; return PH_ADD_COMPCODE(PH_ERR_SUCCESS, PH_COMP_AL_VCA); }
phStatus_t phacDiscLoop_Start(void * pDataParams) { phStatus_t PH_MEMLOC_REM status; PH_LOG_HELPER_ALLOCATE_TEXT(bFunctionName, "phacDiscLoop_Start"); /*PH_LOG_HELPER_ALLOCATE_PARAMNAME(pDataParams);*/ 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); /* Check data parameters */ if (PH_GET_COMPCODE(pDataParams) != PH_COMP_AC_DISCLOOP) { PH_LOG_HELPER_ADDSTRING(PH_LOG_LOGTYPE_INFO, bFunctionName); status = PH_ADD_COMPCODE(PH_ERR_INVALID_DATA_PARAMS, PH_COMP_AC_DISCLOOP); 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_AC_DISCLOOP); } /* Select the active layer to perform the action */ switch (PH_GET_COMPID(pDataParams)) { #ifdef NXPBUILD__PHAC_DISCLOOP_SW case PHAC_DISCLOOP_SW_ID: status = phacDiscLoop_Sw_Start(pDataParams); break; #endif /* NXPBUILD__PHAC_DISCLOOP_SW */ default: status = PH_ADD_COMPCODE(PH_ERR_INVALID_DATA_PARAMS, PH_COMP_AC_DISCLOOP); break; } return status; }
phStatus_t phalVca_SamAV2_Init( phalVca_SamAV2_DataParams_t * pDataParams, uint16_t wSizeOfDataParams, phhalHw_SamAV2_DataParams_t * pSamHal, void * pPalMifareDataParams, uint8_t * pRndq, phalVca_SamAV2_KeyDuos_t * pKeyDuos, uint8_t bNumKeyDuos, phalVca_SamAV2_CardTableEntry_t * pCardTableStorage, uint16_t wNumCardTableStorageEntries ) { if (sizeof(phalVca_SamAV2_DataParams_t) != wSizeOfDataParams) { return PH_ADD_COMPCODE(PH_ERR_INVALID_DATA_PARAMS, PH_COMP_AL_VCA); } PH_ASSERT_NULL (pDataParams); PH_ASSERT_NULL (pPalMifareDataParams); PH_ASSERT_NULL (pSamHal); PH_ASSERT_NULL (pRndq); PH_ASSERT_NULL (pKeyDuos); if (wNumCardTableStorageEntries) PH_ASSERT_NULL (pCardTableStorage); /* init private data */ pDataParams->wId = PH_COMP_AL_VCA | PHAL_VCA_SAMAV2_ID; pDataParams->pPalMifareDataParams = pPalMifareDataParams; pDataParams->pSamHal = pSamHal; pDataParams->pRndq = pRndq; pDataParams->pKeyDuos = pKeyDuos; pDataParams->bNumKeyDuos = bNumKeyDuos; pDataParams->wCurrentCardTablePos = 0; pDataParams->pCardTable = pCardTableStorage; pDataParams->wNumCardTableEntries = wNumCardTableStorageEntries; return PH_ADD_COMPCODE(PH_ERR_SUCCESS, PH_COMP_AL_VCA); }
phStatus_t phalMful_Read( void * pDataParams, uint8_t bAddress, uint8_t * pData ) { phStatus_t PH_MEMLOC_REM status; PH_LOG_HELPER_ALLOCATE_TEXT(bFunctionName, "phalMful_Read"); /*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_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_Read((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_Read((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_Read((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); #ifdef NXPBUILD__PH_LOG if ( (status & PH_ERR_MASK) == PH_ERR_SUCCESS) { PH_LOG_HELPER_ADDPARAM_BUFFER(PH_LOG_LOGTYPE_DEBUG, pData_log, pData, PHAL_MFUL_READ_BLOCK_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 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 phalFelica_Read( void * pDataParams, uint8_t bNumServices, uint8_t* pServiceList, uint8_t bTxNumBlocks, uint8_t* pBlockList, uint8_t bBlockListLength, uint8_t* pRxNumBlocks, uint8_t* pBlockData ) { phStatus_t PH_MEMLOC_REM status; PH_LOG_HELPER_ALLOCATE_TEXT(bFunctionName, "phalFelica_Read"); PH_LOG_HELPER_ALLOCATE_PARAMNAME(pServiceList); PH_LOG_HELPER_ALLOCATE_PARAMNAME(pBlockList); 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, pBlockList_log, pBlockList, 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 (pRxNumBlocks); 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_Read((phalFelica_Sw_DataParams_t *)pDataParams, bNumServices, pServiceList, bTxNumBlocks, pBlockList, bBlockListLength, pRxNumBlocks, 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); #ifdef NXPBUILD__PH_LOG if ((status & PH_ERR_MASK) == PH_ERR_SUCCESS) { PH_LOG_HELPER_ADDPARAM_BUFFER(PH_LOG_LOGTYPE_DEBUG, pBlockData_log, pBlockData, *pRxNumBlocks); } #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 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_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 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); }