
Marking local functions: FlexCAN_ProcessSpuriousInterruptMB FlexCAN_IRQHandlerRxFIFO FlexCAN_ClearWUMF FlexCAN_GetWUMIE FlexCAN_GetWUMF FlexCAN_ClearWTOF FlexCAN_GetWTOIE FlexCAN_GetWTOF FlexCAN_SetPN FlexCAN_SetRegDefaultVal FlexCAN_SetRxMaskType FlexCAN_SetTxArbitrationStartDelay FlexCAN_SetRxIndividualMask FlexCAN_SetRxMsgBuffGlobalMask FlexCAN_GetMsgBuffIntStatusFlag FlexCAN_SetClkSrc RxFifoOcuppiedLastMsgBuff FlexCAN_IsListenOnlyModeEnabled FlexCAN_IsFDEnabled FlexCAN_SetSelfReception FlexCAN_EnableExtCbt FlexCAN_IsExCbtEnabled FlexCAN_GetFDTimeSegments FlexCAN_GetTimeSegments FlexCAN_GetExtendedTimeSegments FlexCAN_SetExtendedTimeSegments FlexCAN_SetTimeSegments FlexCAN_SetFDTimeSegments FlexCAN_GetBuffStatusImask FlexCAN_GetBuffStatusFlag FlexCAN_ClearMsgBuffIntStatusFlag FlexCAN_UnlockRxMsgBuff FlexCAN_SetListenOnlyMode FlexCAN_SetFDEnabled FlexCAN_IsEnabled FlexCAN_SetTDCOffset FlexCAN_SetRxFifoGlobalMask


Marking externally visible functions: FlexCAN_Ip_ManualBusOffRecovery FlexCAN_WakeUp_IRQHandler FlexCAN_Ip_GetWMB FlexCAN_Ip_ConfigPN_Privileged FlexCAN_Ip_GetListenOnlyMode FlexCAN_Ip_SetListenOnlyMode_Privileged FlexCAN_Ip_SetRxMb15Mask_Privileged FlexCAN_Ip_SetRxMb14Mask_Privileged FlexCAN_Ip_AbortTransfer FlexCAN_Ip_SetErrorInt_Privileged FlexCAN_Ip_DisableInterrupts_Privileged FlexCAN_Ip_EnableInterrupts_Privileged FlexCAN_Ip_ClearBuffStatusFlag FlexCAN_Ip_GetBuffStatusFlag FlexCAN_Ip_SetTxArbitrationStartDelay_Privileged FlexCAN_Ip_SetTDCOffset_Privileged FlexCAN_Ip_GetBitrateFD FlexCAN_Ip_SetBitrateCbt_Privileged FlexCAN_Ip_GetTDCValue FlexCAN_Ip_GetTDCFail FlexCAN_Ip_ClearTDCFail FlexCAN_Ip_GetBitrate FlexCAN_Ip_SetBitrate_Privileged FlexCAN_Ip_SetRxMaskType_Privileged FlexCAN_Ip_SetStopMode_Privileged FlexCAN_Ip_SetStartMode_Privileged FlexCAN_Ip_GetStartMode_Privileged FlexCAN_Ip_GetStopMode_Privileged FlexCAN_Ip_MainFunctionWrite FlexCAN_Ip_MainFunctionBusOff_Privileged FlexCAN_Ip_MainFunctionRead FlexCAN_Ip_Deinit_Privileged FlexCAN_Ip_SetRxFifoGlobalMask_Privileged FlexCAN_Ip_SetRxIndividualMask_Privileged FlexCAN_Ip_ExitFreezeMode_Privileged FlexCAN_Ip_EnterFreezeMode_Privileged FlexCAN_Ip_SetRxMbGlobalMask_Privileged FlexCAN_Ip_SendBlocking FlexCAN_BusOff_IRQHandler FlexCAN_Error_IRQHandler FlexCAN_Ip_GetControllerRxErrorCounter FlexCAN_Ip_GetControllerTxErrorCounter FlexCAN_Ip_GetErrorStatus FlexCAN_Ip_ClearErrorStatus FlexCAN_IRQHandler FlexCAN_Ip_GetTransferStatus FlexCAN_Ip_ConfigRemoteResponseMb FlexCAN_Ip_ConfigRxFifo_Privileged FlexCAN_Ip_RxFifoBlocking FlexCAN_Ip_RxFifo FlexCAN_Ip_ReceiveBlocking FlexCAN_Ip_Receive FlexCAN_Ip_ConfigRxMb FlexCAN_Ip_Send FlexCAN_Ip_Init_Privileged


Marking externally visible variables:


Reclaiming functions:
Reclaiming variables:
Clearing address taken flags:
Symbol table:

SchM_Exit_Can_CAN_EXCLUSIVE_AREA_20/172 (SchM_Exit_Can_CAN_EXCLUSIVE_AREA_20) @0726dee0
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags:
  Called by: FlexCAN_Ip_ManualBusOffRecovery/124 
  Calls: 
SchM_Enter_Can_CAN_EXCLUSIVE_AREA_20/171 (SchM_Enter_Can_CAN_EXCLUSIVE_AREA_20) @0726de00
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags:
  Called by: FlexCAN_Ip_ManualBusOffRecovery/124 
  Calls: 
SchM_Exit_Can_CAN_EXCLUSIVE_AREA_12/170 (SchM_Exit_Can_CAN_EXCLUSIVE_AREA_12) @0726d460
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags:
  Called by: FlexCAN_Ip_ConfigPN_Privileged/121 
  Calls: 
SchM_Enter_Can_CAN_EXCLUSIVE_AREA_12/169 (SchM_Enter_Can_CAN_EXCLUSIVE_AREA_12) @0726d380
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags:
  Called by: FlexCAN_Ip_ConfigPN_Privileged/121 
  Calls: 
FlexCAN_ConfigPN/168 (FlexCAN_ConfigPN) @0726d2a0
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags:
  Called by: FlexCAN_Ip_ConfigPN_Privileged/121 
  Calls: 
SchM_Exit_Can_CAN_EXCLUSIVE_AREA_10/167 (SchM_Exit_Can_CAN_EXCLUSIVE_AREA_10) @0725dee0
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags:
  Called by: FlexCAN_Ip_SetListenOnlyMode_Privileged/119 
  Calls: 
SchM_Enter_Can_CAN_EXCLUSIVE_AREA_10/166 (SchM_Enter_Can_CAN_EXCLUSIVE_AREA_10) @0725de00
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags:
  Called by: FlexCAN_Ip_SetListenOnlyMode_Privileged/119 
  Calls: 
FlexCAN_SetErrIntCmd/165 (FlexCAN_SetErrIntCmd) @0725d9a0
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags:
  Called by: FlexCAN_Ip_SetErrorInt_Privileged/115 FlexCAN_Ip_SetErrorInt_Privileged/115 FlexCAN_Ip_SetErrorInt_Privileged/115 FlexCAN_Ip_SetErrorInt_Privileged/115 FlexCAN_Ip_SetErrorInt_Privileged/115 
  Calls: 
FlexCAN_DisableInterrupts/164 (FlexCAN_DisableInterrupts) @0725d7e0
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags:
  Called by: FlexCAN_Ip_DisableInterrupts_Privileged/114 
  Calls: 
FlexCAN_EnableInterrupts/163 (FlexCAN_EnableInterrupts) @0725d620
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags:
  Called by: FlexCAN_Ip_EnableInterrupts_Privileged/113 
  Calls: 
SchM_Exit_Can_CAN_EXCLUSIVE_AREA_17/162 (SchM_Exit_Can_CAN_EXCLUSIVE_AREA_17) @0725d1c0
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags:
  Called by: FlexCAN_Ip_SetTxArbitrationStartDelay_Privileged/110 
  Calls: 
SchM_Enter_Can_CAN_EXCLUSIVE_AREA_17/161 (SchM_Enter_Can_CAN_EXCLUSIVE_AREA_17) @0725d0e0
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags:
  Called by: FlexCAN_Ip_SetTxArbitrationStartDelay_Privileged/110 
  Calls: 
SchM_Exit_Can_CAN_EXCLUSIVE_AREA_16/160 (SchM_Exit_Can_CAN_EXCLUSIVE_AREA_16) @0724fe00
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags:
  Called by: FlexCAN_Ip_SetTDCOffset_Privileged/109 
  Calls: 
SchM_Enter_Can_CAN_EXCLUSIVE_AREA_16/159 (SchM_Enter_Can_CAN_EXCLUSIVE_AREA_16) @0724fd20
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags:
  Called by: FlexCAN_Ip_SetTDCOffset_Privileged/109 
  Calls: 
SchM_Exit_Can_CAN_EXCLUSIVE_AREA_15/158 (SchM_Exit_Can_CAN_EXCLUSIVE_AREA_15) @0724f8c0
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags:
  Called by: FlexCAN_Ip_SetBitrateCbt_Privileged/107 
  Calls: 
SchM_Enter_Can_CAN_EXCLUSIVE_AREA_15/157 (SchM_Enter_Can_CAN_EXCLUSIVE_AREA_15) @0724f7e0
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags:
  Called by: FlexCAN_Ip_SetBitrateCbt_Privileged/107 
  Calls: 
SchM_Exit_Can_CAN_EXCLUSIVE_AREA_09/156 (SchM_Exit_Can_CAN_EXCLUSIVE_AREA_09) @0724f460
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags:
  Called by: FlexCAN_Ip_ClearTDCFail/104 
  Calls: 
SchM_Enter_Can_CAN_EXCLUSIVE_AREA_09/155 (SchM_Enter_Can_CAN_EXCLUSIVE_AREA_09) @0724f380
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags:
  Called by: FlexCAN_Ip_ClearTDCFail/104 
  Calls: 
SchM_Exit_Can_CAN_EXCLUSIVE_AREA_14/154 (SchM_Exit_Can_CAN_EXCLUSIVE_AREA_14) @07240e00
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags:
  Called by: FlexCAN_Ip_SetBitrate_Privileged/102 
  Calls: 
SchM_Enter_Can_CAN_EXCLUSIVE_AREA_14/153 (SchM_Enter_Can_CAN_EXCLUSIVE_AREA_14) @07240d20
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags:
  Called by: FlexCAN_Ip_SetBitrate_Privileged/102 
  Calls: 
SchM_Exit_Can_CAN_EXCLUSIVE_AREA_08/152 (SchM_Exit_Can_CAN_EXCLUSIVE_AREA_08) @07240a80
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags:
  Called by: FlexCAN_Ip_SetRxMaskType_Privileged/101 
  Calls: 
SchM_Enter_Can_CAN_EXCLUSIVE_AREA_08/151 (SchM_Enter_Can_CAN_EXCLUSIVE_AREA_08) @072409a0
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags:
  Called by: FlexCAN_Ip_SetRxMaskType_Privileged/101 
  Calls: 
SchM_Exit_Can_CAN_EXCLUSIVE_AREA_07/150 (SchM_Exit_Can_CAN_EXCLUSIVE_AREA_07) @07240700
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags:
  Called by: FlexCAN_Ip_SetStartMode_Privileged/99 
  Calls: 
SchM_Enter_Can_CAN_EXCLUSIVE_AREA_07/149 (SchM_Enter_Can_CAN_EXCLUSIVE_AREA_07) @07240620
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags:
  Called by: FlexCAN_Ip_SetStartMode_Privileged/99 
  Calls: 
FlexCAN_ExitFreezeMode/148 (FlexCAN_ExitFreezeMode) @0722ba80
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags:
  Called by: FlexCAN_Ip_SetStartMode_Privileged/99 FlexCAN_Ip_ExitFreezeMode_Privileged/90 
  Calls: 
FlexCAN_SetRxFifoFilter/147 (FlexCAN_SetRxFifoFilter) @07214700
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags:
  Called by: FlexCAN_Ip_ConfigRxFifo_Privileged/76 
  Calls: 
FlexCAN_Enable/146 (FlexCAN_Enable) @07214620
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags:
  Called by: FlexCAN_Ip_ConfigPN_Privileged/121 FlexCAN_Ip_SetListenOnlyMode_Privileged/119 FlexCAN_Ip_SetRxMb15Mask_Privileged/118 FlexCAN_Ip_SetRxMb14Mask_Privileged/117 FlexCAN_Ip_SetErrorInt_Privileged/115 FlexCAN_Ip_SetTxArbitrationStartDelay_Privileged/110 FlexCAN_Ip_SetTDCOffset_Privileged/109 FlexCAN_Ip_SetBitrateCbt_Privileged/107 FlexCAN_Ip_SetBitrate_Privileged/102 FlexCAN_Ip_SetRxMaskType_Privileged/101 FlexCAN_Ip_SetRxFifoGlobalMask_Privileged/92 FlexCAN_Ip_SetRxIndividualMask_Privileged/91 FlexCAN_Ip_SetRxMbGlobalMask_Privileged/88 FlexCAN_Ip_ConfigRxFifo_Privileged/76 
  Calls: 
FlexCAN_SetRxMsgBuff/145 (FlexCAN_SetRxMsgBuff) @07214000
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags:
  Called by: FlexCAN_Ip_ConfigRxMb/71 FlexCAN_Ip_ConfigRxMb/71 FlexCAN_Ip_ConfigRxMb/71 
  Calls: 
FlexCAN_SetOperationMode/144 (FlexCAN_SetOperationMode) @071fe8c0
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags:
  Called by: FlexCAN_Ip_Init_Privileged/69 
  Calls: 
FLEXCAN_ClearMsgBuffIntCmd/143 (FLEXCAN_ClearMsgBuffIntCmd) @071fe620
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags:
  Called by: FlexCAN_Ip_AbortTransfer/116 FlexCAN_AbortRxTransfer/68 
  Calls: 
FlexCAN_GetMsgBuffTimestamp/142 (FlexCAN_GetMsgBuffTimestamp) @071fe380
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags:
  Called by: FlexCAN_Ip_MainFunctionWrite/96 FlexCAN_IRQHandlerTxMB/64 
  Calls: 
FlexCAN_GetMsgBuff/141 (FlexCAN_GetMsgBuff) @071fe0e0
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags:
  Called by: FlexCAN_IRQHandlerTxMB/64 FlexCAN_IRQHandlerRxMB/63 
  Calls: 
FlexCAN_LockRxMsgBuff/140 (FlexCAN_LockRxMsgBuff) @071fe000
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags:
  Called by: FlexCAN_IRQHandlerTxMB/64 FlexCAN_IRQHandlerRxMB/63 
  Calls: 
FlexCAN_SetTxMsgBuff/139 (FlexCAN_SetTxMsgBuff) @071e8c40
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags:
  Called by: FlexCAN_Ip_ConfigRemoteResponseMb/77 FlexCAN_StartSendData/61 
  Calls: 
FlexCAN_GetMsgBuffRegion/138 (FlexCAN_GetMsgBuffRegion) @071e8b60
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags:
  Called by: FlexCAN_Ip_SendBlocking/87 FlexCAN_Ip_ConfigRemoteResponseMb/77 FlexCAN_AbortRxTransfer/68 FlexCAN_AbortRxTransfer/68 FlexCAN_AbortTxTransfer/67 FlexCAN_IRQHandlerRxMB/63 FlexCAN_StartSendData/61 
  Calls: 
FlexCAN_ReadRxFifo/137 (FlexCAN_ReadRxFifo) @071e87e0
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags:
  Called by: FlexCAN_IRQHandlerRxFIFO/65 
  Calls: 
FlexCAN_SetMsgBuffIntCmd/136 (FlexCAN_SetMsgBuffIntCmd) @071e8540
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags:
  Called by: FlexCAN_CompleteRxMessageFifoData/79 FlexCAN_CompleteRxMessageFifoData/79 FlexCAN_CompleteRxMessageFifoData/79 FlexCAN_Ip_ConfigRemoteResponseMb/77 FlexCAN_IRQHandlerTxMB/64 FlexCAN_IRQHandlerTxMB/64 FlexCAN_IRQHandlerRxMB/63 FlexCAN_IRQHandlerRxMB/63 FlexCAN_StartRxMessageFifoData/62 FlexCAN_StartRxMessageFifoData/62 FlexCAN_StartRxMessageFifoData/62 FlexCAN_ProccessLegacyRxFIFO/59 FlexCAN_ProccessLegacyRxFIFO/59 FlexCAN_ProccessLegacyRxFIFO/59 
  Calls: 
OsIf_GetElapsed/135 (OsIf_GetElapsed) @071e8460
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags:
  Called by: FlexCAN_Ip_ManualBusOffRecovery/124 FlexCAN_Ip_SendBlocking/87 FlexCAN_Ip_SendBlocking/87 FlexCAN_Ip_ReceiveBlocking/73 FlexCAN_AbortTxTransfer/67 FlexCAN_ProccessLegacyRxFIFO/59 
  Calls: 
OsIf_GetCounter/134 (OsIf_GetCounter) @071e8380
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags:
  Called by: FlexCAN_Ip_ManualBusOffRecovery/124 FlexCAN_Ip_SendBlocking/87 FlexCAN_Ip_SendBlocking/87 FlexCAN_Ip_ReceiveBlocking/73 FlexCAN_AbortTxTransfer/67 FlexCAN_ProccessLegacyRxFIFO/59 
  Calls: 
OsIf_MicrosToTicks/133 (OsIf_MicrosToTicks) @071e82a0
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags:
  Called by: FlexCAN_Ip_ManualBusOffRecovery/124 FlexCAN_Ip_SendBlocking/87 FlexCAN_Ip_SendBlocking/87 FlexCAN_Ip_ReceiveBlocking/73 FlexCAN_AbortTxTransfer/67 FlexCAN_ProccessLegacyRxFIFO/59 
  Calls: 
FlexCAN_ConfigCtrlOptions/132 (FlexCAN_ConfigCtrlOptions) @071d0d20
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags:
  Called by: FlexCAN_InitController/58 
  Calls: 
FlexCAN_IsFDAvailable/131 (FlexCAN_IsFDAvailable) @071d0c40
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags:
  Called by: FlexCAN_SetRegDefaultVal/35 FlexCAN_InitController/58 
  Calls: 
FlexCAN_Init/130 (FlexCAN_Init) @071d0b60
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags:
  Called by: FlexCAN_InitController/58 
  Calls: 
FlexCAN_SetMaxMsgBuffNum/129 (FlexCAN_SetMaxMsgBuffNum) @071d08c0
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags:
  Called by: FlexCAN_InitCtroll/57 
  Calls: 
FlexCAN_SetPayloadSize/128 (FlexCAN_SetPayloadSize) @071d07e0
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags:
  Called by: FlexCAN_InitCtroll/57 
  Calls: 
FlexCAN_Disable/127 (FlexCAN_Disable) @071d0700
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags:
  Called by: FlexCAN_Ip_ConfigPN_Privileged/121 FlexCAN_Ip_SetListenOnlyMode_Privileged/119 FlexCAN_Ip_SetRxMb15Mask_Privileged/118 FlexCAN_Ip_SetRxMb14Mask_Privileged/117 FlexCAN_Ip_SetErrorInt_Privileged/115 FlexCAN_Ip_SetTxArbitrationStartDelay_Privileged/110 FlexCAN_Ip_SetTDCOffset_Privileged/109 FlexCAN_Ip_SetBitrateCbt_Privileged/107 FlexCAN_Ip_SetBitrate_Privileged/102 FlexCAN_Ip_SetRxMaskType_Privileged/101 FlexCAN_Ip_SetStopMode_Privileged/100 FlexCAN_Ip_Deinit_Privileged/93 FlexCAN_Ip_SetRxFifoGlobalMask_Privileged/92 FlexCAN_Ip_SetRxIndividualMask_Privileged/91 FlexCAN_Ip_SetRxMbGlobalMask_Privileged/88 FlexCAN_Ip_ConfigRxFifo_Privileged/76 FlexCAN_InitController/58 FlexCAN_InitController/58 FlexCAN_InitCtroll/57 
  Calls: 
FlexCAN_EnterFreezeMode/126 (FlexCAN_EnterFreezeMode) @071d0620
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags:
  Called by: FlexCAN_Ip_SetStopMode_Privileged/100 FlexCAN_Ip_Deinit_Privileged/93 FlexCAN_Ip_EnterFreezeMode_Privileged/89 FlexCAN_InitController/58 FlexCAN_InitController/58 FlexCAN_InitCtroll/57 
  Calls: 
FlexCAN_EnableRxFifo/125 (FlexCAN_EnableRxFifo) @071d0460
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags:
  Called by: FlexCAN_InitRxFifo/56 
  Calls: 
FlexCAN_Ip_ManualBusOffRecovery/124 (FlexCAN_Ip_ManualBusOffRecovery) @071d0000
  Type: function definition analyzed
  Visibility: force_output externally_visible no_reorder public
  References: Flexcan_Ip_apxBase/54 (read)
  Referring: 
  Availability: available
  Function flags: body
  Called by: 
  Calls: OsIf_GetElapsed/135 OsIf_GetCounter/134 SchM_Exit_Can_CAN_EXCLUSIVE_AREA_20/172 SchM_Enter_Can_CAN_EXCLUSIVE_AREA_20/171 OsIf_MicrosToTicks/133 
FlexCAN_WakeUp_IRQHandler/123 (FlexCAN_WakeUp_IRQHandler) @071c1b60
  Type: function definition analyzed
  Visibility: force_output externally_visible no_reorder public
  References: Flexcan_Ip_apxBase/54 (read)Flexcan_Ip_apxState/55 (read)
  Referring: 
  Availability: available
  Function flags: body
  Called by: 
  Calls: FlexCAN_ClearWUMF/53 FlexCAN_ClearWTOF/50 FlexCAN_GetWUMIE/52 FlexCAN_ClearWUMF/53 FlexCAN_GetWUMF/51 FlexCAN_GetWTOIE/49 FlexCAN_ClearWTOF/50 FlexCAN_GetWTOF/48 
   Indirect call
   Indirect call
FlexCAN_Ip_GetWMB/122 (FlexCAN_Ip_GetWMB) @071c1620
  Type: function definition analyzed
  Visibility: force_output externally_visible no_reorder public
  References: Flexcan_Ip_apxBase/54 (read)
  Referring: 
  Availability: available
  Function flags: body
  Called by: 
  Calls: 
FlexCAN_Ip_ConfigPN_Privileged/121 (FlexCAN_Ip_ConfigPN_Privileged) @071c10e0
  Type: function definition analyzed
  Visibility: force_output externally_visible no_reorder public
  References: Flexcan_Ip_apxBase/54 (read)
  Referring: 
  Availability: available
  Function flags: body
  Called by: 
  Calls: FlexCAN_Disable/127 SchM_Exit_Can_CAN_EXCLUSIVE_AREA_12/170 FlexCAN_SetPN/46 SchM_Enter_Can_CAN_EXCLUSIVE_AREA_12/169 FlexCAN_ConfigPN/168 FlexCAN_Enable/146 FlexCAN_IsEnabled/2 
FlexCAN_Ip_GetListenOnlyMode/120 (FlexCAN_Ip_GetListenOnlyMode) @071c1d20
  Type: function definition analyzed
  Visibility: force_output externally_visible no_reorder public
  References: Flexcan_Ip_apxBase/54 (read)
  Referring: 
  Availability: available
  Function flags: body
  Called by: 
  Calls: FlexCAN_IsListenOnlyModeEnabled/19 
FlexCAN_Ip_SetListenOnlyMode_Privileged/119 (FlexCAN_Ip_SetListenOnlyMode_Privileged) @071c1a80
  Type: function definition analyzed
  Visibility: force_output externally_visible no_reorder public
  References: Flexcan_Ip_apxBase/54 (read)
  Referring: 
  Availability: available
  Function flags: body
  Called by: 
  Calls: FlexCAN_Disable/127 SchM_Exit_Can_CAN_EXCLUSIVE_AREA_10/167 FlexCAN_SetListenOnlyMode/4 SchM_Enter_Can_CAN_EXCLUSIVE_AREA_10/166 FlexCAN_Enable/146 FlexCAN_IsEnabled/2 
FlexCAN_Ip_SetRxMb15Mask_Privileged/118 (FlexCAN_Ip_SetRxMb15Mask_Privileged) @071c17e0
  Type: function definition analyzed
  Visibility: force_output externally_visible no_reorder public
  References: Flexcan_Ip_apxBase/54 (read)
  Referring: 
  Availability: available
  Function flags: body
  Called by: 
  Calls: FlexCAN_Disable/127 FlexCAN_Enable/146 FlexCAN_IsEnabled/2 
FlexCAN_Ip_SetRxMb14Mask_Privileged/117 (FlexCAN_Ip_SetRxMb14Mask_Privileged) @071c1540
  Type: function definition analyzed
  Visibility: force_output externally_visible no_reorder public
  References: Flexcan_Ip_apxBase/54 (read)
  Referring: 
  Availability: available
  Function flags: body
  Called by: 
  Calls: FlexCAN_Disable/127 FlexCAN_Enable/146 FlexCAN_IsEnabled/2 
FlexCAN_Ip_AbortTransfer/116 (FlexCAN_Ip_AbortTransfer) @071c12a0
  Type: function definition analyzed
  Visibility: force_output externally_visible no_reorder public
  References: Flexcan_Ip_apxBase/54 (read)Flexcan_Ip_apxState/55 (read)
  Referring: 
  Availability: available
  Function flags: body
  Called by: 
  Calls: FlexCAN_AbortRxTransfer/68 FlexCAN_AbortTxTransfer/67 FLEXCAN_ClearMsgBuffIntCmd/143 
FlexCAN_Ip_SetErrorInt_Privileged/115 (FlexCAN_Ip_SetErrorInt_Privileged) @071c1000
  Type: function definition analyzed
  Visibility: force_output externally_visible no_reorder public
  References: Flexcan_Ip_apxBase/54 (read)
  Referring: 
  Availability: available
  Function flags: body
  Called by: 
  Calls: FlexCAN_Disable/127 FlexCAN_SetErrIntCmd/165 FlexCAN_SetErrIntCmd/165 FlexCAN_SetErrIntCmd/165 FlexCAN_SetErrIntCmd/165 FlexCAN_SetErrIntCmd/165 FlexCAN_Enable/146 FlexCAN_IsEnabled/2 
FlexCAN_Ip_DisableInterrupts_Privileged/114 (FlexCAN_Ip_DisableInterrupts_Privileged) @071b9b60
  Type: function definition analyzed
  Visibility: force_output externally_visible no_reorder public
  References: Flexcan_Ip_apxBase/54 (read)Flexcan_Ip_apxState/55 (read)
  Referring: 
  Availability: available
  Function flags: body
  Called by: 
  Calls: FlexCAN_DisableInterrupts/164 FlexCAN_IsEnabled/2 
FlexCAN_Ip_EnableInterrupts_Privileged/113 (FlexCAN_Ip_EnableInterrupts_Privileged) @071b9620
  Type: function definition analyzed
  Visibility: force_output externally_visible no_reorder public
  References: Flexcan_Ip_apxBase/54 (read)Flexcan_Ip_apxState/55 (read)
  Referring: 
  Availability: available
  Function flags: body
  Called by: 
  Calls: FlexCAN_EnableInterrupts/163 FlexCAN_IsEnabled/2 
FlexCAN_Ip_ClearBuffStatusFlag/112 (FlexCAN_Ip_ClearBuffStatusFlag) @071b90e0
  Type: function definition analyzed
  Visibility: force_output externally_visible no_reorder public
  References: Flexcan_Ip_apxBase/54 (read)
  Referring: 
  Availability: available
  Function flags: body
  Called by: 
  Calls: FlexCAN_ClearMsgBuffIntStatusFlag/6 
FlexCAN_Ip_GetBuffStatusFlag/111 (FlexCAN_Ip_GetBuffStatusFlag) @071b9d20
  Type: function definition analyzed
  Visibility: force_output externally_visible no_reorder public
  References: Flexcan_Ip_apxBase/54 (read)
  Referring: 
  Availability: available
  Function flags: body
  Called by: 
  Calls: FlexCAN_GetBuffStatusFlag/7 
FlexCAN_Ip_SetTxArbitrationStartDelay_Privileged/110 (FlexCAN_Ip_SetTxArbitrationStartDelay_Privileged) @071b9a80
  Type: function definition analyzed
  Visibility: force_output externally_visible no_reorder public
  References: Flexcan_Ip_apxBase/54 (read)
  Referring: 
  Availability: available
  Function flags: body
  Called by: 
  Calls: FlexCAN_Disable/127 SchM_Exit_Can_CAN_EXCLUSIVE_AREA_17/162 FlexCAN_SetTxArbitrationStartDelay/33 SchM_Enter_Can_CAN_EXCLUSIVE_AREA_17/161 FlexCAN_Enable/146 FlexCAN_IsEnabled/2 
FlexCAN_Ip_SetTDCOffset_Privileged/109 (FlexCAN_Ip_SetTDCOffset_Privileged) @071b97e0
  Type: function definition analyzed
  Visibility: force_output externally_visible no_reorder public
  References: Flexcan_Ip_apxBase/54 (read)
  Referring: 
  Availability: available
  Function flags: body
  Called by: 
  Calls: FlexCAN_Disable/127 SchM_Exit_Can_CAN_EXCLUSIVE_AREA_16/160 FlexCAN_SetTDCOffset/1 SchM_Enter_Can_CAN_EXCLUSIVE_AREA_16/159 FlexCAN_Enable/146 FlexCAN_IsEnabled/2 
FlexCAN_Ip_GetBitrateFD/108 (FlexCAN_Ip_GetBitrateFD) @071b9540
  Type: function definition analyzed
  Visibility: force_output externally_visible no_reorder public
  References: Flexcan_Ip_apxBase/54 (read)
  Referring: 
  Availability: available
  Function flags: body
  Called by: 
  Calls: FlexCAN_GetFDTimeSegments/14 
FlexCAN_Ip_SetBitrateCbt_Privileged/107 (FlexCAN_Ip_SetBitrateCbt_Privileged) @071b92a0
  Type: function definition analyzed
  Visibility: force_output externally_visible no_reorder public
  References: Flexcan_Ip_apxBase/54 (read)
  Referring: 
  Availability: available
  Function flags: body
  Called by: 
  Calls: FlexCAN_Disable/127 SchM_Exit_Can_CAN_EXCLUSIVE_AREA_15/158 FlexCAN_SetFDTimeSegments/9 FlexCAN_SetFDEnabled/3 SchM_Enter_Can_CAN_EXCLUSIVE_AREA_15/157 FlexCAN_Enable/146 FlexCAN_IsFDEnabled/18 FlexCAN_IsEnabled/2 
FlexCAN_Ip_GetTDCValue/106 (FlexCAN_Ip_GetTDCValue) @071b9000
  Type: function definition analyzed
  Visibility: force_output externally_visible no_reorder public
  References: Flexcan_Ip_apxBase/54 (read)
  Referring: 
  Availability: available
  Function flags: body
  Called by: 
  Calls: 
FlexCAN_Ip_GetTDCFail/105 (FlexCAN_Ip_GetTDCFail) @071b1b60
  Type: function definition analyzed
  Visibility: force_output externally_visible no_reorder public
  References: Flexcan_Ip_apxBase/54 (read)
  Referring: 
  Availability: available
  Function flags: body
  Called by: 
  Calls: 
FlexCAN_Ip_ClearTDCFail/104 (FlexCAN_Ip_ClearTDCFail) @071b1620
  Type: function definition analyzed
  Visibility: force_output externally_visible no_reorder public
  References: Flexcan_Ip_apxBase/54 (read)
  Referring: 
  Availability: available
  Function flags: body
  Called by: 
  Calls: SchM_Exit_Can_CAN_EXCLUSIVE_AREA_09/156 SchM_Enter_Can_CAN_EXCLUSIVE_AREA_09/155 
FlexCAN_Ip_GetBitrate/103 (FlexCAN_Ip_GetBitrate) @071b10e0
  Type: function definition analyzed
  Visibility: force_output externally_visible no_reorder public
  References: Flexcan_Ip_apxBase/54 (read)
  Referring: 
  Availability: available
  Function flags: body
  Called by: 
  Calls: FlexCAN_GetTimeSegments/13 FlexCAN_GetExtendedTimeSegments/12 FlexCAN_IsExCbtEnabled/15 
FlexCAN_Ip_SetBitrate_Privileged/102 (FlexCAN_Ip_SetBitrate_Privileged) @071b1d20
  Type: function definition analyzed
  Visibility: force_output externally_visible no_reorder public
  References: Flexcan_Ip_apxBase/54 (read)
  Referring: 
  Availability: available
  Function flags: body
  Called by: 
  Calls: FlexCAN_Disable/127 SchM_Exit_Can_CAN_EXCLUSIVE_AREA_14/154 FlexCAN_SetTimeSegments/10 FlexCAN_SetExtendedTimeSegments/11 FlexCAN_IsExCbtEnabled/15 SchM_Enter_Can_CAN_EXCLUSIVE_AREA_14/153 FlexCAN_Enable/146 FlexCAN_IsEnabled/2 
FlexCAN_Ip_SetRxMaskType_Privileged/101 (FlexCAN_Ip_SetRxMaskType_Privileged) @071b1a80
  Type: function definition analyzed
  Visibility: force_output externally_visible no_reorder public
  References: Flexcan_Ip_apxBase/54 (read)
  Referring: 
  Availability: available
  Function flags: body
  Called by: 
  Calls: FlexCAN_Disable/127 SchM_Exit_Can_CAN_EXCLUSIVE_AREA_08/152 FlexCAN_SetRxMaskType/34 SchM_Enter_Can_CAN_EXCLUSIVE_AREA_08/151 FlexCAN_Enable/146 FlexCAN_IsEnabled/2 
FlexCAN_Ip_SetStopMode_Privileged/100 (FlexCAN_Ip_SetStopMode_Privileged) @071b17e0
  Type: function definition analyzed
  Visibility: force_output externally_visible no_reorder public
  References: Flexcan_Ip_apxBase/54 (read)
  Referring: 
  Availability: available
  Function flags: body
  Called by: 
  Calls: FlexCAN_Disable/127 FlexCAN_EnterFreezeMode/126 
FlexCAN_Ip_SetStartMode_Privileged/99 (FlexCAN_Ip_SetStartMode_Privileged) @071b1540
  Type: function definition analyzed
  Visibility: force_output externally_visible no_reorder public
  References: Flexcan_Ip_apxBase/54 (read)
  Referring: 
  Availability: available
  Function flags: body
  Called by: 
  Calls: FlexCAN_ExitFreezeMode/148 SchM_Exit_Can_CAN_EXCLUSIVE_AREA_07/150 SchM_Enter_Can_CAN_EXCLUSIVE_AREA_07/149 
FlexCAN_Ip_GetStartMode_Privileged/98 (FlexCAN_Ip_GetStartMode_Privileged) @071b12a0
  Type: function definition analyzed
  Visibility: force_output externally_visible no_reorder public
  References: Flexcan_Ip_apxBase/54 (read)
  Referring: 
  Availability: available
  Function flags: body
  Called by: 
  Calls: 
FlexCAN_Ip_GetStopMode_Privileged/97 (FlexCAN_Ip_GetStopMode_Privileged) @071b1000
  Type: function definition analyzed
  Visibility: force_output externally_visible no_reorder public
  References: Flexcan_Ip_apxBase/54 (read)
  Referring: 
  Availability: available
  Function flags: body
  Called by: 
  Calls: 
FlexCAN_Ip_MainFunctionWrite/96 (FlexCAN_Ip_MainFunctionWrite) @071aab60
  Type: function definition analyzed
  Visibility: force_output externally_visible no_reorder public
  References: Flexcan_Ip_apxBase/54 (read)Flexcan_Ip_apxState/55 (read)
  Referring: 
  Availability: available
  Function flags: body
  Called by: 
  Calls: FlexCAN_ClearMsgBuffIntStatusFlag/6 FlexCAN_UnlockRxMsgBuff/5 FlexCAN_GetMsgBuffTimestamp/142 FlexCAN_GetBuffStatusFlag/7 
FlexCAN_Ip_MainFunctionBusOff_Privileged/95 (FlexCAN_Ip_MainFunctionBusOff_Privileged) @071aa620
  Type: function definition analyzed
  Visibility: force_output externally_visible no_reorder public
  References: Flexcan_Ip_apxBase/54 (read)Flexcan_Ip_apxState/55 (read)
  Referring: 
  Availability: available
  Function flags: body
  Called by: 
  Calls: 
   Indirect call
FlexCAN_Ip_MainFunctionRead/94 (FlexCAN_Ip_MainFunctionRead) @071aa0e0
  Type: function definition analyzed
  Visibility: force_output externally_visible no_reorder public
  References: Flexcan_Ip_apxBase/54 (read)Flexcan_Ip_apxState/55 (read)
  Referring: 
  Availability: available
  Function flags: body
  Called by: 
  Calls: FlexCAN_IRQHandlerRxMB/63 FlexCAN_GetBuffStatusFlag/7 FlexCAN_IRQHandlerRxFIFO/65 FlexCAN_GetBuffStatusFlag/7 
FlexCAN_Ip_Deinit_Privileged/93 (FlexCAN_Ip_Deinit_Privileged) @071aad20
  Type: function definition analyzed
  Visibility: force_output externally_visible no_reorder public
  References: Flexcan_Ip_apxBase/54 (read)Flexcan_Ip_apxState/55 (write)
  Referring: 
  Availability: available
  Function flags: body
  Called by: 
  Calls: FlexCAN_Disable/127 FlexCAN_SetRegDefaultVal/35 FlexCAN_EnterFreezeMode/126 
FlexCAN_Ip_SetRxFifoGlobalMask_Privileged/92 (FlexCAN_Ip_SetRxFifoGlobalMask_Privileged) @071aaa80
  Type: function definition analyzed
  Visibility: force_output externally_visible no_reorder public
  References: Flexcan_Ip_apxBase/54 (read)
  Referring: 
  Availability: available
  Function flags: body
  Called by: 
  Calls: FlexCAN_Disable/127 FlexCAN_SetRxFifoGlobalMask/0 FlexCAN_Enable/146 FlexCAN_IsEnabled/2 
FlexCAN_Ip_SetRxIndividualMask_Privileged/91 (FlexCAN_Ip_SetRxIndividualMask_Privileged) @071aa7e0
  Type: function definition analyzed
  Visibility: force_output externally_visible no_reorder public
  References: Flexcan_Ip_apxBase/54 (read)
  Referring: 
  Availability: available
  Function flags: body
  Called by: 
  Calls: FlexCAN_Disable/127 FlexCAN_SetRxIndividualMask/31 FlexCAN_Enable/146 FlexCAN_IsEnabled/2 
FlexCAN_Ip_ExitFreezeMode_Privileged/90 (FlexCAN_Ip_ExitFreezeMode_Privileged) @071aa540
  Type: function definition analyzed
  Visibility: force_output externally_visible no_reorder public
  References: Flexcan_Ip_apxBase/54 (read)
  Referring: 
  Availability: available
  Function flags: body
  Called by: 
  Calls: FlexCAN_ExitFreezeMode/148 
FlexCAN_Ip_EnterFreezeMode_Privileged/89 (FlexCAN_Ip_EnterFreezeMode_Privileged) @071aa2a0
  Type: function definition analyzed
  Visibility: force_output externally_visible no_reorder public
  References: Flexcan_Ip_apxBase/54 (read)
  Referring: 
  Availability: available
  Function flags: body
  Called by: 
  Calls: FlexCAN_EnterFreezeMode/126 
FlexCAN_Ip_SetRxMbGlobalMask_Privileged/88 (FlexCAN_Ip_SetRxMbGlobalMask_Privileged) @071aa000
  Type: function definition analyzed
  Visibility: force_output externally_visible no_reorder public
  References: Flexcan_Ip_apxBase/54 (read)
  Referring: 
  Availability: available
  Function flags: body
  Called by: 
  Calls: FlexCAN_Disable/127 FlexCAN_SetRxMsgBuffGlobalMask/30 FlexCAN_Enable/146 FlexCAN_IsEnabled/2 
FlexCAN_Ip_SendBlocking/87 (FlexCAN_Ip_SendBlocking) @0719cb60
  Type: function definition analyzed
  Visibility: force_output externally_visible no_reorder public
  References: Flexcan_Ip_apxBase/54 (read)Flexcan_Ip_apxState/55 (read)
  Referring: 
  Availability: available
  Function flags: body
  Called by: 
  Calls: FlexCAN_ClearMsgBuffIntStatusFlag/6 FlexCAN_GetBuffStatusFlag/7 OsIf_GetElapsed/135 OsIf_GetCounter/134 OsIf_MicrosToTicks/133 FlexCAN_GetMsgBuffRegion/138 FlexCAN_ClearMsgBuffIntStatusFlag/6 FlexCAN_GetBuffStatusFlag/7 OsIf_GetElapsed/135 OsIf_GetCounter/134 FlexCAN_StartSendData/61 OsIf_MicrosToTicks/133 
FlexCAN_BusOff_IRQHandler/86 (FlexCAN_BusOff_IRQHandler) @0719c620
  Type: function definition analyzed
  Visibility: force_output externally_visible no_reorder public
  References: Flexcan_Ip_apxBase/54 (read)Flexcan_Ip_apxState/55 (read)
  Referring: 
  Availability: available
  Function flags: body
  Called by: 
  Calls: 
   Indirect call
   Indirect call
   Indirect call
FlexCAN_Error_IRQHandler/85 (FlexCAN_Error_IRQHandler) @0719c0e0
  Type: function definition analyzed
  Visibility: force_output externally_visible no_reorder public
  References: Flexcan_Ip_apxBase/54 (read)Flexcan_Ip_apxState/55 (read)
  Referring: 
  Availability: available
  Function flags: body
  Called by: 
  Calls: 
   Indirect call
   Indirect call
FlexCAN_Ip_GetControllerRxErrorCounter/84 (FlexCAN_Ip_GetControllerRxErrorCounter) @0719cd20
  Type: function definition analyzed
  Visibility: force_output externally_visible no_reorder public
  References: Flexcan_Ip_apxBase/54 (read)
  Referring: 
  Availability: available
  Function flags: body
  Called by: 
  Calls: 
FlexCAN_Ip_GetControllerTxErrorCounter/83 (FlexCAN_Ip_GetControllerTxErrorCounter) @0719ca80
  Type: function definition analyzed
  Visibility: force_output externally_visible no_reorder public
  References: Flexcan_Ip_apxBase/54 (read)
  Referring: 
  Availability: available
  Function flags: body
  Called by: 
  Calls: 
FlexCAN_Ip_GetErrorStatus/82 (FlexCAN_Ip_GetErrorStatus) @0719c7e0
  Type: function definition analyzed
  Visibility: force_output externally_visible no_reorder public
  References: Flexcan_Ip_apxBase/54 (read)
  Referring: 
  Availability: available
  Function flags: body
  Called by: 
  Calls: 
FlexCAN_Ip_ClearErrorStatus/81 (FlexCAN_Ip_ClearErrorStatus) @0719c540
  Type: function definition analyzed
  Visibility: force_output externally_visible no_reorder public
  References: Flexcan_Ip_apxBase/54 (read)
  Referring: 
  Availability: available
  Function flags: body
  Called by: 
  Calls: 
FlexCAN_IRQHandler/80 (FlexCAN_IRQHandler) @0719c2a0
  Type: function definition analyzed
  Visibility: force_output externally_visible no_reorder public
  References: Flexcan_Ip_apxBase/54 (read)Flexcan_Ip_apxState/55 (read)
  Referring: 
  Availability: available
  Function flags: body
  Called by: 
  Calls: FlexCAN_ClearMsgBuffIntStatusFlag/6 FlexCAN_ProcessSpuriousInterruptMB/66 FlexCAN_ClearMsgBuffIntStatusFlag/6 FlexCAN_GetMsgBuffIntStatusFlag/29 FlexCAN_IRQHandlerTxMB/64 FlexCAN_IRQHandlerRxMB/63 FlexCAN_IRQHandlerRxFIFO/65 FlexCAN_GetMsgBuffIntStatusFlag/29 FlexCAN_GetMsgBuffIntStatusFlag/29 
FlexCAN_CompleteRxMessageFifoData/79 (FlexCAN_CompleteRxMessageFifoData) @0719c000
  Type: function definition analyzed
  Visibility: force_output no_reorder prevailing_def_ironly
  References: Flexcan_Ip_apxBase/54 (read)Flexcan_Ip_apxState/55 (read)
  Referring: 
  Availability: available
  Function flags: body
  Called by: FlexCAN_IRQHandlerRxFIFO/65 
  Calls: FlexCAN_SetMsgBuffIntCmd/136 FlexCAN_SetMsgBuffIntCmd/136 FlexCAN_SetMsgBuffIntCmd/136 
FlexCAN_Ip_GetTransferStatus/78 (FlexCAN_Ip_GetTransferStatus) @07191b60
  Type: function definition analyzed
  Visibility: force_output externally_visible no_reorder public
  References: Flexcan_Ip_apxState/55 (read)
  Referring: 
  Availability: available
  Function flags: body
  Called by: 
  Calls: 
FlexCAN_Ip_ConfigRemoteResponseMb/77 (FlexCAN_Ip_ConfigRemoteResponseMb) @07191620
  Type: function definition analyzed
  Visibility: force_output externally_visible no_reorder public
  References: Flexcan_Ip_apxBase/54 (read)Flexcan_Ip_apxState/55 (read)
  Referring: 
  Availability: available
  Function flags: body
  Called by: 
  Calls: FlexCAN_SetMsgBuffIntCmd/136 FlexCAN_SetTxMsgBuff/139 FlexCAN_GetMsgBuffRegion/138 FlexCAN_ClearMsgBuffIntStatusFlag/6 
FlexCAN_Ip_ConfigRxFifo_Privileged/76 (FlexCAN_Ip_ConfigRxFifo_Privileged) @071910e0
  Type: function definition analyzed
  Visibility: force_output externally_visible no_reorder public
  References: Flexcan_Ip_apxBase/54 (read)
  Referring: 
  Availability: available
  Function flags: body
  Called by: 
  Calls: FlexCAN_Disable/127 FlexCAN_SetRxFifoFilter/147 FlexCAN_Enable/146 FlexCAN_IsEnabled/2 
FlexCAN_Ip_RxFifoBlocking/75 (FlexCAN_Ip_RxFifoBlocking) @07191d20
  Type: function definition analyzed
  Visibility: force_output externally_visible no_reorder public
  References: 
  Referring: 
  Availability: available
  Function flags: body
  Called by: 
  Calls: FlexCAN_ProccessLegacyRxFIFO/59 FlexCAN_StartRxMessageFifoData/62 
FlexCAN_Ip_RxFifo/74 (FlexCAN_Ip_RxFifo) @07191a80
  Type: function definition analyzed
  Visibility: force_output externally_visible no_reorder public
  References: 
  Referring: 
  Availability: available
  Function flags: body
  Called by: 
  Calls: FlexCAN_StartRxMessageFifoData/62 
FlexCAN_Ip_ReceiveBlocking/73 (FlexCAN_Ip_ReceiveBlocking) @071917e0
  Type: function definition analyzed
  Visibility: force_output externally_visible no_reorder public
  References: Flexcan_Ip_apxState/55 (read)Flexcan_Ip_apxBase/54 (read)
  Referring: 
  Availability: available
  Function flags: body
  Called by: 
  Calls: OsIf_GetElapsed/135 FlexCAN_IRQHandlerRxMB/63 FlexCAN_GetBuffStatusFlag/7 OsIf_GetCounter/134 FlexCAN_StartRxMessageBufferData/60 OsIf_MicrosToTicks/133 
FlexCAN_Ip_Receive/72 (FlexCAN_Ip_Receive) @07191540
  Type: function definition analyzed
  Visibility: force_output externally_visible no_reorder public
  References: 
  Referring: 
  Availability: available
  Function flags: body
  Called by: 
  Calls: FlexCAN_StartRxMessageBufferData/60 
FlexCAN_Ip_ConfigRxMb/71 (FlexCAN_Ip_ConfigRxMb) @071912a0
  Type: function definition analyzed
  Visibility: force_output externally_visible no_reorder public
  References: Flexcan_Ip_apxBase/54 (read)
  Referring: 
  Availability: available
  Function flags: body
  Called by: 
  Calls: FlexCAN_SetRxMsgBuff/145 FlexCAN_SetRxMsgBuff/145 FlexCAN_SetRxMsgBuff/145 FlexCAN_ClearMsgBuffIntStatusFlag/6 
FlexCAN_Ip_Send/70 (FlexCAN_Ip_Send) @07191000
  Type: function definition analyzed
  Visibility: force_output externally_visible no_reorder public
  References: Flexcan_Ip_apxBase/54 (read)
  Referring: 
  Availability: available
  Function flags: body
  Called by: 
  Calls: FlexCAN_StartSendData/61 FlexCAN_IsListenOnlyModeEnabled/19 
FlexCAN_Ip_Init_Privileged/69 (FlexCAN_Ip_Init_Privileged) @0717bb60
  Type: function definition analyzed
  Visibility: force_output externally_visible no_reorder public
  References: Flexcan_Ip_apxBase/54 (read)Flexcan_Ip_apxState/55 (write)
  Referring: 
  Availability: available
  Function flags: body
  Called by: 
  Calls: FlexCAN_SetOperationMode/144 FlexCAN_SetTimeSegments/10 FlexCAN_SetFDTimeSegments/9 FlexCAN_SetExtendedTimeSegments/11 FlexCAN_EnableExtCbt/16 FlexCAN_InitController/58 
FlexCAN_AbortRxTransfer/68 (FlexCAN_AbortRxTransfer) @0717b620
  Type: function definition analyzed
  Visibility: force_output no_reorder prevailing_def_ironly
  References: Flexcan_Ip_apxBase/54 (read)Flexcan_Ip_apxState/55 (read)
  Referring: 
  Availability: available
  Function flags: body
  Called by: FlexCAN_Ip_AbortTransfer/116 
  Calls: FlexCAN_ClearMsgBuffIntStatusFlag/6 FlexCAN_GetMsgBuffRegion/138 FLEXCAN_ClearMsgBuffIntCmd/143 FlexCAN_GetMsgBuffRegion/138 RxFifoOcuppiedLastMsgBuff/20 
FlexCAN_AbortTxTransfer/67 (FlexCAN_AbortTxTransfer) @0717b0e0
  Type: function definition analyzed
  Visibility: force_output no_reorder prevailing_def_ironly
  References: Flexcan_Ip_apxBase/54 (read)Flexcan_Ip_apxState/55 (read)
  Referring: 
  Availability: available
  Function flags: body
  Called by: FlexCAN_Ip_AbortTransfer/116 
  Calls: FlexCAN_ClearMsgBuffIntStatusFlag/6 FlexCAN_GetBuffStatusFlag/7 OsIf_GetElapsed/135 OsIf_GetCounter/134 OsIf_MicrosToTicks/133 FlexCAN_GetMsgBuffRegion/138 
FlexCAN_ProcessSpuriousInterruptMB/66 (FlexCAN_ProcessSpuriousInterruptMB) @0717bd20
  Type: function definition analyzed
  Visibility: no_reorder prevailing_def_ironly
  References: Flexcan_Ip_apxBase/54 (read)Flexcan_Ip_apxState/55 (read)
  Referring: 
  Availability: local
  Function flags: body local
  Called by: FlexCAN_IRQHandler/80 
  Calls: FlexCAN_ClearMsgBuffIntStatusFlag/6 FlexCAN_GetBuffStatusImask/8 FlexCAN_GetBuffStatusFlag/7 
FlexCAN_IRQHandlerRxFIFO/65 (FlexCAN_IRQHandlerRxFIFO) @0717ba80
  Type: function definition analyzed
  Visibility: no_reorder prevailing_def_ironly
  References: Flexcan_Ip_apxBase/54 (read)Flexcan_Ip_apxState/55 (read)
  Referring: 
  Availability: local
  Function flags: body local
  Called by: FlexCAN_Ip_MainFunctionRead/94 FlexCAN_IRQHandler/80 FlexCAN_ProccessLegacyRxFIFO/59 
  Calls: FlexCAN_ClearMsgBuffIntStatusFlag/6 FlexCAN_ClearMsgBuffIntStatusFlag/6 FlexCAN_CompleteRxMessageFifoData/79 FlexCAN_ClearMsgBuffIntStatusFlag/6 FlexCAN_ReadRxFifo/137 
   Indirect call
   Indirect call
   Indirect call
FlexCAN_IRQHandlerTxMB/64 (FlexCAN_IRQHandlerTxMB) @0717b7e0
  Type: function definition analyzed
  Visibility: force_output no_reorder prevailing_def_ironly
  References: Flexcan_Ip_apxBase/54 (read)Flexcan_Ip_apxState/55 (read)
  Referring: 
  Availability: available
  Function flags: body
  Called by: FlexCAN_IRQHandler/80 
  Calls: FlexCAN_SetMsgBuffIntCmd/136 FlexCAN_SetMsgBuffIntCmd/136 FlexCAN_ClearMsgBuffIntStatusFlag/6 FlexCAN_UnlockRxMsgBuff/5 FlexCAN_GetMsgBuffTimestamp/142 FlexCAN_ClearMsgBuffIntStatusFlag/6 FlexCAN_UnlockRxMsgBuff/5 FlexCAN_GetMsgBuff/141 FlexCAN_LockRxMsgBuff/140 
   Indirect call
FlexCAN_IRQHandlerRxMB/63 (FlexCAN_IRQHandlerRxMB) @0717b540
  Type: function definition analyzed
  Visibility: force_output no_reorder prevailing_def_ironly
  References: Flexcan_Ip_apxBase/54 (read)Flexcan_Ip_apxState/55 (read)
  Referring: 
  Availability: available
  Function flags: body
  Called by: FlexCAN_Ip_MainFunctionRead/94 FlexCAN_IRQHandler/80 FlexCAN_Ip_ReceiveBlocking/73 
  Calls: FlexCAN_SetMsgBuffIntCmd/136 FlexCAN_SetMsgBuffIntCmd/136 FlexCAN_UnlockRxMsgBuff/5 FlexCAN_GetMsgBuffRegion/138 FlexCAN_ClearMsgBuffIntStatusFlag/6 FlexCAN_GetMsgBuff/141 FlexCAN_LockRxMsgBuff/140 
   Indirect call
FlexCAN_StartRxMessageFifoData/62 (FlexCAN_StartRxMessageFifoData) @0717b2a0
  Type: function definition analyzed
  Visibility: force_output no_reorder prevailing_def_ironly
  References: Flexcan_Ip_apxBase/54 (read)Flexcan_Ip_apxState/55 (read)
  Referring: 
  Availability: available
  Function flags: body
  Called by: FlexCAN_Ip_RxFifoBlocking/75 FlexCAN_Ip_RxFifo/74 
  Calls: FlexCAN_SetMsgBuffIntCmd/136 FlexCAN_SetMsgBuffIntCmd/136 FlexCAN_SetMsgBuffIntCmd/136 
FlexCAN_StartSendData/61 (FlexCAN_StartSendData) @0717b000
  Type: function definition analyzed
  Visibility: force_output no_reorder prevailing_def_ironly
  References: Flexcan_Ip_apxState/55 (read)Flexcan_Ip_apxBase/54 (read)
  Referring: 
  Availability: available
  Function flags: body
  Called by: FlexCAN_Ip_SendBlocking/87 FlexCAN_Ip_Send/70 
  Calls: FlexCAN_SetTxMsgBuff/139 FlexCAN_GetMsgBuffRegion/138 FlexCAN_ClearMsgBuffIntStatusFlag/6 
FlexCAN_StartRxMessageBufferData/60 (FlexCAN_StartRxMessageBufferData) @070c9b60
  Type: function definition analyzed
  Visibility: force_output no_reorder prevailing_def_ironly
  References: Flexcan_Ip_apxState/55 (read)
  Referring: 
  Availability: available
  Function flags: body
  Called by: FlexCAN_Ip_ReceiveBlocking/73 FlexCAN_Ip_Receive/72 
  Calls: 
FlexCAN_ProccessLegacyRxFIFO/59 (FlexCAN_ProccessLegacyRxFIFO) @070c9620
  Type: function definition analyzed
  Visibility: force_output no_reorder prevailing_def_ironly
  References: Flexcan_Ip_apxState/55 (read)Flexcan_Ip_apxBase/54 (read)
  Referring: 
  Availability: available
  Function flags: body
  Called by: FlexCAN_Ip_RxFifoBlocking/75 
  Calls: FlexCAN_SetMsgBuffIntCmd/136 FlexCAN_SetMsgBuffIntCmd/136 FlexCAN_SetMsgBuffIntCmd/136 OsIf_GetElapsed/135 FlexCAN_IRQHandlerRxFIFO/65 FlexCAN_GetBuffStatusFlag/7 OsIf_GetCounter/134 OsIf_MicrosToTicks/133 
FlexCAN_InitController/58 (FlexCAN_InitController) @070c9d20
  Type: function definition analyzed
  Visibility: force_output no_reorder prevailing_def_ironly
  References: 
  Referring: 
  Availability: available
  Function flags: body
  Called by: FlexCAN_Ip_Init_Privileged/69 
  Calls: FlexCAN_InitCtroll/57 FlexCAN_ConfigCtrlOptions/132 FlexCAN_SetFDEnabled/3 FlexCAN_IsFDAvailable/131 FlexCAN_Disable/127 FlexCAN_EnterFreezeMode/126 FlexCAN_Init/130 FlexCAN_SetClkSrc/28 FlexCAN_Disable/127 FlexCAN_EnterFreezeMode/126 FlexCAN_IsEnabled/2 
FlexCAN_InitCtroll/57 (FlexCAN_InitCtroll) @070c9a80
  Type: function definition analyzed
  Visibility: force_output no_reorder prevailing_def_ironly
  References: 
  Referring: 
  Availability: available
  Function flags: body
  Called by: FlexCAN_InitController/58 
  Calls: FlexCAN_SetMaxMsgBuffNum/129 FlexCAN_SetPayloadSize/128 FlexCAN_Disable/127 FlexCAN_EnterFreezeMode/126 FlexCAN_InitRxFifo/56 FlexCAN_SetSelfReception/17 
FlexCAN_InitRxFifo/56 (FlexCAN_InitRxFifo) @070c97e0
  Type: function definition analyzed
  Visibility: force_output no_reorder prevailing_def_ironly
  References: 
  Referring: 
  Availability: available
  Function flags: body
  Called by: FlexCAN_InitCtroll/57 
  Calls: FlexCAN_EnableRxFifo/125 
Flexcan_Ip_apxState/55 (Flexcan_Ip_apxState) @070c1798
  Type: variable definition analyzed
  Visibility: force_output no_reorder prevailing_def_ironly
  References: 
  Referring: FlexCAN_ProccessLegacyRxFIFO/59 (read)FlexCAN_IRQHandlerRxFIFO/65 (read)FlexCAN_StartRxMessageBufferData/60 (read)FlexCAN_StartSendData/61 (read)FlexCAN_StartRxMessageFifoData/62 (read)FlexCAN_IRQHandlerRxMB/63 (read)FlexCAN_IRQHandlerTxMB/64 (read)FlexCAN_AbortTxTransfer/67 (read)FlexCAN_AbortRxTransfer/68 (read)FlexCAN_Ip_Init_Privileged/69 (write)FlexCAN_Ip_ReceiveBlocking/73 (read)FlexCAN_Ip_ConfigRemoteResponseMb/77 (read)FlexCAN_Ip_GetTransferStatus/78 (read)FlexCAN_CompleteRxMessageFifoData/79 (read)FlexCAN_IRQHandler/80 (read)FlexCAN_ProcessSpuriousInterruptMB/66 (read)FlexCAN_Error_IRQHandler/85 (read)FlexCAN_BusOff_IRQHandler/86 (read)FlexCAN_Ip_SendBlocking/87 (read)FlexCAN_Ip_Deinit_Privileged/93 (write)FlexCAN_Ip_MainFunctionRead/94 (read)FlexCAN_Ip_MainFunctionBusOff_Privileged/95 (read)FlexCAN_Ip_MainFunctionWrite/96 (read)FlexCAN_Ip_EnableInterrupts_Privileged/113 (read)FlexCAN_Ip_DisableInterrupts_Privileged/114 (read)FlexCAN_Ip_AbortTransfer/116 (read)FlexCAN_WakeUp_IRQHandler/123 (read)
  Availability: available
  Varpool flags:
Flexcan_Ip_apxBase/54 (Flexcan_Ip_apxBase) @070c1708
  Type: variable definition analyzed
  Visibility: force_output no_reorder prevailing_def_ironly
  References: 
  Referring: FlexCAN_ProccessLegacyRxFIFO/59 (read)FlexCAN_IRQHandlerRxFIFO/65 (read)FlexCAN_StartSendData/61 (read)FlexCAN_StartRxMessageFifoData/62 (read)FlexCAN_IRQHandlerRxMB/63 (read)FlexCAN_IRQHandlerTxMB/64 (read)FlexCAN_AbortTxTransfer/67 (read)FlexCAN_AbortRxTransfer/68 (read)FlexCAN_Ip_Init_Privileged/69 (read)FlexCAN_Ip_Send/70 (read)FlexCAN_Ip_ConfigRxMb/71 (read)FlexCAN_Ip_ReceiveBlocking/73 (read)FlexCAN_Ip_ConfigRxFifo_Privileged/76 (read)FlexCAN_Ip_ConfigRemoteResponseMb/77 (read)FlexCAN_CompleteRxMessageFifoData/79 (read)FlexCAN_IRQHandler/80 (read)FlexCAN_ProcessSpuriousInterruptMB/66 (read)FlexCAN_Ip_ClearErrorStatus/81 (read)FlexCAN_Ip_GetErrorStatus/82 (read)FlexCAN_Ip_GetControllerTxErrorCounter/83 (read)FlexCAN_Ip_GetControllerRxErrorCounter/84 (read)FlexCAN_Error_IRQHandler/85 (read)FlexCAN_BusOff_IRQHandler/86 (read)FlexCAN_Ip_SendBlocking/87 (read)FlexCAN_Ip_SetRxMbGlobalMask_Privileged/88 (read)FlexCAN_Ip_EnterFreezeMode_Privileged/89 (read)FlexCAN_Ip_ExitFreezeMode_Privileged/90 (read)FlexCAN_Ip_SetRxIndividualMask_Privileged/91 (read)FlexCAN_Ip_SetRxFifoGlobalMask_Privileged/92 (read)FlexCAN_Ip_Deinit_Privileged/93 (read)FlexCAN_Ip_MainFunctionRead/94 (read)FlexCAN_Ip_MainFunctionBusOff_Privileged/95 (read)FlexCAN_Ip_MainFunctionWrite/96 (read)FlexCAN_Ip_GetStopMode_Privileged/97 (read)FlexCAN_Ip_GetStartMode_Privileged/98 (read)FlexCAN_Ip_SetStartMode_Privileged/99 (read)FlexCAN_Ip_SetStopMode_Privileged/100 (read)FlexCAN_Ip_SetRxMaskType_Privileged/101 (read)FlexCAN_Ip_SetBitrate_Privileged/102 (read)FlexCAN_Ip_GetBitrate/103 (read)FlexCAN_Ip_ClearTDCFail/104 (read)FlexCAN_Ip_GetTDCFail/105 (read)FlexCAN_Ip_GetTDCValue/106 (read)FlexCAN_Ip_SetBitrateCbt_Privileged/107 (read)FlexCAN_Ip_GetBitrateFD/108 (read)FlexCAN_Ip_SetTDCOffset_Privileged/109 (read)FlexCAN_Ip_SetTxArbitrationStartDelay_Privileged/110 (read)FlexCAN_Ip_GetBuffStatusFlag/111 (read)FlexCAN_Ip_ClearBuffStatusFlag/112 (read)FlexCAN_Ip_EnableInterrupts_Privileged/113 (read)FlexCAN_Ip_DisableInterrupts_Privileged/114 (read)FlexCAN_Ip_SetErrorInt_Privileged/115 (read)FlexCAN_Ip_AbortTransfer/116 (read)FlexCAN_Ip_SetRxMb14Mask_Privileged/117 (read)FlexCAN_Ip_SetRxMb15Mask_Privileged/118 (read)FlexCAN_Ip_SetListenOnlyMode_Privileged/119 (read)FlexCAN_Ip_GetListenOnlyMode/120 (read)FlexCAN_Ip_ConfigPN_Privileged/121 (read)FlexCAN_Ip_GetWMB/122 (read)FlexCAN_WakeUp_IRQHandler/123 (read)FlexCAN_Ip_ManualBusOffRecovery/124 (read)
  Availability: available
  Varpool flags: initialized read-only const-value-known
FlexCAN_ClearWUMF/53 (FlexCAN_ClearWUMF) @06fec2a0
  Type: function definition analyzed
  Visibility: no_reorder prevailing_def_ironly
  References: 
  Referring: 
  Availability: local
  Function flags: body local
  Called by: FlexCAN_WakeUp_IRQHandler/123 FlexCAN_WakeUp_IRQHandler/123 
  Calls: 
FlexCAN_GetWUMIE/52 (FlexCAN_GetWUMIE) @06fec000
  Type: function definition analyzed
  Visibility: no_reorder prevailing_def_ironly
  References: 
  Referring: 
  Availability: local
  Function flags: body local
  Called by: FlexCAN_WakeUp_IRQHandler/123 
  Calls: 
FlexCAN_GetWUMF/51 (FlexCAN_GetWUMF) @06fe8d20
  Type: function definition analyzed
  Visibility: no_reorder prevailing_def_ironly
  References: 
  Referring: 
  Availability: local
  Function flags: body local
  Called by: FlexCAN_WakeUp_IRQHandler/123 
  Calls: 
FlexCAN_ClearWTOF/50 (FlexCAN_ClearWTOF) @06fe8a80
  Type: function definition analyzed
  Visibility: no_reorder prevailing_def_ironly
  References: 
  Referring: 
  Availability: local
  Function flags: body local
  Called by: FlexCAN_WakeUp_IRQHandler/123 FlexCAN_WakeUp_IRQHandler/123 
  Calls: 
FlexCAN_GetWTOIE/49 (FlexCAN_GetWTOIE) @06fe87e0
  Type: function definition analyzed
  Visibility: no_reorder prevailing_def_ironly
  References: 
  Referring: 
  Availability: local
  Function flags: body local
  Called by: FlexCAN_WakeUp_IRQHandler/123 
  Calls: 
FlexCAN_GetWTOF/48 (FlexCAN_GetWTOF) @06fe8540
  Type: function definition analyzed
  Visibility: no_reorder prevailing_def_ironly
  References: 
  Referring: 
  Availability: local
  Function flags: body local
  Called by: FlexCAN_WakeUp_IRQHandler/123 
  Calls: 
FlexCAN_SetPN/46 (FlexCAN_SetPN) @06fe8000
  Type: function definition analyzed
  Visibility: no_reorder prevailing_def_ironly
  References: 
  Referring: 
  Availability: local
  Function flags: body local
  Called by: FlexCAN_Ip_ConfigPN_Privileged/121 
  Calls: 
FlexCAN_SetRegDefaultVal/35 (FlexCAN_SetRegDefaultVal) @06fd3a80
  Type: function definition analyzed
  Visibility: no_reorder prevailing_def_ironly
  References: 
  Referring: 
  Availability: local
  Function flags: body local
  Called by: FlexCAN_Ip_Deinit_Privileged/93 
  Calls: FlexCAN_IsFDAvailable/131 
FlexCAN_SetRxMaskType/34 (FlexCAN_SetRxMaskType) @06fd3700
  Type: function definition analyzed
  Visibility: no_reorder prevailing_def_ironly
  References: 
  Referring: 
  Availability: local
  Function flags: body local
  Called by: FlexCAN_Ip_SetRxMaskType_Privileged/101 
  Calls: 
FlexCAN_SetTxArbitrationStartDelay/33 (FlexCAN_SetTxArbitrationStartDelay) @06fd32a0
  Type: function definition analyzed
  Visibility: no_reorder prevailing_def_ironly
  References: 
  Referring: 
  Availability: local
  Function flags: body local
  Called by: FlexCAN_Ip_SetTxArbitrationStartDelay_Privileged/110 
  Calls: 
FlexCAN_SetRxIndividualMask/31 (FlexCAN_SetRxIndividualMask) @06fd0c40
  Type: function definition analyzed
  Visibility: no_reorder prevailing_def_ironly
  References: 
  Referring: 
  Availability: local
  Function flags: body local
  Called by: FlexCAN_Ip_SetRxIndividualMask_Privileged/91 
  Calls: 
FlexCAN_SetRxMsgBuffGlobalMask/30 (FlexCAN_SetRxMsgBuffGlobalMask) @06fd09a0
  Type: function definition analyzed
  Visibility: no_reorder prevailing_def_ironly
  References: 
  Referring: 
  Availability: local
  Function flags: body local
  Called by: FlexCAN_Ip_SetRxMbGlobalMask_Privileged/88 
  Calls: 
FlexCAN_GetMsgBuffIntStatusFlag/29 (FlexCAN_GetMsgBuffIntStatusFlag) @06fd0700
  Type: function definition analyzed
  Visibility: no_reorder prevailing_def_ironly
  References: 
  Referring: 
  Availability: local
  Function flags: body local
  Called by: FlexCAN_IRQHandler/80 FlexCAN_IRQHandler/80 FlexCAN_IRQHandler/80 
  Calls: 
FlexCAN_SetClkSrc/28 (FlexCAN_SetClkSrc) @06fd0460
  Type: function definition analyzed
  Visibility: no_reorder prevailing_def_ironly
  References: 
  Referring: 
  Availability: local
  Function flags: body local
  Called by: FlexCAN_InitController/58 
  Calls: 
RxFifoOcuppiedLastMsgBuff/20 (RxFifoOcuppiedLastMsgBuff) @06fc9700
  Type: function definition analyzed
  Visibility: no_reorder prevailing_def_ironly
  References: 
  Referring: 
  Availability: local
  Function flags: body local
  Called by: FlexCAN_AbortRxTransfer/68 
  Calls: 
FlexCAN_IsListenOnlyModeEnabled/19 (FlexCAN_IsListenOnlyModeEnabled) @06fc9460
  Type: function definition analyzed
  Visibility: no_reorder prevailing_def_ironly
  References: 
  Referring: 
  Availability: local
  Function flags: body local
  Called by: FlexCAN_Ip_GetListenOnlyMode/120 FlexCAN_Ip_Send/70 
  Calls: 
FlexCAN_IsFDEnabled/18 (FlexCAN_IsFDEnabled) @06fc91c0
  Type: function definition analyzed
  Visibility: no_reorder prevailing_def_ironly
  References: 
  Referring: 
  Availability: local
  Function flags: body local
  Called by: FlexCAN_Ip_SetBitrateCbt_Privileged/107 
  Calls: 
FlexCAN_SetSelfReception/17 (FlexCAN_SetSelfReception) @0710dee0
  Type: function definition analyzed
  Visibility: no_reorder prevailing_def_ironly
  References: 
  Referring: 
  Availability: local
  Function flags: body local
  Called by: FlexCAN_InitCtroll/57 
  Calls: 
FlexCAN_EnableExtCbt/16 (FlexCAN_EnableExtCbt) @0710da80
  Type: function definition analyzed
  Visibility: no_reorder prevailing_def_ironly
  References: 
  Referring: 
  Availability: local
  Function flags: body local
  Called by: FlexCAN_Ip_Init_Privileged/69 
  Calls: 
FlexCAN_IsExCbtEnabled/15 (FlexCAN_IsExCbtEnabled) @0710d700
  Type: function definition analyzed
  Visibility: no_reorder prevailing_def_ironly
  References: 
  Referring: 
  Availability: local
  Function flags: body local
  Called by: FlexCAN_Ip_GetBitrate/103 FlexCAN_Ip_SetBitrate_Privileged/102 
  Calls: 
FlexCAN_GetFDTimeSegments/14 (FlexCAN_GetFDTimeSegments) @0710d460
  Type: function definition analyzed
  Visibility: no_reorder prevailing_def_ironly
  References: 
  Referring: 
  Availability: local
  Function flags: body local
  Called by: FlexCAN_Ip_GetBitrateFD/108 
  Calls: 
FlexCAN_GetTimeSegments/13 (FlexCAN_GetTimeSegments) @0710d1c0
  Type: function definition analyzed
  Visibility: no_reorder prevailing_def_ironly
  References: 
  Referring: 
  Availability: local
  Function flags: body local
  Called by: FlexCAN_Ip_GetBitrate/103 
  Calls: 
FlexCAN_GetExtendedTimeSegments/12 (FlexCAN_GetExtendedTimeSegments) @0710aee0
  Type: function definition analyzed
  Visibility: no_reorder prevailing_def_ironly
  References: 
  Referring: 
  Availability: local
  Function flags: body local
  Called by: FlexCAN_Ip_GetBitrate/103 
  Calls: 
FlexCAN_SetExtendedTimeSegments/11 (FlexCAN_SetExtendedTimeSegments) @0710ac40
  Type: function definition analyzed
  Visibility: no_reorder prevailing_def_ironly
  References: 
  Referring: 
  Availability: local
  Function flags: body local
  Called by: FlexCAN_Ip_SetBitrate_Privileged/102 FlexCAN_Ip_Init_Privileged/69 
  Calls: 
FlexCAN_SetTimeSegments/10 (FlexCAN_SetTimeSegments) @0710a540
  Type: function definition analyzed
  Visibility: no_reorder prevailing_def_ironly
  References: 
  Referring: 
  Availability: local
  Function flags: body local
  Called by: FlexCAN_Ip_SetBitrate_Privileged/102 FlexCAN_Ip_Init_Privileged/69 
  Calls: 
FlexCAN_SetFDTimeSegments/9 (FlexCAN_SetFDTimeSegments) @07103e00
  Type: function definition analyzed
  Visibility: no_reorder prevailing_def_ironly
  References: 
  Referring: 
  Availability: local
  Function flags: body local
  Called by: FlexCAN_Ip_SetBitrateCbt_Privileged/107 FlexCAN_Ip_Init_Privileged/69 
  Calls: 
FlexCAN_GetBuffStatusImask/8 (FlexCAN_GetBuffStatusImask) @07103700
  Type: function definition analyzed
  Visibility: no_reorder prevailing_def_ironly
  References: 
  Referring: 
  Availability: local
  Function flags: body local
  Called by: FlexCAN_ProcessSpuriousInterruptMB/66 
  Calls: 
FlexCAN_GetBuffStatusFlag/7 (FlexCAN_GetBuffStatusFlag) @07103460
  Type: function definition analyzed
  Visibility: no_reorder prevailing_def_ironly
  References: 
  Referring: 
  Availability: local
  Function flags: body local
  Called by: FlexCAN_Ip_GetBuffStatusFlag/111 FlexCAN_Ip_MainFunctionWrite/96 FlexCAN_Ip_MainFunctionRead/94 FlexCAN_Ip_MainFunctionRead/94 FlexCAN_Ip_SendBlocking/87 FlexCAN_Ip_SendBlocking/87 FlexCAN_ProcessSpuriousInterruptMB/66 FlexCAN_Ip_ReceiveBlocking/73 FlexCAN_AbortTxTransfer/67 FlexCAN_ProccessLegacyRxFIFO/59 
  Calls: 
FlexCAN_ClearMsgBuffIntStatusFlag/6 (FlexCAN_ClearMsgBuffIntStatusFlag) @071031c0
  Type: function definition analyzed
  Visibility: no_reorder prevailing_def_ironly
  References: 
  Referring: 
  Availability: local
  Function flags: body local
  Called by: FlexCAN_Ip_ClearBuffStatusFlag/112 FlexCAN_Ip_MainFunctionWrite/96 FlexCAN_Ip_SendBlocking/87 FlexCAN_Ip_SendBlocking/87 FlexCAN_ProcessSpuriousInterruptMB/66 FlexCAN_IRQHandler/80 FlexCAN_IRQHandler/80 FlexCAN_Ip_ConfigRemoteResponseMb/77 FlexCAN_Ip_ConfigRxMb/71 FlexCAN_AbortRxTransfer/68 FlexCAN_AbortTxTransfer/67 FlexCAN_IRQHandlerTxMB/64 FlexCAN_IRQHandlerTxMB/64 FlexCAN_IRQHandlerRxMB/63 FlexCAN_StartSendData/61 FlexCAN_IRQHandlerRxFIFO/65 FlexCAN_IRQHandlerRxFIFO/65 FlexCAN_IRQHandlerRxFIFO/65 
  Calls: 
FlexCAN_UnlockRxMsgBuff/5 (FlexCAN_UnlockRxMsgBuff) @070f0ee0
  Type: function definition analyzed
  Visibility: no_reorder prevailing_def_ironly
  References: 
  Referring: 
  Availability: local
  Function flags: body local
  Called by: FlexCAN_Ip_MainFunctionWrite/96 FlexCAN_IRQHandlerTxMB/64 FlexCAN_IRQHandlerTxMB/64 FlexCAN_IRQHandlerRxMB/63 
  Calls: 
FlexCAN_SetListenOnlyMode/4 (FlexCAN_SetListenOnlyMode) @070f0b60
  Type: function definition analyzed
  Visibility: no_reorder prevailing_def_ironly
  References: 
  Referring: 
  Availability: local
  Function flags: body local
  Called by: FlexCAN_Ip_SetListenOnlyMode_Privileged/119 
  Calls: 
FlexCAN_SetFDEnabled/3 (FlexCAN_SetFDEnabled) @070f07e0
  Type: function definition analyzed
  Visibility: no_reorder prevailing_def_ironly
  References: 
  Referring: 
  Availability: local
  Function flags: body local
  Called by: FlexCAN_Ip_SetBitrateCbt_Privileged/107 FlexCAN_InitController/58 
  Calls: 
FlexCAN_IsEnabled/2 (FlexCAN_IsEnabled) @070f0380
  Type: function definition analyzed
  Visibility: no_reorder prevailing_def_ironly
  References: 
  Referring: 
  Availability: local
  Function flags: body local
  Called by: FlexCAN_Ip_ConfigPN_Privileged/121 FlexCAN_Ip_SetListenOnlyMode_Privileged/119 FlexCAN_Ip_SetRxMb15Mask_Privileged/118 FlexCAN_Ip_SetRxMb14Mask_Privileged/117 FlexCAN_Ip_SetErrorInt_Privileged/115 FlexCAN_Ip_DisableInterrupts_Privileged/114 FlexCAN_Ip_EnableInterrupts_Privileged/113 FlexCAN_Ip_SetTxArbitrationStartDelay_Privileged/110 FlexCAN_Ip_SetTDCOffset_Privileged/109 FlexCAN_Ip_SetBitrateCbt_Privileged/107 FlexCAN_Ip_SetBitrate_Privileged/102 FlexCAN_Ip_SetRxMaskType_Privileged/101 FlexCAN_Ip_SetRxFifoGlobalMask_Privileged/92 FlexCAN_Ip_SetRxIndividualMask_Privileged/91 FlexCAN_Ip_SetRxMbGlobalMask_Privileged/88 FlexCAN_Ip_ConfigRxFifo_Privileged/76 FlexCAN_InitController/58 
  Calls: 
FlexCAN_SetTDCOffset/1 (FlexCAN_SetTDCOffset) @070e9ee0
  Type: function definition analyzed
  Visibility: no_reorder prevailing_def_ironly
  References: 
  Referring: 
  Availability: local
  Function flags: body local
  Called by: FlexCAN_Ip_SetTDCOffset_Privileged/109 
  Calls: 
FlexCAN_SetRxFifoGlobalMask/0 (FlexCAN_SetRxFifoGlobalMask) @070e9b60
  Type: function definition analyzed
  Visibility: no_reorder prevailing_def_ironly
  References: 
  Referring: 
  Availability: local
  Function flags: body local
  Called by: FlexCAN_Ip_SetRxFifoGlobalMask_Privileged/92 
  Calls: 
FlexCAN_Ip_ManualBusOffRecovery (uint8 Instance)
{
  Flexcan_Ip_StatusType RetVal;
  uint32 uS2Ticks;
  uint32 timeElapsed;
  uint32 timeStart;
  struct FLEXCAN_Type * Base;
  Flexcan_Ip_StatusType D.8250;
  long unsigned int D.8247;

  <bb 2> :
  _1 = (int) Instance;
  Base = Flexcan_Ip_apxBase[_1];
  timeStart = 0;
  timeElapsed = 0;
  uS2Ticks = OsIf_MicrosToTicks (1000000, 0);
  RetVal = 1;
  _2 = Base->CTRL1;
  _3 = _2 & 64;
  if (_3 != 0)
    goto <bb 3>; [INV]
  else
    goto <bb 8>; [INV]

  <bb 3> :
  RetVal = 0;
  _4 = Base->ESR1;
  _5 = _4 & 32;
  if (_5 != 0)
    goto <bb 4>; [INV]
  else
    goto <bb 8>; [INV]

  <bb 4> :
  SchM_Enter_Can_CAN_EXCLUSIVE_AREA_20 ();
  _6 = Base->CTRL1;
  _7 = _6 & 4294967231;
  Base->CTRL1 = _7;
  _8 = Base->CTRL1;
  _9 = _8 | 64;
  Base->CTRL1 = _9;
  SchM_Exit_Can_CAN_EXCLUSIVE_AREA_20 ();
  _10 = OsIf_GetCounter (0);
  timeStart = _10;
  goto <bb 7>; [INV]

  <bb 5> :
  D.8247 = OsIf_GetElapsed (&timeStart, 0);
  timeElapsed = D.8247 + timeElapsed;
  if (timeElapsed >= uS2Ticks)
    goto <bb 6>; [INV]
  else
    goto <bb 7>; [INV]

  <bb 6> :
  RetVal = 3;
  goto <bb 8>; [INV]

  <bb 7> :
  _11 = Base->ESR1;
  _12 = _11 & 32;
  if (_12 != 0)
    goto <bb 5>; [INV]
  else
    goto <bb 8>; [INV]

  <bb 8> :
  D.8250 = RetVal;
  timeStart = {CLOBBER};

  <bb 9> :
<L10>:
  return D.8250;

}


FlexCAN_WakeUp_IRQHandler (uint8 u8Instance)
{
  const struct Flexcan_Ip_StateType * pState;
  struct FLEXCAN_Type * pBase;

  <bb 2> :
  _1 = (int) u8Instance;
  pBase = Flexcan_Ip_apxBase[_1];
  _2 = (int) u8Instance;
  pState = Flexcan_Ip_apxState[_2];
  if (pState != 0B)
    goto <bb 3>; [INV]
  else
    goto <bb 11>; [INV]

  <bb 3> :
  _3 = FlexCAN_GetWTOF (pBase);
  if (_3 != 0)
    goto <bb 4>; [INV]
  else
    goto <bb 7>; [INV]

  <bb 4> :
  FlexCAN_ClearWTOF (pBase);
  _4 = FlexCAN_GetWTOIE (pBase);
  if (_4 != 0)
    goto <bb 5>; [INV]
  else
    goto <bb 7>; [INV]

  <bb 5> :
  _5 = pState->callback;
  if (_5 != 0B)
    goto <bb 6>; [INV]
  else
    goto <bb 7>; [INV]

  <bb 6> :
  _6 = pState->callback;
  _6 (u8Instance, 5, 0, pState);

  <bb 7> :
  _7 = FlexCAN_GetWUMF (pBase);
  if (_7 != 0)
    goto <bb 8>; [INV]
  else
    goto <bb 12>; [INV]

  <bb 8> :
  FlexCAN_ClearWUMF (pBase);
  _8 = FlexCAN_GetWUMIE (pBase);
  if (_8 != 0)
    goto <bb 9>; [INV]
  else
    goto <bb 12>; [INV]

  <bb 9> :
  _9 = pState->callback;
  if (_9 != 0B)
    goto <bb 10>; [INV]
  else
    goto <bb 12>; [INV]

  <bb 10> :
  _10 = pState->callback;
  _10 (u8Instance, 6, 0, pState);
  goto <bb 12>; [INV]

  <bb 11> :
  FlexCAN_ClearWTOF (pBase);
  FlexCAN_ClearWUMF (pBase);

  <bb 12> :
  return;

}


FlexCAN_Ip_GetWMB (uint8 u8Instance, uint8 u8WmbIndex, struct Flexcan_Ip_MsgBuffType * pWmb)
{
  uint32 pWmbData;
  uint32 * pTmp;
  const struct FLEXCAN_Type * pBase;

  <bb 2> :
  _1 = (int) u8Instance;
  pBase = Flexcan_Ip_apxBase[_1];
  pTmp = &pWmb->data[0];
  _2 = (int) u8WmbIndex;
  pWmbData = pBase->WMB[_2].WMBn_D03;
  _3 = pWmbData >> 24;
  _4 = pWmbData >> 8;
  _5 = _4 & 65280;
  _6 = _3 | _5;
  _7 = pWmbData << 8;
  _8 = _7 & 16711680;
  _9 = _6 | _8;
  _10 = pWmbData << 24;
  _11 = _9 | _10;
  *pTmp = _11;
  pTmp = &pWmb->data[4];
  _12 = (int) u8WmbIndex;
  pWmbData = pBase->WMB[_12].WMBn_D47;
  _13 = pWmbData >> 24;
  _14 = pWmbData >> 8;
  _15 = _14 & 65280;
  _16 = _13 | _15;
  _17 = pWmbData << 8;
  _18 = _17 & 16711680;
  _19 = _16 | _18;
  _20 = pWmbData << 24;
  _21 = _19 | _20;
  *pTmp = _21;
  _22 = (int) u8WmbIndex;
  _23 = pBase->WMB[_22].WMBn_CS;
  pWmb->cs = _23;
  _24 = pWmb->cs;
  _25 = _24 & 2097152;
  if (_25 != 0)
    goto <bb 3>; [INV]
  else
    goto <bb 4>; [INV]

  <bb 3> :
  _26 = (int) u8WmbIndex;
  _27 = pBase->WMB[_26].WMBn_ID;
  pWmb->msgId = _27;
  goto <bb 5>; [INV]

  <bb 4> :
  _28 = (int) u8WmbIndex;
  _29 = pBase->WMB[_28].WMBn_ID;
  _30 = _29 >> 18;
  pWmb->msgId = _30;

  <bb 5> :
  _31 = pWmb->cs;
  _32 = _31 >> 16;
  _33 = (unsigned char) _32;
  _34 = _33 & 15;
  pWmb->dataLen = _34;
  return;

}


FlexCAN_Ip_ConfigPN_Privileged (uint8 u8Instance, boolean bEnable, const struct Flexcan_Ip_PnConfigType * pPnConfig)
{
  boolean disabled;
  struct FLEXCAN_Type * pBase;
  Flexcan_Ip_StatusType status;
  Flexcan_Ip_StatusType result;
  Flexcan_Ip_StatusType D.8211;

  <bb 2> :
  result = 0;
  status = 0;
  _1 = (int) u8Instance;
  pBase = Flexcan_Ip_apxBase[_1];
  _2 = FlexCAN_IsEnabled (pBase);
  _3 = (int) _2;
  _4 = _3 != 0;
  _5 = ~_4;
  _6 = (int) _5;
  disabled = (boolean) _6;
  if (u8Instance == 0)
    goto <bb 3>; [INV]
  else
    goto <bb 12>; [INV]

  <bb 3> :
  if (disabled != 0)
    goto <bb 4>; [INV]
  else
    goto <bb 5>; [INV]

  <bb 4> :
  result = FlexCAN_Enable (pBase);

  <bb 5> :
  if (result == 0)
    goto <bb 6>; [INV]
  else
    goto <bb 9>; [INV]

  <bb 6> :
  if (bEnable != 0)
    goto <bb 7>; [INV]
  else
    goto <bb 8>; [INV]

  <bb 7> :
  FlexCAN_ConfigPN (pBase, pPnConfig);

  <bb 8> :
  SchM_Enter_Can_CAN_EXCLUSIVE_AREA_12 ();
  FlexCAN_SetPN (pBase, bEnable);
  SchM_Exit_Can_CAN_EXCLUSIVE_AREA_12 ();

  <bb 9> :
  if (disabled != 0)
    goto <bb 10>; [INV]
  else
    goto <bb 13>; [INV]

  <bb 10> :
  status = FlexCAN_Disable (pBase);
  if (status != 0)
    goto <bb 11>; [INV]
  else
    goto <bb 13>; [INV]

  <bb 11> :
  result = status;
  goto <bb 13>; [INV]

  <bb 12> :
  result = 1;

  <bb 13> :
  D.8211 = result;

  <bb 14> :
<L13>:
  return D.8211;

}


FlexCAN_Ip_GetListenOnlyMode (uint8 instance)
{
  const struct FLEXCAN_Type * base;
  boolean D.8196;

  <bb 2> :
  _1 = (int) instance;
  base = Flexcan_Ip_apxBase[_1];
  D.8196 = FlexCAN_IsListenOnlyModeEnabled (base);

  <bb 3> :
<L0>:
  return D.8196;

}


FlexCAN_Ip_SetListenOnlyMode_Privileged (uint8 instance, const boolean enable)
{
  boolean disabled;
  struct FLEXCAN_Type * pBase;
  Flexcan_Ip_StatusType status;
  Flexcan_Ip_StatusType result;
  Flexcan_Ip_StatusType D.8190;

  <bb 2> :
  result = 0;
  status = 0;
  _1 = (int) instance;
  pBase = Flexcan_Ip_apxBase[_1];
  _2 = FlexCAN_IsEnabled (pBase);
  _3 = (int) _2;
  _4 = _3 != 0;
  _5 = ~_4;
  _6 = (int) _5;
  disabled = (boolean) _6;
  if (disabled != 0)
    goto <bb 3>; [INV]
  else
    goto <bb 4>; [INV]

  <bb 3> :
  result = FlexCAN_Enable (pBase);

  <bb 4> :
  if (result == 0)
    goto <bb 5>; [INV]
  else
    goto <bb 6>; [INV]

  <bb 5> :
  SchM_Enter_Can_CAN_EXCLUSIVE_AREA_10 ();
  FlexCAN_SetListenOnlyMode (pBase, enable);
  SchM_Exit_Can_CAN_EXCLUSIVE_AREA_10 ();

  <bb 6> :
  if (disabled != 0)
    goto <bb 7>; [INV]
  else
    goto <bb 9>; [INV]

  <bb 7> :
  status = FlexCAN_Disable (pBase);
  if (status != 0)
    goto <bb 8>; [INV]
  else
    goto <bb 9>; [INV]

  <bb 8> :
  result = status;

  <bb 9> :
  D.8190 = result;

  <bb 10> :
<L8>:
  return D.8190;

}


FlexCAN_Ip_SetRxMb15Mask_Privileged (uint8 instance, uint32 mask)
{
  boolean disabled;
  struct FLEXCAN_Type * pBase;
  Flexcan_Ip_StatusType status;
  Flexcan_Ip_StatusType result;
  Flexcan_Ip_StatusType D.8180;

  <bb 2> :
  result = 0;
  status = 0;
  _1 = (int) instance;
  pBase = Flexcan_Ip_apxBase[_1];
  _2 = FlexCAN_IsEnabled (pBase);
  _3 = (int) _2;
  _4 = _3 != 0;
  _5 = ~_4;
  _6 = (int) _5;
  disabled = (boolean) _6;
  if (disabled != 0)
    goto <bb 3>; [INV]
  else
    goto <bb 4>; [INV]

  <bb 3> :
  result = FlexCAN_Enable (pBase);

  <bb 4> :
  if (result == 0)
    goto <bb 5>; [INV]
  else
    goto <bb 6>; [INV]

  <bb 5> :
  pBase->RX15MASK = mask;

  <bb 6> :
  if (disabled != 0)
    goto <bb 7>; [INV]
  else
    goto <bb 9>; [INV]

  <bb 7> :
  status = FlexCAN_Disable (pBase);
  if (status != 0)
    goto <bb 8>; [INV]
  else
    goto <bb 9>; [INV]

  <bb 8> :
  result = status;

  <bb 9> :
  D.8180 = result;

  <bb 10> :
<L8>:
  return D.8180;

}


FlexCAN_Ip_SetRxMb14Mask_Privileged (uint8 instance, uint32 mask)
{
  boolean disabled;
  struct FLEXCAN_Type * pBase;
  Flexcan_Ip_StatusType status;
  Flexcan_Ip_StatusType result;
  Flexcan_Ip_StatusType D.8170;

  <bb 2> :
  result = 0;
  status = 0;
  _1 = (int) instance;
  pBase = Flexcan_Ip_apxBase[_1];
  _2 = FlexCAN_IsEnabled (pBase);
  _3 = (int) _2;
  _4 = _3 != 0;
  _5 = ~_4;
  _6 = (int) _5;
  disabled = (boolean) _6;
  if (disabled != 0)
    goto <bb 3>; [INV]
  else
    goto <bb 4>; [INV]

  <bb 3> :
  result = FlexCAN_Enable (pBase);

  <bb 4> :
  if (result == 0)
    goto <bb 5>; [INV]
  else
    goto <bb 6>; [INV]

  <bb 5> :
  pBase->RX14MASK = mask;

  <bb 6> :
  if (disabled != 0)
    goto <bb 7>; [INV]
  else
    goto <bb 9>; [INV]

  <bb 7> :
  status = FlexCAN_Disable (pBase);
  if (status != 0)
    goto <bb 8>; [INV]
  else
    goto <bb 9>; [INV]

  <bb 8> :
  result = status;

  <bb 9> :
  D.8170 = result;

  <bb 10> :
<L8>:
  return D.8170;

}


FlexCAN_Ip_AbortTransfer (uint8 u8Instance, uint8 mb_idx)
{
  Flexcan_Ip_StatusType result;
  const struct Flexcan_Ip_StateType * state;
  struct FLEXCAN_Type * pBase;
  Flexcan_Ip_StatusType D.8160;

  <bb 2> :
  _1 = (int) u8Instance;
  pBase = Flexcan_Ip_apxBase[_1];
  _2 = (int) u8Instance;
  state = Flexcan_Ip_apxState[_2];
  result = 0;
  if (mb_idx <= 31)
    goto <bb 3>; [INV]
  else
    goto <bb 9>; [INV]

  <bb 3> :
  _3 = (int) mb_idx;
  _4 = state->mbs[_3].state;
  if (_4 == 0)
    goto <bb 4>; [INV]
  else
    goto <bb 5>; [INV]

  <bb 4> :
  result = 5;
  goto <bb 9>; [INV]

  <bb 5> :
  _5 = (long unsigned int) mb_idx;
  _6 = state->isIntActive;
  FLEXCAN_ClearMsgBuffIntCmd (pBase, u8Instance, _5, _6);
  _7 = (int) mb_idx;
  _8 = state->mbs[_7].state;
  if (_8 == 2)
    goto <bb 6>; [INV]
  else
    goto <bb 7>; [INV]

  <bb 6> :
  result = FlexCAN_AbortTxTransfer (u8Instance, mb_idx);

  <bb 7> :
  _9 = (int) mb_idx;
  _10 = state->mbs[_9].state;
  if (_10 == 1)
    goto <bb 8>; [INV]
  else
    goto <bb 9>; [INV]

  <bb 8> :
  FlexCAN_AbortRxTransfer (u8Instance, mb_idx);

  <bb 9> :
  D.8160 = result;

  <bb 10> :
<L9>:
  return D.8160;

}


FlexCAN_Ip_SetErrorInt_Privileged (uint8 u8Instance, Flexcan_Ip_ErrorIntType type, boolean enable)
{
  boolean disabled;
  struct FLEXCAN_Type * pBase;
  Flexcan_Ip_StatusType status;
  Flexcan_Ip_StatusType result;
  Flexcan_Ip_StatusType D.8149;

  <bb 2> :
  result = 0;
  status = 0;
  _1 = (int) u8Instance;
  pBase = Flexcan_Ip_apxBase[_1];
  _2 = FlexCAN_IsEnabled (pBase);
  _3 = (int) _2;
  _4 = _3 != 0;
  _5 = ~_4;
  _6 = (int) _5;
  disabled = (boolean) _6;
  if (disabled != 0)
    goto <bb 3>; [INV]
  else
    goto <bb 4>; [INV]

  <bb 3> :
  result = FlexCAN_Enable (pBase);

  <bb 4> :
  if (result == 0)
    goto <bb 5>; [INV]
  else
    goto <bb 12>; [INV]

  <bb 5> :
  switch (type) <default: <L8> [INV], case 0: <L6> [INV], case 1: <L7> [INV], case 2: <L4> [INV], case 3: <L5> [INV], case 4: <L3> [INV]>

  <bb 6> :
<L3>:
  FlexCAN_SetErrIntCmd (pBase, 32768, enable);
  goto <bb 12>; [INV]

  <bb 7> :
<L4>:
  FlexCAN_SetErrIntCmd (pBase, 16384, enable);
  goto <bb 12>; [INV]

  <bb 8> :
<L5>:
  FlexCAN_SetErrIntCmd (pBase, 16385, enable);
  goto <bb 12>; [INV]

  <bb 9> :
<L6>:
  FlexCAN_SetErrIntCmd (pBase, 1024, enable);
  goto <bb 12>; [INV]

  <bb 10> :
<L7>:
  FlexCAN_SetErrIntCmd (pBase, 2048, enable);
  goto <bb 12>; [INV]

  <bb 11> :
<L8>:

  <bb 12> :
  if (disabled != 0)
    goto <bb 13>; [INV]
  else
    goto <bb 15>; [INV]

  <bb 13> :
  status = FlexCAN_Disable (pBase);
  if (status != 0)
    goto <bb 14>; [INV]
  else
    goto <bb 15>; [INV]

  <bb 14> :
  result = status;

  <bb 15> :
  D.8149 = result;

  <bb 16> :
<L15>:
  return D.8149;

}


FlexCAN_Ip_DisableInterrupts_Privileged (uint8 u8Instance)
{
  struct Flexcan_Ip_StateType * state;
  Flexcan_Ip_StatusType result;
  struct FLEXCAN_Type * pBase;
  Flexcan_Ip_StatusType D.8139;

  <bb 2> :
  _1 = (int) u8Instance;
  pBase = Flexcan_Ip_apxBase[_1];
  result = 1;
  _2 = (int) u8Instance;
  state = Flexcan_Ip_apxState[_2];
  _3 = FlexCAN_IsEnabled (pBase);
  if (_3 != 0)
    goto <bb 3>; [INV]
  else
    goto <bb 4>; [INV]

  <bb 3> :
  FlexCAN_DisableInterrupts (pBase);
  state->isIntActive = 0;
  result = 0;

  <bb 4> :
  D.8139 = result;

  <bb 5> :
<L2>:
  return D.8139;

}


FlexCAN_Ip_EnableInterrupts_Privileged (uint8 u8Instance)
{
  struct Flexcan_Ip_StateType * state;
  Flexcan_Ip_StatusType result;
  struct FLEXCAN_Type * pBase;
  Flexcan_Ip_StatusType D.8135;

  <bb 2> :
  _1 = (int) u8Instance;
  pBase = Flexcan_Ip_apxBase[_1];
  result = 1;
  _2 = (int) u8Instance;
  state = Flexcan_Ip_apxState[_2];
  _3 = FlexCAN_IsEnabled (pBase);
  if (_3 != 0)
    goto <bb 3>; [INV]
  else
    goto <bb 4>; [INV]

  <bb 3> :
  FlexCAN_EnableInterrupts (pBase, u8Instance);
  state->isIntActive = 1;
  result = 0;

  <bb 4> :
  D.8135 = result;

  <bb 5> :
<L2>:
  return D.8135;

}


FlexCAN_Ip_ClearBuffStatusFlag (uint8 instance, uint8 msgBuffIdx)
{
  struct FLEXCAN_Type * pBase;

  <bb 2> :
  _1 = (int) instance;
  pBase = Flexcan_Ip_apxBase[_1];
  _2 = (long unsigned int) msgBuffIdx;
  FlexCAN_ClearMsgBuffIntStatusFlag (pBase, _2);
  return;

}


FlexCAN_Ip_GetBuffStatusFlag (uint8 instance, uint8 msgBuffIdx)
{
  const struct FLEXCAN_Type * pBase;
  boolean returnResult;
  boolean D.8131;

  <bb 2> :
  returnResult = 1;
  _1 = (int) instance;
  pBase = Flexcan_Ip_apxBase[_1];
  _2 = (long unsigned int) msgBuffIdx;
  _3 = FlexCAN_GetBuffStatusFlag (pBase, _2);
  returnResult = _3 == 1;
  D.8131 = returnResult;

  <bb 3> :
<L0>:
  return D.8131;

}


FlexCAN_Ip_SetTxArbitrationStartDelay_Privileged (uint8 instance, uint8 value)
{
  boolean disabled;
  struct FLEXCAN_Type * pBase;
  Flexcan_Ip_StatusType status;
  Flexcan_Ip_StatusType result;
  Flexcan_Ip_StatusType D.8129;

  <bb 2> :
  result = 0;
  status = 0;
  _1 = (int) instance;
  pBase = Flexcan_Ip_apxBase[_1];
  _2 = FlexCAN_IsEnabled (pBase);
  _3 = (int) _2;
  _4 = _3 != 0;
  _5 = ~_4;
  _6 = (int) _5;
  disabled = (boolean) _6;
  if (disabled != 0)
    goto <bb 3>; [INV]
  else
    goto <bb 4>; [INV]

  <bb 3> :
  result = FlexCAN_Enable (pBase);

  <bb 4> :
  if (result == 0)
    goto <bb 5>; [INV]
  else
    goto <bb 6>; [INV]

  <bb 5> :
  SchM_Enter_Can_CAN_EXCLUSIVE_AREA_17 ();
  FlexCAN_SetTxArbitrationStartDelay (pBase, value);
  SchM_Exit_Can_CAN_EXCLUSIVE_AREA_17 ();

  <bb 6> :
  if (disabled != 0)
    goto <bb 7>; [INV]
  else
    goto <bb 9>; [INV]

  <bb 7> :
  status = FlexCAN_Disable (pBase);
  if (status != 0)
    goto <bb 8>; [INV]
  else
    goto <bb 9>; [INV]

  <bb 8> :
  result = status;

  <bb 9> :
  D.8129 = result;

  <bb 10> :
<L8>:
  return D.8129;

}


FlexCAN_Ip_SetTDCOffset_Privileged (uint8 instance, boolean enable, uint8 offset)
{
  boolean disabled;
  struct FLEXCAN_Type * pBase;
  Flexcan_Ip_StatusType status;
  Flexcan_Ip_StatusType result;
  Flexcan_Ip_StatusType D.8117;

  <bb 2> :
  result = 0;
  status = 0;
  _1 = (int) instance;
  pBase = Flexcan_Ip_apxBase[_1];
  _2 = FlexCAN_IsEnabled (pBase);
  _3 = (int) _2;
  _4 = _3 != 0;
  _5 = ~_4;
  _6 = (int) _5;
  disabled = (boolean) _6;
  if (disabled != 0)
    goto <bb 3>; [INV]
  else
    goto <bb 4>; [INV]

  <bb 3> :
  result = FlexCAN_Enable (pBase);

  <bb 4> :
  if (result == 0)
    goto <bb 5>; [INV]
  else
    goto <bb 6>; [INV]

  <bb 5> :
  SchM_Enter_Can_CAN_EXCLUSIVE_AREA_16 ();
  FlexCAN_SetTDCOffset (pBase, enable, offset);
  SchM_Exit_Can_CAN_EXCLUSIVE_AREA_16 ();

  <bb 6> :
  if (disabled != 0)
    goto <bb 7>; [INV]
  else
    goto <bb 9>; [INV]

  <bb 7> :
  status = FlexCAN_Disable (pBase);
  if (status != 0)
    goto <bb 8>; [INV]
  else
    goto <bb 9>; [INV]

  <bb 8> :
  result = status;

  <bb 9> :
  D.8117 = result;

  <bb 10> :
<L8>:
  return D.8117;

}


FlexCAN_Ip_GetBitrateFD (uint8 instance, struct Flexcan_Ip_TimeSegmentType * bitrate)
{
  boolean enhCbt;
  const struct FLEXCAN_Type * pBase;
  boolean D.8107;

  <bb 2> :
  _1 = (int) instance;
  pBase = Flexcan_Ip_apxBase[_1];
  enhCbt = 0;
  FlexCAN_GetFDTimeSegments (pBase, bitrate);
  D.8107 = enhCbt;

  <bb 3> :
<L0>:
  return D.8107;

}


FlexCAN_Ip_SetBitrateCbt_Privileged (uint8 instance, const struct Flexcan_Ip_TimeSegmentType * bitrate, boolean bitRateSwitch)
{
  boolean fd_enable;
  boolean disabled;
  struct FLEXCAN_Type * pBase;
  Flexcan_Ip_StatusType status;
  Flexcan_Ip_StatusType result;
  Flexcan_Ip_StatusType D.8103;

  <bb 2> :
  result = 0;
  status = 0;
  _1 = (int) instance;
  pBase = Flexcan_Ip_apxBase[_1];
  _2 = FlexCAN_IsEnabled (pBase);
  _3 = (int) _2;
  _4 = _3 != 0;
  _5 = ~_4;
  _6 = (int) _5;
  disabled = (boolean) _6;
  fd_enable = FlexCAN_IsFDEnabled (pBase);
  if (disabled != 0)
    goto <bb 3>; [INV]
  else
    goto <bb 4>; [INV]

  <bb 3> :
  result = FlexCAN_Enable (pBase);

  <bb 4> :
  if (result == 0)
    goto <bb 5>; [INV]
  else
    goto <bb 6>; [INV]

  <bb 5> :
  SchM_Enter_Can_CAN_EXCLUSIVE_AREA_15 ();
  FlexCAN_SetFDEnabled (pBase, fd_enable, bitRateSwitch);
  FlexCAN_SetFDTimeSegments (pBase, bitrate);
  SchM_Exit_Can_CAN_EXCLUSIVE_AREA_15 ();

  <bb 6> :
  if (disabled != 0)
    goto <bb 7>; [INV]
  else
    goto <bb 9>; [INV]

  <bb 7> :
  status = FlexCAN_Disable (pBase);
  if (status != 0)
    goto <bb 8>; [INV]
  else
    goto <bb 9>; [INV]

  <bb 8> :
  result = status;

  <bb 9> :
  D.8103 = result;

  <bb 10> :
<L8>:
  return D.8103;

}


FlexCAN_Ip_GetTDCValue (uint8 u8Instance)
{
  const struct FLEXCAN_Type * pBase;
  uint8 value;
  uint8 D.8093;

  <bb 2> :
  value = 0;
  _1 = (int) u8Instance;
  pBase = Flexcan_Ip_apxBase[_1];
  _2 = pBase->FDCTRL;
  _3 = (unsigned char) _2;
  value = _3 & 63;
  D.8093 = value;

  <bb 3> :
<L0>:
  return D.8093;

}


FlexCAN_Ip_GetTDCFail (uint8 u8Instance)
{
  const struct FLEXCAN_Type * pBase;
  boolean value;
  boolean D.8091;

  <bb 2> :
  value = 0;
  _1 = (int) u8Instance;
  pBase = Flexcan_Ip_apxBase[_1];
  _2 = pBase->FDCTRL;
  _3 = _2 & 16384;
  value = _3 == 16384;
  D.8091 = value;

  <bb 3> :
<L0>:
  return D.8091;

}


FlexCAN_Ip_ClearTDCFail (uint8 u8Instance)
{
  struct FLEXCAN_Type * pBase;

  <bb 2> :
  _1 = (int) u8Instance;
  pBase = Flexcan_Ip_apxBase[_1];
  SchM_Enter_Can_CAN_EXCLUSIVE_AREA_09 ();
  _2 = pBase->FDCTRL;
  _3 = _2 | 16384;
  pBase->FDCTRL = _3;
  SchM_Exit_Can_CAN_EXCLUSIVE_AREA_09 ();
  return;

}


FlexCAN_Ip_GetBitrate (uint8 instance, struct Flexcan_Ip_TimeSegmentType * bitrate)
{
  boolean enhCbt;
  const struct FLEXCAN_Type * pBase;
  boolean D.8089;

  <bb 2> :
  _1 = (int) instance;
  pBase = Flexcan_Ip_apxBase[_1];
  enhCbt = 0;
  _2 = FlexCAN_IsExCbtEnabled (pBase);
  if (_2 != 0)
    goto <bb 3>; [INV]
  else
    goto <bb 4>; [INV]

  <bb 3> :
  FlexCAN_GetExtendedTimeSegments (pBase, bitrate);
  goto <bb 5>; [INV]

  <bb 4> :
  FlexCAN_GetTimeSegments (pBase, bitrate);

  <bb 5> :
  D.8089 = enhCbt;

  <bb 6> :
<L3>:
  return D.8089;

}


FlexCAN_Ip_SetBitrate_Privileged (uint8 instance, const struct Flexcan_Ip_TimeSegmentType * bitrate, boolean enhExt)
{
  boolean disabled;
  struct FLEXCAN_Type * pBase;
  Flexcan_Ip_StatusType status;
  Flexcan_Ip_StatusType result;
  Flexcan_Ip_StatusType D.8082;

  <bb 2> :
  result = 0;
  status = 0;
  _1 = (int) instance;
  pBase = Flexcan_Ip_apxBase[_1];
  _2 = FlexCAN_IsEnabled (pBase);
  _3 = (int) _2;
  _4 = _3 != 0;
  _5 = ~_4;
  _6 = (int) _5;
  disabled = (boolean) _6;
  if (disabled != 0)
    goto <bb 3>; [INV]
  else
    goto <bb 4>; [INV]

  <bb 3> :
  result = FlexCAN_Enable (pBase);

  <bb 4> :
  if (result == 0)
    goto <bb 5>; [INV]
  else
    goto <bb 9>; [INV]

  <bb 5> :
  SchM_Enter_Can_CAN_EXCLUSIVE_AREA_14 ();
  _7 = FlexCAN_IsExCbtEnabled (pBase);
  if (_7 != 0)
    goto <bb 6>; [INV]
  else
    goto <bb 7>; [INV]

  <bb 6> :
  FlexCAN_SetExtendedTimeSegments (pBase, bitrate);
  goto <bb 8>; [INV]

  <bb 7> :
  FlexCAN_SetTimeSegments (pBase, bitrate);

  <bb 8> :
  SchM_Exit_Can_CAN_EXCLUSIVE_AREA_14 ();

  <bb 9> :
  if (disabled != 0)
    goto <bb 10>; [INV]
  else
    goto <bb 12>; [INV]

  <bb 10> :
  status = FlexCAN_Disable (pBase);
  if (status != 0)
    goto <bb 11>; [INV]
  else
    goto <bb 12>; [INV]

  <bb 11> :
  result = status;

  <bb 12> :
  D.8082 = result;

  <bb 13> :
<L11>:
  return D.8082;

}


FlexCAN_Ip_SetRxMaskType_Privileged (uint8 instance, Flexcan_Ip_RxMaskType type)
{
  boolean disabled;
  struct FLEXCAN_Type * pBase;
  Flexcan_Ip_StatusType status;
  Flexcan_Ip_StatusType result;
  Flexcan_Ip_StatusType D.8066;

  <bb 2> :
  result = 0;
  status = 0;
  _1 = (int) instance;
  pBase = Flexcan_Ip_apxBase[_1];
  _2 = FlexCAN_IsEnabled (pBase);
  _3 = (int) _2;
  _4 = _3 != 0;
  _5 = ~_4;
  _6 = (int) _5;
  disabled = (boolean) _6;
  if (disabled != 0)
    goto <bb 3>; [INV]
  else
    goto <bb 4>; [INV]

  <bb 3> :
  result = FlexCAN_Enable (pBase);

  <bb 4> :
  if (result == 0)
    goto <bb 5>; [INV]
  else
    goto <bb 6>; [INV]

  <bb 5> :
  SchM_Enter_Can_CAN_EXCLUSIVE_AREA_08 ();
  FlexCAN_SetRxMaskType (pBase, type);
  SchM_Exit_Can_CAN_EXCLUSIVE_AREA_08 ();

  <bb 6> :
  if (disabled != 0)
    goto <bb 7>; [INV]
  else
    goto <bb 9>; [INV]

  <bb 7> :
  status = FlexCAN_Disable (pBase);
  if (status != 0)
    goto <bb 8>; [INV]
  else
    goto <bb 9>; [INV]

  <bb 8> :
  result = status;

  <bb 9> :
  D.8066 = result;

  <bb 10> :
<L8>:
  return D.8066;

}


FlexCAN_Ip_SetStopMode_Privileged (uint8 instance)
{
  Flexcan_Ip_StatusType status;
  struct FLEXCAN_Type * pBase;
  Flexcan_Ip_StatusType D.8056;

  <bb 2> :
  _1 = (int) instance;
  pBase = Flexcan_Ip_apxBase[_1];
  status = FlexCAN_EnterFreezeMode (pBase);
  if (status == 0)
    goto <bb 3>; [INV]
  else
    goto <bb 4>; [INV]

  <bb 3> :
  status = FlexCAN_Disable (pBase);

  <bb 4> :
  D.8056 = status;

  <bb 5> :
<L2>:
  return D.8056;

}


FlexCAN_Ip_SetStartMode_Privileged (uint8 instance)
{
  struct FLEXCAN_Type * pBase;
  Flexcan_Ip_StatusType D.8052;

  <bb 2> :
  _1 = (int) instance;
  pBase = Flexcan_Ip_apxBase[_1];
  SchM_Enter_Can_CAN_EXCLUSIVE_AREA_07 ();
  _2 = pBase->MCR;
  _3 = _2 & 2147483647;
  pBase->MCR = _3;
  SchM_Exit_Can_CAN_EXCLUSIVE_AREA_07 ();
  D.8052 = FlexCAN_ExitFreezeMode (pBase);

  <bb 3> :
<L0>:
  return D.8052;

}


FlexCAN_Ip_GetStartMode_Privileged (uint8 instance)
{
  const struct FLEXCAN_Type * base;
  boolean D.8050;

  <bb 2> :
  _1 = (int) instance;
  base = Flexcan_Ip_apxBase[_1];
  _2 = base->MCR;
  _3 = _2 & 17825792;
  D.8050 = _3 == 0;

  <bb 3> :
<L0>:
  return D.8050;

}


FlexCAN_Ip_GetStopMode_Privileged (uint8 instance)
{
  const struct FLEXCAN_Type * base;
  boolean D.8048;

  <bb 2> :
  _1 = (int) instance;
  base = Flexcan_Ip_apxBase[_1];
  _2 = base->MCR;
  _3 = _2 & 1048576;
  D.8048 = _3 == 1048576;

  <bb 3> :
<L0>:
  return D.8048;

}


FlexCAN_Ip_MainFunctionWrite (uint8 instance, uint8 mb_idx)
{
  struct Flexcan_Ip_StateType * state;
  struct FLEXCAN_Type * base;

  <bb 2> :
  _1 = (int) instance;
  base = Flexcan_Ip_apxBase[_1];
  _2 = (int) instance;
  state = Flexcan_Ip_apxState[_2];
  _3 = (long unsigned int) mb_idx;
  _4 = FlexCAN_GetBuffStatusFlag (base, _3);
  if (_4 != 0)
    goto <bb 3>; [INV]
  else
    goto <bb 4>; [INV]

  <bb 3> :
  _5 = (long unsigned int) mb_idx;
  _6 = (int) mb_idx;
  _7 = FlexCAN_GetMsgBuffTimestamp (base, _5);
  state->mbs[_6].time_stamp = _7;
  FlexCAN_UnlockRxMsgBuff (base);
  _8 = (long unsigned int) mb_idx;
  FlexCAN_ClearMsgBuffIntStatusFlag (base, _8);
  _9 = (int) mb_idx;
  state->mbs[_9].state = 0;

  <bb 4> :
  return;

}


FlexCAN_Ip_MainFunctionBusOff_Privileged (uint8 instance)
{
  uint32 u32ErrStatus;
  const struct Flexcan_Ip_StateType * state;
  struct FLEXCAN_Type * base;
  Flexcan_Ip_StatusType eRetVal;
  Flexcan_Ip_StatusType D.8044;

  <bb 2> :
  eRetVal = 1;
  _1 = (int) instance;
  base = Flexcan_Ip_apxBase[_1];
  _2 = (int) instance;
  state = Flexcan_Ip_apxState[_2];
  u32ErrStatus = 0;
  u32ErrStatus = base->ESR1;
  _3 = u32ErrStatus & 4;
  if (_3 != 0)
    goto <bb 3>; [INV]
  else
    goto <bb 6>; [INV]

  <bb 3> :
  _4 = state->error_callback;
  if (_4 != 0B)
    goto <bb 4>; [INV]
  else
    goto <bb 5>; [INV]

  <bb 4> :
  _5 = state->error_callback;
  _5 (instance, 9, u32ErrStatus, state);

  <bb 5> :
  base->ESR1 = 4;
  eRetVal = 0;

  <bb 6> :
  D.8044 = eRetVal;

  <bb 7> :
<L4>:
  return D.8044;

}


FlexCAN_Ip_MainFunctionRead (uint8 instance, uint8 mb_idx)
{
  const struct Flexcan_Ip_StateType * state;
  const struct FLEXCAN_Type * base;

  <bb 2> :
  _1 = (int) instance;
  base = Flexcan_Ip_apxBase[_1];
  _2 = (int) instance;
  state = Flexcan_Ip_apxState[_2];
  _3 = state->bIsLegacyFifoEn;
  if (_3 != 0)
    goto <bb 3>; [INV]
  else
    goto <bb 8>; [INV]

  <bb 3> :
  if (mb_idx <= 7)
    goto <bb 4>; [INV]
  else
    goto <bb 8>; [INV]

  <bb 4> :
  if (mb_idx == 0)
    goto <bb 5>; [INV]
  else
    goto <bb 7>; [INV]

  <bb 5> :
  _4 = FlexCAN_GetBuffStatusFlag (base, 5);
  if (_4 != 0)
    goto <bb 6>; [INV]
  else
    goto <bb 7>; [INV]

  <bb 6> :
  FlexCAN_IRQHandlerRxFIFO (instance, 5);

  <bb 7> :
  goto <bb 11>; [INV]

  <bb 8> :
  _5 = (long unsigned int) mb_idx;
  _6 = FlexCAN_GetBuffStatusFlag (base, _5);
  if (_6 != 0)
    goto <bb 9>; [INV]
  else
    goto <bb 11>; [INV]

  <bb 9> :
  _7 = (int) mb_idx;
  _8 = state->mbs[_7].state;
  if (_8 == 1)
    goto <bb 10>; [INV]
  else
    goto <bb 11>; [INV]

  <bb 10> :
  _9 = (long unsigned int) mb_idx;
  FlexCAN_IRQHandlerRxMB (instance, _9);

  <bb 11> :
  return;

}


FlexCAN_Ip_Deinit_Privileged (uint8 instance)
{
  Flexcan_Ip_StatusType result;
  struct FLEXCAN_Type * base;
  Flexcan_Ip_StatusType D.8024;

  <bb 2> :
  _1 = (int) instance;
  base = Flexcan_Ip_apxBase[_1];
  result = 1;
  result = FlexCAN_EnterFreezeMode (base);
  if (result == 0)
    goto <bb 3>; [INV]
  else
    goto <bb 4>; [INV]

  <bb 3> :
  FlexCAN_SetRegDefaultVal (base);
  FlexCAN_Disable (base);
  _2 = (int) instance;
  Flexcan_Ip_apxState[_2] = 0B;

  <bb 4> :
  D.8024 = result;

  <bb 5> :
<L2>:
  return D.8024;

}


FlexCAN_Ip_SetRxFifoGlobalMask_Privileged (uint8 instance, uint32 mask)
{
  boolean disabled;
  struct FLEXCAN_Type * pBase;
  Flexcan_Ip_StatusType status;
  Flexcan_Ip_StatusType result;
  Flexcan_Ip_StatusType D.8020;

  <bb 2> :
  result = 0;
  status = 0;
  _1 = (int) instance;
  pBase = Flexcan_Ip_apxBase[_1];
  _2 = FlexCAN_IsEnabled (pBase);
  _3 = (int) _2;
  _4 = _3 != 0;
  _5 = ~_4;
  _6 = (int) _5;
  disabled = (boolean) _6;
  if (disabled != 0)
    goto <bb 3>; [INV]
  else
    goto <bb 4>; [INV]

  <bb 3> :
  result = FlexCAN_Enable (pBase);

  <bb 4> :
  if (result == 0)
    goto <bb 5>; [INV]
  else
    goto <bb 6>; [INV]

  <bb 5> :
  FlexCAN_SetRxFifoGlobalMask (pBase, mask);

  <bb 6> :
  if (disabled != 0)
    goto <bb 7>; [INV]
  else
    goto <bb 9>; [INV]

  <bb 7> :
  status = FlexCAN_Disable (pBase);
  if (status != 0)
    goto <bb 8>; [INV]
  else
    goto <bb 9>; [INV]

  <bb 8> :
  result = status;

  <bb 9> :
  D.8020 = result;

  <bb 10> :
<L8>:
  return D.8020;

}


FlexCAN_Ip_SetRxIndividualMask_Privileged (uint8 instance, uint8 mb_idx, uint32 mask)
{
  boolean disabled;
  struct FLEXCAN_Type * pBase;
  Flexcan_Ip_StatusType status;
  Flexcan_Ip_StatusType result;
  Flexcan_Ip_StatusType D.8010;

  <bb 2> :
  result = 0;
  status = 0;
  _1 = (int) instance;
  pBase = Flexcan_Ip_apxBase[_1];
  _2 = FlexCAN_IsEnabled (pBase);
  _3 = (int) _2;
  _4 = _3 != 0;
  _5 = ~_4;
  _6 = (int) _5;
  disabled = (boolean) _6;
  if (disabled != 0)
    goto <bb 3>; [INV]
  else
    goto <bb 4>; [INV]

  <bb 3> :
  result = FlexCAN_Enable (pBase);

  <bb 4> :
  if (result == 0)
    goto <bb 5>; [INV]
  else
    goto <bb 6>; [INV]

  <bb 5> :
  _7 = (long unsigned int) mb_idx;
  FlexCAN_SetRxIndividualMask (pBase, _7, mask);

  <bb 6> :
  if (disabled != 0)
    goto <bb 7>; [INV]
  else
    goto <bb 9>; [INV]

  <bb 7> :
  status = FlexCAN_Disable (pBase);
  if (status != 0)
    goto <bb 8>; [INV]
  else
    goto <bb 9>; [INV]

  <bb 8> :
  result = status;

  <bb 9> :
  D.8010 = result;

  <bb 10> :
<L8>:
  return D.8010;

}


FlexCAN_Ip_ExitFreezeMode_Privileged (uint8 instance)
{
  struct FLEXCAN_Type * base;
  Flexcan_Ip_StatusType D.8000;

  <bb 2> :
  _1 = (int) instance;
  base = Flexcan_Ip_apxBase[_1];
  D.8000 = FlexCAN_ExitFreezeMode (base);

  <bb 3> :
<L0>:
  return D.8000;

}


FlexCAN_Ip_EnterFreezeMode_Privileged (uint8 instance)
{
  struct FLEXCAN_Type * base;
  Flexcan_Ip_StatusType D.7998;

  <bb 2> :
  _1 = (int) instance;
  base = Flexcan_Ip_apxBase[_1];
  D.7998 = FlexCAN_EnterFreezeMode (base);

  <bb 3> :
<L0>:
  return D.7998;

}


FlexCAN_Ip_SetRxMbGlobalMask_Privileged (uint8 instance, uint32 mask)
{
  boolean disabled;
  struct FLEXCAN_Type * pBase;
  Flexcan_Ip_StatusType status;
  Flexcan_Ip_StatusType result;
  Flexcan_Ip_StatusType D.7996;

  <bb 2> :
  result = 0;
  status = 0;
  _1 = (int) instance;
  pBase = Flexcan_Ip_apxBase[_1];
  _2 = FlexCAN_IsEnabled (pBase);
  _3 = (int) _2;
  _4 = _3 != 0;
  _5 = ~_4;
  _6 = (int) _5;
  disabled = (boolean) _6;
  if (disabled != 0)
    goto <bb 3>; [INV]
  else
    goto <bb 4>; [INV]

  <bb 3> :
  result = FlexCAN_Enable (pBase);

  <bb 4> :
  if (result == 0)
    goto <bb 5>; [INV]
  else
    goto <bb 6>; [INV]

  <bb 5> :
  FlexCAN_SetRxMsgBuffGlobalMask (pBase, mask);

  <bb 6> :
  if (disabled != 0)
    goto <bb 7>; [INV]
  else
    goto <bb 9>; [INV]

  <bb 7> :
  status = FlexCAN_Disable (pBase);
  if (status != 0)
    goto <bb 8>; [INV]
  else
    goto <bb 9>; [INV]

  <bb 8> :
  result = status;

  <bb 9> :
  D.7996 = result;

  <bb 10> :
<L8>:
  return D.7996;

}


FlexCAN_Ip_SendBlocking (uint8 instance, uint8 mb_idx, const struct Flexcan_Ip_DataInfoType * tx_info, uint32 msg_id, const uint8 * mb_data, uint32 timeout_ms)
{
  volatile uint32 * flexcan_mb;
  uint32 flexcan_mb_config;
  uint32 uS2Ticks;
  uint32 mS2Ticks;
  uint32 timeElapsed;
  uint32 timeStart;
  struct Flexcan_Ip_StateType * state;
  struct FLEXCAN_Type * base;
  Flexcan_Ip_StatusType result;
  Flexcan_Ip_StatusType D.7985;
  long unsigned int D.7978;
  long unsigned int D.7971;

  <bb 2> :
  _1 = (int) instance;
  base = Flexcan_Ip_apxBase[_1];
  _2 = (int) instance;
  state = Flexcan_Ip_apxState[_2];
  timeStart = 0;
  timeElapsed = 0;
  _3 = timeout_ms * 1000;
  mS2Ticks = OsIf_MicrosToTicks (_3, 0);
  uS2Ticks = 0;
  flexcan_mb_config = 0;
  flexcan_mb = 0B;
  result = FlexCAN_StartSendData (instance, mb_idx, tx_info, msg_id, mb_data);
  if (result == 0)
    goto <bb 3>; [INV]
  else
    goto <bb 18>; [INV]

  <bb 3> :
  _4 = OsIf_GetCounter (0);
  timeStart = _4;
  goto <bb 6>; [INV]

  <bb 4> :
  D.7971 = OsIf_GetElapsed (&timeStart, 0);
  timeElapsed = D.7971 + timeElapsed;
  if (timeElapsed >= mS2Ticks)
    goto <bb 5>; [INV]
  else
    goto <bb 6>; [INV]

  <bb 5> :
  result = 3;
  goto <bb 7>; [INV]

  <bb 6> :
  _5 = (long unsigned int) mb_idx;
  _6 = FlexCAN_GetBuffStatusFlag (base, _5);
  if (_6 != 1)
    goto <bb 4>; [INV]
  else
    goto <bb 7>; [INV]

  <bb 7> :
  if (result == 3)
    goto <bb 8>; [INV]
  else
    goto <bb 17>; [INV]

  <bb 8> :
  _7 = (int) mb_idx;
  _8 = state->mbs[_7].state;
  if (_8 != 0)
    goto <bb 9>; [INV]
  else
    goto <bb 17>; [INV]

  <bb 9> :
  _9 = (long unsigned int) mb_idx;
  FlexCAN_ClearMsgBuffIntStatusFlag (base, _9);
  _10 = (long unsigned int) mb_idx;
  flexcan_mb = FlexCAN_GetMsgBuffRegion (base, _10);
  flexcan_mb_config = *flexcan_mb;
  flexcan_mb_config = flexcan_mb_config & 4043309055;
  flexcan_mb_config = flexcan_mb_config | 150994944;
  *flexcan_mb = flexcan_mb_config;
  uS2Ticks = OsIf_MicrosToTicks (1000000, 0);
  _11 = OsIf_GetCounter (0);
  timeStart = _11;
  timeElapsed = 0;
  goto <bb 12>; [INV]

  <bb 10> :
  D.7978 = OsIf_GetElapsed (&timeStart, 0);
  timeElapsed = D.7978 + timeElapsed;
  if (timeElapsed >= uS2Ticks)
    goto <bb 11>; [INV]
  else
    goto <bb 12>; [INV]

  <bb 11> :
  result = 3;
  goto <bb 13>; [INV]

  <bb 12> :
  _12 = (long unsigned int) mb_idx;
  _13 = FlexCAN_GetBuffStatusFlag (base, _12);
  if (_13 == 0)
    goto <bb 10>; [INV]
  else
    goto <bb 13>; [INV]

  <bb 13> :
  flexcan_mb_config = *flexcan_mb;
  _14 = flexcan_mb_config >> 24;
  _15 = _14 & 15;
  if (_15 == 8)
    goto <bb 14>; [INV]
  else
    goto <bb 15>; [INV]

  <bb 14> :
  result = 0;

  <bb 15> :
  _16 = flexcan_mb_config >> 24;
  _17 = _16 & 15;
  if (_17 == 9)
    goto <bb 16>; [INV]
  else
    goto <bb 17>; [INV]

  <bb 16> :
  result = 3;

  <bb 17> :
  _18 = (long unsigned int) mb_idx;
  FlexCAN_ClearMsgBuffIntStatusFlag (base, _18);
  _19 = (int) mb_idx;
  state->mbs[_19].state = 0;

  <bb 18> :
  D.7985 = result;
  timeStart = {CLOBBER};

  <bb 19> :
<L21>:
  return D.7985;

}


FlexCAN_BusOff_IRQHandler (uint8 instance)
{
  boolean isSpuriousInt;
  uint32 u32ErrStatus;
  const struct Flexcan_Ip_StateType * state;
  struct FLEXCAN_Type * base;

  <bb 2> :
  _1 = (int) instance;
  base = Flexcan_Ip_apxBase[_1];
  _2 = (int) instance;
  state = Flexcan_Ip_apxState[_2];
  u32ErrStatus = 0;
  isSpuriousInt = 1;
  if (state != 0B)
    goto <bb 3>; [INV]
  else
    goto <bb 18>; [INV]

  <bb 3> :
  u32ErrStatus = base->ESR1;
  _3 = u32ErrStatus & 131072;
  if (_3 != 0)
    goto <bb 4>; [INV]
  else
    goto <bb 8>; [INV]

  <bb 4> :
  _4 = base->CTRL1;
  _5 = _4 & 2048;
  if (_5 != 0)
    goto <bb 5>; [INV]
  else
    goto <bb 8>; [INV]

  <bb 5> :
  base->ESR1 = 131072;
  _6 = state->error_callback;
  if (_6 != 0B)
    goto <bb 6>; [INV]
  else
    goto <bb 7>; [INV]

  <bb 6> :
  _7 = state->error_callback;
  _7 (instance, 11, u32ErrStatus, state);
  u32ErrStatus = base->ESR1;

  <bb 7> :
  isSpuriousInt = 0;

  <bb 8> :
  _8 = u32ErrStatus & 65536;
  if (_8 != 0)
    goto <bb 9>; [INV]
  else
    goto <bb 13>; [INV]

  <bb 9> :
  _9 = base->CTRL1;
  _10 = _9 & 1024;
  if (_10 != 0)
    goto <bb 10>; [INV]
  else
    goto <bb 13>; [INV]

  <bb 10> :
  base->ESR1 = 65536;
  _11 = state->error_callback;
  if (_11 != 0B)
    goto <bb 11>; [INV]
  else
    goto <bb 12>; [INV]

  <bb 11> :
  _12 = state->error_callback;
  _12 (instance, 10, u32ErrStatus, state);
  u32ErrStatus = base->ESR1;

  <bb 12> :
  isSpuriousInt = 0;

  <bb 13> :
  _13 = u32ErrStatus & 4;
  if (_13 != 0)
    goto <bb 14>; [INV]
  else
    goto <bb 18>; [INV]

  <bb 14> :
  _14 = base->CTRL1;
  _15 = _14 & 32768;
  if (_15 != 0)
    goto <bb 15>; [INV]
  else
    goto <bb 18>; [INV]

  <bb 15> :
  base->ESR1 = 4;
  _16 = state->error_callback;
  if (_16 != 0B)
    goto <bb 16>; [INV]
  else
    goto <bb 17>; [INV]

  <bb 16> :
  _17 = state->error_callback;
  _17 (instance, 9, u32ErrStatus, state);

  <bb 17> :
  isSpuriousInt = 0;

  <bb 18> :
  if (isSpuriousInt != 0)
    goto <bb 19>; [INV]
  else
    goto <bb 20>; [INV]

  <bb 19> :
  base->ESR1 = 720900;

  <bb 20> :
  return;

}


FlexCAN_Error_IRQHandler (uint8 instance)
{
  boolean isSpuriousInt;
  uint32 u32ErrStatus;
  const struct Flexcan_Ip_StateType * state;
  struct FLEXCAN_Type * pBase;

  <bb 2> :
  _1 = (int) instance;
  pBase = Flexcan_Ip_apxBase[_1];
  _2 = (int) instance;
  state = Flexcan_Ip_apxState[_2];
  u32ErrStatus = 0;
  isSpuriousInt = 1;
  if (state != 0B)
    goto <bb 3>; [INV]
  else
    goto <bb 13>; [INV]

  <bb 3> :
  u32ErrStatus = pBase->ESR1;
  _3 = u32ErrStatus & 2;
  if (_3 != 0)
    goto <bb 4>; [INV]
  else
    goto <bb 8>; [INV]

  <bb 4> :
  _4 = pBase->CTRL1;
  _5 = _4 & 16384;
  if (_5 != 0)
    goto <bb 5>; [INV]
  else
    goto <bb 8>; [INV]

  <bb 5> :
  pBase->ESR1 = 2;
  _6 = state->error_callback;
  if (_6 != 0B)
    goto <bb 6>; [INV]
  else
    goto <bb 7>; [INV]

  <bb 6> :
  _7 = state->error_callback;
  _7 (instance, 7, u32ErrStatus, state);
  u32ErrStatus = pBase->ESR1;

  <bb 7> :
  isSpuriousInt = 0;

  <bb 8> :
  _8 = u32ErrStatus & 1048576;
  if (_8 != 0)
    goto <bb 9>; [INV]
  else
    goto <bb 13>; [INV]

  <bb 9> :
  _9 = pBase->CTRL2;
  _10 = (signed int) _9;
  if (_10 < 0)
    goto <bb 10>; [INV]
  else
    goto <bb 13>; [INV]

  <bb 10> :
  pBase->ESR1 = 1048576;
  _11 = state->error_callback;
  if (_11 != 0B)
    goto <bb 11>; [INV]
  else
    goto <bb 12>; [INV]

  <bb 11> :
  _12 = state->error_callback;
  _12 (instance, 8, u32ErrStatus, state);

  <bb 12> :
  isSpuriousInt = 0;

  <bb 13> :
  if (isSpuriousInt != 0)
    goto <bb 14>; [INV]
  else
    goto <bb 15>; [INV]

  <bb 14> :
  pBase->ESR1 = 3145730;

  <bb 15> :
  return;

}


FlexCAN_Ip_GetControllerRxErrorCounter (uint8 instance)
{
  const struct FLEXCAN_Type * base;
  uint8 D.7929;

  <bb 2> :
  _1 = (int) instance;
  base = Flexcan_Ip_apxBase[_1];
  _2 = base->ECR;
  _3 = _2 >> 8;
  D.7929 = (uint8) _3;

  <bb 3> :
<L0>:
  return D.7929;

}


FlexCAN_Ip_GetControllerTxErrorCounter (uint8 instance)
{
  const struct FLEXCAN_Type * base;
  uint8 D.7927;

  <bb 2> :
  _1 = (int) instance;
  base = Flexcan_Ip_apxBase[_1];
  _2 = base->ECR;
  D.7927 = (uint8) _2;

  <bb 3> :
<L0>:
  return D.7927;

}


FlexCAN_Ip_GetErrorStatus (uint8 instance)
{
  const struct FLEXCAN_Type * base;
  uint32 D.7925;

  <bb 2> :
  _1 = (int) instance;
  base = Flexcan_Ip_apxBase[_1];
  D.7925 = base->ESR1;

  <bb 3> :
<L0>:
  return D.7925;

}


FlexCAN_Ip_ClearErrorStatus (uint8 instance, uint32 error)
{
  struct FLEXCAN_Type * base;

  <bb 2> :
  _1 = (int) instance;
  base = Flexcan_Ip_apxBase[_1];
  base->ESR1 = error;
  return;

}


FlexCAN_IRQHandler (uint8 instance, uint32 startMbIdx, uint32 endMbIdx)
{
  uint32 mb_idx;
  boolean bIsSpuriousInt;
  const struct Flexcan_Ip_StateType * state;
  struct FLEXCAN_Type * base;
  uint32 flag_reg;
  uint32 u32MbHandle;

  <bb 2> :
  u32MbHandle = 0;
  flag_reg = 0;
  _1 = (int) instance;
  base = Flexcan_Ip_apxBase[_1];
  _2 = (int) instance;
  state = Flexcan_Ip_apxState[_2];
  bIsSpuriousInt = 1;
  mb_idx = endMbIdx;
  if (state != 0B)
    goto <bb 3>; [INV]
  else
    goto <bb 20>; [INV]

  <bb 3> :
  _3 = FlexCAN_GetMsgBuffIntStatusFlag (base, mb_idx);
  flag_reg = (uint32) _3;
  goto <bb 5>; [INV]

  <bb 4> :
  mb_idx = mb_idx + 4294967295;
  _4 = FlexCAN_GetMsgBuffIntStatusFlag (base, mb_idx);
  flag_reg = (uint32) _4;

  <bb 5> :
  if (flag_reg == 0)
    goto <bb 6>; [INV]
  else
    goto <bb 7>; [INV]

  <bb 6> :
  if (mb_idx > startMbIdx)
    goto <bb 4>; [INV]
  else
    goto <bb 7>; [INV]

  <bb 7> :
  if (flag_reg != 0)
    goto <bb 8>; [INV]
  else
    goto <bb 18>; [INV]

  <bb 8> :
  bIsSpuriousInt = 0;
  u32MbHandle = mb_idx;
  _5 = state->bIsLegacyFifoEn;
  if (_5 != 0)
    goto <bb 9>; [INV]
  else
    goto <bb 11>; [INV]

  <bb 9> :
  if (mb_idx <= 7)
    goto <bb 10>; [INV]
  else
    goto <bb 11>; [INV]

  <bb 10> :
  FlexCAN_IRQHandlerRxFIFO (instance, mb_idx);
  u32MbHandle = 0;
  goto <bb 13>; [INV]

  <bb 11> :
  _6 = state->mbs[u32MbHandle].state;
  if (_6 == 1)
    goto <bb 12>; [INV]
  else
    goto <bb 13>; [INV]

  <bb 12> :
  FlexCAN_IRQHandlerRxMB (instance, mb_idx);

  <bb 13> :
  _7 = state->mbs[u32MbHandle].state;
  if (_7 == 2)
    goto <bb 14>; [INV]
  else
    goto <bb 15>; [INV]

  <bb 14> :
  FlexCAN_IRQHandlerTxMB (instance, mb_idx);

  <bb 15> :
  _8 = FlexCAN_GetMsgBuffIntStatusFlag (base, mb_idx);
  if (_8 != 0)
    goto <bb 16>; [INV]
  else
    goto <bb 18>; [INV]

  <bb 16> :
  _9 = state->mbs[u32MbHandle].state;
  if (_9 == 0)
    goto <bb 17>; [INV]
  else
    goto <bb 18>; [INV]

  <bb 17> :
  FlexCAN_ClearMsgBuffIntStatusFlag (base, mb_idx);

  <bb 18> :
  if (bIsSpuriousInt != 0)
    goto <bb 19>; [INV]
  else
    goto <bb 23>; [INV]

  <bb 19> :
  FlexCAN_ProcessSpuriousInterruptMB (instance, startMbIdx, endMbIdx);
  goto <bb 23>; [INV]

  <bb 20> :
  mb_idx = startMbIdx;
  goto <bb 22>; [INV]

  <bb 21> :
  FlexCAN_ClearMsgBuffIntStatusFlag (base, mb_idx);
  mb_idx = mb_idx + 1;

  <bb 22> :
  if (mb_idx <= endMbIdx)
    goto <bb 21>; [INV]
  else
    goto <bb 23>; [INV]

  <bb 23> :
  return;

}


FlexCAN_CompleteRxMessageFifoData (uint8 instance)
{
  struct Flexcan_Ip_StateType * state;
  struct FLEXCAN_Type * base;

  <bb 2> :
  _1 = (int) instance;
  base = Flexcan_Ip_apxBase[_1];
  _2 = (int) instance;
  state = Flexcan_Ip_apxState[_2];
  _3 = state->transferType;
  if (_3 == 0)
    goto <bb 3>; [INV]
  else
    goto <bb 4>; [INV]

  <bb 3> :
  _4 = state->isIntActive;
  FlexCAN_SetMsgBuffIntCmd (base, instance, 5, 0, _4);
  _5 = state->isIntActive;
  FlexCAN_SetMsgBuffIntCmd (base, instance, 6, 0, _5);
  _6 = state->isIntActive;
  FlexCAN_SetMsgBuffIntCmd (base, instance, 7, 0, _6);

  <bb 4> :
  state->mbs[0].pMBmessage = 0B;
  state->mbs[0].state = 0;
  return;

}


FlexCAN_Ip_GetTransferStatus (uint8 instance, uint8 mb_idx)
{
  Flexcan_Ip_StatusType status;
  const struct Flexcan_Ip_StateType * state;
  Flexcan_Ip_StatusType D.7881;

  <bb 2> :
  _1 = (int) instance;
  state = Flexcan_Ip_apxState[_1];
  status = 1;
  if (mb_idx <= 31)
    goto <bb 3>; [INV]
  else
    goto <bb 6>; [INV]

  <bb 3> :
  _2 = (int) mb_idx;
  _3 = state->mbs[_2].state;
  if (_3 == 0)
    goto <bb 4>; [INV]
  else
    goto <bb 5>; [INV]

  <bb 4> :
  status = 0;
  goto <bb 6>; [INV]

  <bb 5> :
  status = 2;

  <bb 6> :
  D.7881 = status;

  <bb 7> :
<L5>:
  return D.7881;

}


FlexCAN_Ip_ConfigRemoteResponseMb (uint8 instance, uint8 mb_idx, const struct Flexcan_Ip_DataInfoType * tx_info, uint32 msg_id, const uint8 * mb_data)
{
  volatile uint32 * pMbAddr;
  const struct Flexcan_Ip_StateType * const state;
  struct FLEXCAN_Type * pBase;
  struct Flexcan_Ip_MsbuffCodeStatusType cs;
  Flexcan_Ip_StatusType result;
  Flexcan_Ip_StatusType D.7873;

  <bb 2> :
  result = 0;
  _1 = (int) instance;
  pBase = Flexcan_Ip_apxBase[_1];
  _2 = (int) instance;
  state = Flexcan_Ip_apxState[_2];
  pMbAddr = 0B;
  if (result == 0)
    goto <bb 3>; [INV]
  else
    goto <bb 5>; [INV]

  <bb 3> :
  _3 = tx_info->data_length;
  cs.dataLen = _3;
  _4 = tx_info->msg_id_type;
  cs.msgIdType = _4;
  cs.code = 10;
  cs.fd_enable = 0;
  cs.enable_brs = 0;
  cs.fd_padding = 0;
  _5 = (long unsigned int) mb_idx;
  FlexCAN_ClearMsgBuffIntStatusFlag (pBase, _5);
  _6 = (long unsigned int) mb_idx;
  pMbAddr = FlexCAN_GetMsgBuffRegion (pBase, _6);
  _7 = tx_info->is_remote;
  FlexCAN_SetTxMsgBuff (pMbAddr, &cs, msg_id, mb_data, _7);
  _8 = tx_info->is_polling;
  _9 = ~_8;
  if (_9 != 0)
    goto <bb 4>; [INV]
  else
    goto <bb 5>; [INV]

  <bb 4> :
  _10 = (long unsigned int) mb_idx;
  _11 = state->isIntActive;
  result = FlexCAN_SetMsgBuffIntCmd (pBase, instance, _10, 1, _11);

  <bb 5> :
  D.7873 = result;
  cs = {CLOBBER};

  <bb 6> :
<L5>:
  return D.7873;

}


FlexCAN_Ip_ConfigRxFifo_Privileged (uint8 instance, Flexcan_Ip_RxFifoIdElementFormatType id_format, const struct Flexcan_Ip_IdTableType * id_filter_table)
{
  boolean disabled;
  struct FLEXCAN_Type * pBase;
  Flexcan_Ip_StatusType status;
  Flexcan_Ip_StatusType result;
  Flexcan_Ip_StatusType D.7867;

  <bb 2> :
  result = 0;
  status = 0;
  _1 = (int) instance;
  pBase = Flexcan_Ip_apxBase[_1];
  _2 = FlexCAN_IsEnabled (pBase);
  _3 = (int) _2;
  _4 = _3 != 0;
  _5 = ~_4;
  _6 = (int) _5;
  disabled = (boolean) _6;
  if (disabled != 0)
    goto <bb 3>; [INV]
  else
    goto <bb 4>; [INV]

  <bb 3> :
  result = FlexCAN_Enable (pBase);

  <bb 4> :
  if (result == 0)
    goto <bb 5>; [INV]
  else
    goto <bb 6>; [INV]

  <bb 5> :
  FlexCAN_SetRxFifoFilter (pBase, id_format, id_filter_table);

  <bb 6> :
  if (disabled != 0)
    goto <bb 7>; [INV]
  else
    goto <bb 9>; [INV]

  <bb 7> :
  status = FlexCAN_Disable (pBase);
  if (status != 0)
    goto <bb 8>; [INV]
  else
    goto <bb 9>; [INV]

  <bb 8> :
  result = status;

  <bb 9> :
  D.7867 = result;

  <bb 10> :
<L8>:
  return D.7867;

}


FlexCAN_Ip_RxFifoBlocking (uint8 instance, struct Flexcan_Ip_MsgBuffType * data, uint32 timeout)
{
  Flexcan_Ip_StatusType result;
  Flexcan_Ip_StatusType D.7857;

  <bb 2> :
  result = 0;
  result = FlexCAN_StartRxMessageFifoData (instance, data);
  if (result == 0)
    goto <bb 3>; [INV]
  else
    goto <bb 4>; [INV]

  <bb 3> :
  result = FlexCAN_ProccessLegacyRxFIFO (instance, timeout);

  <bb 4> :
  D.7857 = result;

  <bb 5> :
<L2>:
  return D.7857;

}


FlexCAN_Ip_RxFifo (uint8 instance, struct Flexcan_Ip_MsgBuffType * data)
{
  Flexcan_Ip_StatusType result;
  Flexcan_Ip_StatusType D.7853;

  <bb 2> :
  result = 0;
  result = FlexCAN_StartRxMessageFifoData (instance, data);
  D.7853 = result;

  <bb 3> :
<L0>:
  return D.7853;

}


FlexCAN_Ip_ReceiveBlocking (uint8 instance, uint8 mb_idx, struct Flexcan_Ip_MsgBuffType * data, boolean isPolling, uint32 u32TimeoutMs)
{
  const struct FLEXCAN_Type * base;
  struct Flexcan_Ip_StateType * state;
  uint32 mS2Ticks;
  uint32 timeElapsed;
  uint32 timeStart;
  Flexcan_Ip_StatusType result;
  Flexcan_Ip_StatusType D.7850;
  long unsigned int D.7836;

  <bb 2> :
  timeStart = 0;
  timeElapsed = 0;
  _1 = u32TimeoutMs * 1000;
  mS2Ticks = OsIf_MicrosToTicks (_1, 0);
  _2 = (int) instance;
  state = Flexcan_Ip_apxState[_2];
  _3 = (int) instance;
  base = Flexcan_Ip_apxBase[_3];
  result = FlexCAN_StartRxMessageBufferData (instance, mb_idx, data, isPolling);
  if (result == 0)
    goto <bb 3>; [INV]
  else
    goto <bb 10>; [INV]

  <bb 3> :
  _4 = OsIf_GetCounter (0);
  timeStart = _4;
  goto <bb 9>; [INV]

  <bb 4> :
  if (isPolling != 0)
    goto <bb 5>; [INV]
  else
    goto <bb 7>; [INV]

  <bb 5> :
  _5 = (long unsigned int) mb_idx;
  _6 = FlexCAN_GetBuffStatusFlag (base, _5);
  if (_6 != 0)
    goto <bb 6>; [INV]
  else
    goto <bb 7>; [INV]

  <bb 6> :
  _7 = (long unsigned int) mb_idx;
  FlexCAN_IRQHandlerRxMB (instance, _7);

  <bb 7> :
  D.7836 = OsIf_GetElapsed (&timeStart, 0);
  timeElapsed = D.7836 + timeElapsed;
  if (timeElapsed >= mS2Ticks)
    goto <bb 8>; [INV]
  else
    goto <bb 9>; [INV]

  <bb 8> :
  result = 3;
  goto <bb 10>; [INV]

  <bb 9> :
  _8 = (int) mb_idx;
  _9 = state->mbs[_8].state;
  if (_9 == 1)
    goto <bb 4>; [INV]
  else
    goto <bb 10>; [INV]

  <bb 10> :
  if (result == 3)
    goto <bb 11>; [INV]
  else
    goto <bb 12>; [INV]

  <bb 11> :
  _10 = ~isPolling;

  <bb 12> :
  if (result != 4)
    goto <bb 13>; [INV]
  else
    goto <bb 17>; [INV]

  <bb 13> :
  if (result != 2)
    goto <bb 14>; [INV]
  else
    goto <bb 17>; [INV]

  <bb 14> :
  _11 = (int) mb_idx;
  _12 = state->mbs[_11].state;
  if (_12 == 0)
    goto <bb 15>; [INV]
  else
    goto <bb 16>; [INV]

  <bb 15> :
  result = 0;
  goto <bb 17>; [INV]

  <bb 16> :
  _13 = (int) mb_idx;
  state->mbs[_13].state = 0;
  result = 3;

  <bb 17> :
  D.7850 = result;
  timeStart = {CLOBBER};

  <bb 18> :
<L23>:
  return D.7850;

}


FlexCAN_Ip_Receive (uint8 instance, uint8 mb_idx, struct Flexcan_Ip_MsgBuffType * data, boolean isPolling)
{
  Flexcan_Ip_StatusType result;
  Flexcan_Ip_StatusType D.7828;

  <bb 2> :
  result = FlexCAN_StartRxMessageBufferData (instance, mb_idx, data, isPolling);
  D.7828 = result;

  <bb 3> :
<L0>:
  return D.7828;

}


FlexCAN_Ip_ConfigRxMb (uint8 instance, uint8 mb_idx, const struct Flexcan_Ip_DataInfoType * rx_info, uint32 msg_id)
{
  struct FLEXCAN_Type * base;
  struct Flexcan_Ip_MsbuffCodeStatusType cs;
  Flexcan_Ip_StatusType eResult;
  Flexcan_Ip_StatusType D.7825;

  <bb 2> :
  eResult = 0;
  _1 = (int) instance;
  base = Flexcan_Ip_apxBase[_1];
  _2 = (long unsigned int) mb_idx;
  FlexCAN_ClearMsgBuffIntStatusFlag (base, _2);
  _3 = rx_info->data_length;
  cs.dataLen = _3;
  _4 = rx_info->msg_id_type;
  cs.msgIdType = _4;
  _5 = rx_info->fd_enable;
  cs.fd_enable = _5;
  cs.code = 15;
  _6 = (long unsigned int) mb_idx;
  FlexCAN_SetRxMsgBuff (base, _6, &cs, msg_id);
  cs.code = 0;
  _7 = (long unsigned int) mb_idx;
  FlexCAN_SetRxMsgBuff (base, _7, &cs, msg_id);
  cs.code = 4;
  _8 = (long unsigned int) mb_idx;
  FlexCAN_SetRxMsgBuff (base, _8, &cs, msg_id);
  D.7825 = eResult;
  cs = {CLOBBER};

  <bb 3> :
<L1>:
  return D.7825;

}


FlexCAN_Ip_Send (uint8 instance, uint8 mb_idx, const struct Flexcan_Ip_DataInfoType * tx_info, uint32 msg_id, const uint8 * mb_data)
{
  const struct FLEXCAN_Type * base;
  Flexcan_Ip_StatusType result;
  Flexcan_Ip_StatusType D.7821;

  <bb 2> :
  result = 1;
  _1 = (int) instance;
  base = Flexcan_Ip_apxBase[_1];
  _2 = FlexCAN_IsListenOnlyModeEnabled (base);
  _3 = ~_2;
  if (_3 != 0)
    goto <bb 3>; [INV]
  else
    goto <bb 4>; [INV]

  <bb 3> :
  result = FlexCAN_StartSendData (instance, mb_idx, tx_info, msg_id, mb_data);

  <bb 4> :
  D.7821 = result;

  <bb 5> :
<L2>:
  return D.7821;

}


FlexCAN_Ip_Init_Privileged (uint8 Flexcan_Ip_u8Instance, struct Flexcan_Ip_StateType * Flexcan_Ip_pState, const struct Flexcan_Ip_ConfigType * Flexcan_Ip_pData)
{
  uint32 i;
  struct FLEXCAN_Type * pBase;
  Flexcan_Ip_StatusType eResult;
  Flexcan_Ip_StatusType D.7813;

  <bb 2> :
  eResult = 0;
  _1 = (int) Flexcan_Ip_u8Instance;
  pBase = Flexcan_Ip_apxBase[_1];
  eResult = FlexCAN_InitController (pBase, Flexcan_Ip_pData);
  if (eResult == 0)
    goto <bb 3>; [INV]
  else
    goto <bb 10>; [INV]

  <bb 3> :
  _2 = Flexcan_Ip_pData->fd_enable;
  FlexCAN_EnableExtCbt (pBase, _2);
  _3 = Flexcan_Ip_pData->fd_enable;
  if (_3 != 0)
    goto <bb 4>; [INV]
  else
    goto <bb 5>; [INV]

  <bb 4> :
  _4 = &Flexcan_Ip_pData->bitrate;
  FlexCAN_SetExtendedTimeSegments (pBase, _4);
  _5 = &Flexcan_Ip_pData->bitrate_cbt;
  FlexCAN_SetFDTimeSegments (pBase, _5);
  goto <bb 6>; [INV]

  <bb 5> :
  _6 = &Flexcan_Ip_pData->bitrate;
  FlexCAN_SetTimeSegments (pBase, _6);

  <bb 6> :
  _7 = Flexcan_Ip_pData->flexcanMode;
  FlexCAN_SetOperationMode (pBase, _7);
  i = 0;
  goto <bb 8>; [INV]

  <bb 7> :
  Flexcan_Ip_pState->mbs[i].isPolling = 1;
  Flexcan_Ip_pState->mbs[i].pMBmessage = 0B;
  Flexcan_Ip_pState->mbs[i].state = 0;
  Flexcan_Ip_pState->mbs[i].time_stamp = 0;
  i = i + 1;

  <bb 8> :
  if (i <= 31)
    goto <bb 7>; [INV]
  else
    goto <bb 9>; [INV]

  <bb 9> :
  _8 = Flexcan_Ip_pData->transfer_type;
  Flexcan_Ip_pState->transferType = _8;
  _9 = Flexcan_Ip_pData->Callback;
  Flexcan_Ip_pState->callback = _9;
  Flexcan_Ip_pState->callbackParam = 0B;
  _10 = Flexcan_Ip_pData->ErrorCallback;
  Flexcan_Ip_pState->error_callback = _10;
  Flexcan_Ip_pState->errorCallbackParam = 0B;
  _11 = Flexcan_Ip_pData->is_rx_fifo_needed;
  Flexcan_Ip_pState->bIsLegacyFifoEn = _11;
  _12 = Flexcan_Ip_pData->max_num_mb;
  Flexcan_Ip_pState->u32MaxMbNum = _12;
  Flexcan_Ip_pState->isIntActive = 1;
  _13 = (int) Flexcan_Ip_u8Instance;
  Flexcan_Ip_apxState[_13] = Flexcan_Ip_pState;

  <bb 10> :
  D.7813 = eResult;

  <bb 11> :
<L8>:
  return D.7813;

}


FlexCAN_AbortRxTransfer (uint8 u8Instance, uint8 mb_idx)
{
  volatile uint32 * flexcan_mb;
  uint32 flexcan_mb_config;
  uint32 val2;
  uint32 val1;
  struct Flexcan_Ip_StateType * state;
  struct FLEXCAN_Type * pBase;

  <bb 2> :
  _1 = (int) u8Instance;
  pBase = Flexcan_Ip_apxBase[_1];
  _2 = (int) u8Instance;
  state = Flexcan_Ip_apxState[_2];
  val1 = 0;
  val2 = 0;
  flexcan_mb_config = 0;
  flexcan_mb = 0B;
  _3 = (int) mb_idx;
  state->mbs[_3].state = 0;
  _4 = state->bIsLegacyFifoEn;
  if (_4 != 0)
    goto <bb 3>; [INV]
  else
    goto <bb 7>; [INV]

  <bb 3> :
  _5 = pBase->CTRL2;
  _6 = _5 >> 24;
  val1 = _6 & 15;
  val2 = RxFifoOcuppiedLastMsgBuff (val1);
  _7 = (long unsigned int) mb_idx;
  if (val2 < _7)
    goto <bb 4>; [INV]
  else
    goto <bb 5>; [INV]

  <bb 4> :
  _8 = (long unsigned int) mb_idx;
  flexcan_mb = FlexCAN_GetMsgBuffRegion (pBase, _8);
  flexcan_mb_config = *flexcan_mb;
  flexcan_mb_config = flexcan_mb_config & 4043309055;
  flexcan_mb_config = flexcan_mb_config;
  *flexcan_mb = flexcan_mb_config;
  flexcan_mb_config = flexcan_mb_config & 4043309055;
  flexcan_mb_config = flexcan_mb_config | 67108864;
  *flexcan_mb = flexcan_mb_config;

  <bb 5> :
  if (mb_idx == 0)
    goto <bb 6>; [INV]
  else
    goto <bb 8>; [INV]

  <bb 6> :
  _9 = state->isIntActive;
  FLEXCAN_ClearMsgBuffIntCmd (pBase, u8Instance, 5, _9);
  goto <bb 8>; [INV]

  <bb 7> :
  _10 = (long unsigned int) mb_idx;
  flexcan_mb = FlexCAN_GetMsgBuffRegion (pBase, _10);
  flexcan_mb_config = *flexcan_mb;
  flexcan_mb_config = flexcan_mb_config & 4043309055;
  flexcan_mb_config = flexcan_mb_config;
  *flexcan_mb = flexcan_mb_config;
  flexcan_mb_config = flexcan_mb_config & 4043309055;
  flexcan_mb_config = flexcan_mb_config | 67108864;
  *flexcan_mb = flexcan_mb_config;

  <bb 8> :
  _11 = (long unsigned int) mb_idx;
  FlexCAN_ClearMsgBuffIntStatusFlag (pBase, _11);
  return;

}


FlexCAN_AbortTxTransfer (uint8 u8Instance, uint8 mb_idx)
{
  volatile uint32 * flexcan_mb;
  uint32 uS2Ticks;
  uint32 flexcan_mb_config;
  uint32 timeElapsed;
  uint32 timeStart;
  Flexcan_Ip_StatusType result;
  struct Flexcan_Ip_StateType * state;
  struct FLEXCAN_Type * pBase;
  Flexcan_Ip_StatusType D.7796;
  long unsigned int D.7787;

  <bb 2> :
  _1 = (int) u8Instance;
  pBase = Flexcan_Ip_apxBase[_1];
  _2 = (int) u8Instance;
  state = Flexcan_Ip_apxState[_2];
  result = 0;
  timeStart = 0;
  timeElapsed = 0;
  flexcan_mb_config = 0;
  uS2Ticks = 0;
  flexcan_mb = 0B;
  _3 = (long unsigned int) mb_idx;
  flexcan_mb = FlexCAN_GetMsgBuffRegion (pBase, _3);
  flexcan_mb_config = *flexcan_mb;
  flexcan_mb_config = flexcan_mb_config & 4043309055;
  flexcan_mb_config = flexcan_mb_config | 150994944;
  *flexcan_mb = flexcan_mb_config;
  uS2Ticks = OsIf_MicrosToTicks (1000000, 0);
  _4 = OsIf_GetCounter (0);
  timeStart = _4;
  goto <bb 5>; [INV]

  <bb 3> :
  D.7787 = OsIf_GetElapsed (&timeStart, 0);
  timeElapsed = D.7787 + timeElapsed;
  if (timeElapsed >= uS2Ticks)
    goto <bb 4>; [INV]
  else
    goto <bb 5>; [INV]

  <bb 4> :
  result = 3;
  goto <bb 6>; [INV]

  <bb 5> :
  _5 = (long unsigned int) mb_idx;
  _6 = FlexCAN_GetBuffStatusFlag (pBase, _5);
  if (_6 == 0)
    goto <bb 3>; [INV]
  else
    goto <bb 6>; [INV]

  <bb 6> :
  if (result != 3)
    goto <bb 7>; [INV]
  else
    goto <bb 11>; [INV]

  <bb 7> :
  flexcan_mb_config = *flexcan_mb;
  _7 = flexcan_mb_config >> 24;
  _8 = _7 & 15;
  if (_8 == 8)
    goto <bb 8>; [INV]
  else
    goto <bb 9>; [INV]

  <bb 8> :
  result = 5;

  <bb 9> :
  _9 = flexcan_mb_config >> 24;
  _10 = _9 & 15;
  if (_10 == 9)
    goto <bb 10>; [INV]
  else
    goto <bb 11>; [INV]

  <bb 10> :
  result = 0;

  <bb 11> :
  _11 = (long unsigned int) mb_idx;
  FlexCAN_ClearMsgBuffIntStatusFlag (pBase, _11);
  _12 = (int) mb_idx;
  state->mbs[_12].state = 0;
  D.7796 = result;
  timeStart = {CLOBBER};

  <bb 12> :
<L12>:
  return D.7796;

}


FlexCAN_ProcessSpuriousInterruptMB (uint8 instance, uint32 startMbIdx, uint32 endMbIdx)
{
  uint32 u32MbHandle;
  uint32 mb_idx;
  struct Flexcan_Ip_StateType * state;
  struct FLEXCAN_Type * base;

  <bb 2> :
  _1 = (int) instance;
  base = Flexcan_Ip_apxBase[_1];
  _2 = (int) instance;
  state = Flexcan_Ip_apxState[_2];
  mb_idx = 0;
  u32MbHandle = 0;
  mb_idx = startMbIdx;
  goto <bb 12>; [INV]

  <bb 3> :
  _3 = FlexCAN_GetBuffStatusFlag (base, mb_idx);
  if (_3 != 0)
    goto <bb 4>; [INV]
  else
    goto <bb 11>; [INV]

  <bb 4> :
  _4 = FlexCAN_GetBuffStatusImask (base, mb_idx);
  if (_4 == 0)
    goto <bb 5>; [INV]
  else
    goto <bb 11>; [INV]

  <bb 5> :
  u32MbHandle = mb_idx;
  _5 = state->bIsLegacyFifoEn;
  if (_5 != 0)
    goto <bb 6>; [INV]
  else
    goto <bb 8>; [INV]

  <bb 6> :
  if (mb_idx <= 7)
    goto <bb 7>; [INV]
  else
    goto <bb 8>; [INV]

  <bb 7> :
  u32MbHandle = 0;

  <bb 8> :
  _6 = state->mbs[u32MbHandle].isPolling;
  _7 = ~_6;
  if (_7 != 0)
    goto <bb 9>; [INV]
  else
    goto <bb 11>; [INV]

  <bb 9> :
  FlexCAN_ClearMsgBuffIntStatusFlag (base, mb_idx);
  _8 = state->mbs[u32MbHandle].state;
  if (_8 == 2)
    goto <bb 10>; [INV]
  else
    goto <bb 11>; [INV]

  <bb 10> :
  state->mbs[u32MbHandle].state = 0;
  state->mbs[u32MbHandle].isPolling = 1;

  <bb 11> :
  mb_idx = mb_idx + 1;

  <bb 12> :
  if (mb_idx <= endMbIdx)
    goto <bb 3>; [INV]
  else
    goto <bb 13>; [INV]

  <bb 13> :
  return;

}


FlexCAN_IRQHandlerRxFIFO (uint8 instance, uint32 mb_idx)
{
  struct Flexcan_Ip_MsgBuffType data;
  struct Flexcan_Ip_StateType * state;
  struct FLEXCAN_Type * base;

  <bb 2> :
  _1 = (int) instance;
  base = Flexcan_Ip_apxBase[_1];
  _2 = (int) instance;
  state = Flexcan_Ip_apxState[_2];
  _3 = state->mbs[0].pMBmessage;
  if (_3 == 0B)
    goto <bb 3>; [INV]
  else
    goto <bb 4>; [INV]

  <bb 3> :
  state->mbs[0].pMBmessage = &data;

  <bb 4> :
  switch (mb_idx) <default: <L15> [INV], case 5: <L2> [INV], case 6: <L9> [INV], case 7: <L12> [INV]>

  <bb 5> :
<L2>:
  _4 = state->mbs[0].state;
  if (_4 == 1)
    goto <bb 6>; [INV]
  else
    goto <bb 10>; [INV]

  <bb 6> :
  _5 = state->mbs[0].pMBmessage;
  FlexCAN_ReadRxFifo (base, _5);
  FlexCAN_ClearMsgBuffIntStatusFlag (base, mb_idx);
  state->mbs[0].state = 0;
  _6 = state->callback;
  if (_6 != 0B)
    goto <bb 7>; [INV]
  else
    goto <bb 8>; [INV]

  <bb 7> :
  _7 = state->callback;
  _7 (instance, 1, 0, state);

  <bb 8> :
  _8 = state->mbs[0].state;
  if (_8 == 0)
    goto <bb 9>; [INV]
  else
    goto <bb 10>; [INV]

  <bb 9> :
  state->mbs[0].isPolling = 1;
  FlexCAN_CompleteRxMessageFifoData (instance);

  <bb 10> :
  goto <bb 18>; [INV]

  <bb 11> :
<L9>:
  FlexCAN_ClearMsgBuffIntStatusFlag (base, mb_idx);
  _9 = state->callback;
  if (_9 != 0B)
    goto <bb 12>; [INV]
  else
    goto <bb 13>; [INV]

  <bb 12> :
  _10 = state->callback;
  _10 (instance, 2, 0, state);

  <bb 13> :
  goto <bb 18>; [INV]

  <bb 14> :
<L12>:
  FlexCAN_ClearMsgBuffIntStatusFlag (base, mb_idx);
  _11 = state->callback;
  if (_11 != 0B)
    goto <bb 15>; [INV]
  else
    goto <bb 16>; [INV]

  <bb 15> :
  _12 = state->callback;
  _12 (instance, 3, 0, state);

  <bb 16> :
  goto <bb 18>; [INV]

  <bb 17> :
<L15>:

  <bb 18> :
  data = {CLOBBER};
  return;

}


FlexCAN_IRQHandlerTxMB (uint8 u8Instance, uint32 u32MbIdx)
{
  boolean bCurrentIntStat;
  struct Flexcan_Ip_MsgBuffType mb;
  struct Flexcan_Ip_StateType * pState;
  struct FLEXCAN_Type * pBase;

  <bb 2> :
  _1 = (int) u8Instance;
  pBase = Flexcan_Ip_apxBase[_1];
  _2 = (int) u8Instance;
  pState = Flexcan_Ip_apxState[_2];
  bCurrentIntStat = 0;
  _3 = pState->mbs[u32MbIdx].isRemote;
  if (_3 != 0)
    goto <bb 3>; [INV]
  else
    goto <bb 5>; [INV]

  <bb 3> :
  FlexCAN_LockRxMsgBuff (pBase, u32MbIdx);
  FlexCAN_GetMsgBuff (pBase, u32MbIdx, &mb);
  FlexCAN_UnlockRxMsgBuff (pBase);
  _4 = mb.time_stamp;
  pState->mbs[u32MbIdx].time_stamp = _4;
  _5 = mb.cs;
  _6 = _5 >> 24;
  _7 = _6 & 15;
  if (_7 == 4)
    goto <bb 4>; [INV]
  else
    goto <bb 6>; [INV]

  <bb 4> :
  FlexCAN_ClearMsgBuffIntStatusFlag (pBase, u32MbIdx);
  goto <bb 6>; [INV]

  <bb 5> :
  _8 = FlexCAN_GetMsgBuffTimestamp (pBase, u32MbIdx);
  pState->mbs[u32MbIdx].time_stamp = _8;
  FlexCAN_UnlockRxMsgBuff (pBase);
  FlexCAN_ClearMsgBuffIntStatusFlag (pBase, u32MbIdx);

  <bb 6> :
  pState->mbs[u32MbIdx].state = 0;
  bCurrentIntStat = pState->mbs[u32MbIdx].isPolling;
  _9 = pState->callback;
  if (_9 != 0B)
    goto <bb 7>; [INV]
  else
    goto <bb 8>; [INV]

  <bb 7> :
  _10 = pState->callback;
  _10 (u8Instance, 4, u32MbIdx, pState);

  <bb 8> :
  _11 = pState->mbs[u32MbIdx].state;
  if (_11 == 0)
    goto <bb 9>; [INV]
  else
    goto <bb 11>; [INV]

  <bb 9> :
  _12 = pState->mbs[u32MbIdx].isPolling;
  _13 = ~_12;
  if (_13 != 0)
    goto <bb 10>; [INV]
  else
    goto <bb 11>; [INV]

  <bb 10> :
  pState->mbs[u32MbIdx].isPolling = 1;
  _14 = pState->isIntActive;
  FlexCAN_SetMsgBuffIntCmd (pBase, u8Instance, u32MbIdx, 0, _14);
  goto <bb 14>; [INV]

  <bb 11> :
  _15 = ~bCurrentIntStat;
  if (_15 != 0)
    goto <bb 12>; [INV]
  else
    goto <bb 14>; [INV]

  <bb 12> :
  _16 = pState->mbs[u32MbIdx].isPolling;
  if (_16 != 0)
    goto <bb 13>; [INV]
  else
    goto <bb 14>; [INV]

  <bb 13> :
  _17 = pState->isIntActive;
  FlexCAN_SetMsgBuffIntCmd (pBase, u8Instance, u32MbIdx, 0, _17);

  <bb 14> :
  mb = {CLOBBER};
  return;

}


FlexCAN_IRQHandlerRxMB (uint8 instance, uint32 mb_idx)
{
  volatile uint32 * flexcan_mb;
  boolean bIsCriticalSectionNeeded;
  boolean bCurrentIntStat;
  struct Flexcan_Ip_MsgBuffType data;
  struct Flexcan_Ip_StateType * state;
  struct FLEXCAN_Type * base;

  <bb 2> :
  _1 = (int) instance;
  base = Flexcan_Ip_apxBase[_1];
  _2 = (int) instance;
  state = Flexcan_Ip_apxState[_2];
  bCurrentIntStat = 0;
  _3 = state->mbs[mb_idx].pMBmessage;
  if (_3 == 0B)
    goto <bb 3>; [INV]
  else
    goto <bb 4>; [INV]

  <bb 3> :
  state->mbs[mb_idx].pMBmessage = &data;

  <bb 4> :
  bIsCriticalSectionNeeded = 0;
  _4 = state->mbs[mb_idx].isPolling;
  if (_4 != 0)
    goto <bb 5>; [INV]
  else
    goto <bb 7>; [INV]

  <bb 5> :
  _5 = state->bIsLegacyFifoEn;
  if (_5 != 0)
    goto <bb 6>; [INV]
  else
    goto <bb 7>; [INV]

  <bb 6> :
  bIsCriticalSectionNeeded = 1;
  __asm__ __volatile__(" cpsid i");

  <bb 7> :
  FlexCAN_LockRxMsgBuff (base, mb_idx);
  _6 = state->mbs[mb_idx].pMBmessage;
  FlexCAN_GetMsgBuff (base, mb_idx, _6);
  FlexCAN_ClearMsgBuffIntStatusFlag (base, mb_idx);
  _7 = state->bIsLegacyFifoEn;
  if (_7 != 0)
    goto <bb 8>; [INV]
  else
    goto <bb 10>; [INV]

  <bb 8> :
  _8 = state->mbs[mb_idx].pMBmessage;
  _9 = _8->cs;
  _10 = _9 >> 24;
  _11 = _10 & 15;
  if (_11 == 0)
    goto <bb 9>; [INV]
  else
    goto <bb 10>; [INV]

  <bb 9> :
  flexcan_mb = FlexCAN_GetMsgBuffRegion (base, mb_idx);
  _12 = *flexcan_mb;
  _13 = _12 & 4043309055;
  *flexcan_mb = _13;
  _14 = *flexcan_mb;
  _15 = _14 | 67108864;
  *flexcan_mb = _15;
  goto <bb 11>; [INV]

  <bb 10> :
  FlexCAN_UnlockRxMsgBuff (base);

  <bb 11> :
  if (bIsCriticalSectionNeeded != 0)
    goto <bb 12>; [INV]
  else
    goto <bb 13>; [INV]

  <bb 12> :
  __asm__ __volatile__(" cpsie i");

  <bb 13> :
  state->mbs[mb_idx].state = 0;
  bCurrentIntStat = state->mbs[mb_idx].isPolling;
  _16 = state->callback;
  if (_16 != 0B)
    goto <bb 14>; [INV]
  else
    goto <bb 15>; [INV]

  <bb 14> :
  _17 = state->callback;
  _17 (instance, 0, mb_idx, state);

  <bb 15> :
  _18 = state->mbs[mb_idx].state;
  if (_18 == 0)
    goto <bb 16>; [INV]
  else
    goto <bb 18>; [INV]

  <bb 16> :
  _19 = state->mbs[mb_idx].isPolling;
  _20 = ~_19;
  if (_20 != 0)
    goto <bb 17>; [INV]
  else
    goto <bb 18>; [INV]

  <bb 17> :
  state->mbs[mb_idx].isPolling = 1;
  _21 = state->isIntActive;
  FlexCAN_SetMsgBuffIntCmd (base, instance, mb_idx, 0, _21);
  goto <bb 21>; [INV]

  <bb 18> :
  _22 = ~bCurrentIntStat;
  if (_22 != 0)
    goto <bb 19>; [INV]
  else
    goto <bb 21>; [INV]

  <bb 19> :
  _23 = state->mbs[mb_idx].isPolling;
  if (_23 != 0)
    goto <bb 20>; [INV]
  else
    goto <bb 21>; [INV]

  <bb 20> :
  _24 = state->isIntActive;
  FlexCAN_SetMsgBuffIntCmd (base, instance, mb_idx, 0, _24);

  <bb 21> :
  data = {CLOBBER};
  return;

}


FlexCAN_StartRxMessageFifoData (uint8 instance, struct Flexcan_Ip_MsgBuffType * data)
{
  Flexcan_Ip_StatusType eResult;
  struct Flexcan_Ip_StateType * state;
  struct FLEXCAN_Type * base;
  Flexcan_Ip_StatusType D.7745;

  <bb 2> :
  base = 0B;
  state = 0B;
  eResult = 0;
  _1 = (int) instance;
  base = Flexcan_Ip_apxBase[_1];
  _2 = (int) instance;
  state = Flexcan_Ip_apxState[_2];
  _3 = state->mbs[0].state;
  if (_3 != 0)
    goto <bb 3>; [INV]
  else
    goto <bb 4>; [INV]

  <bb 3> :
  eResult = 2;
  goto <bb 8>; [INV]

  <bb 4> :
  state->mbs[0].state = 1;
  _4 = state->transferType;
  if (_4 == 1)
    goto <bb 5>; [INV]
  else
    goto <bb 6>; [INV]

  <bb 5> :
  state->mbs[0].isPolling = 1;

  <bb 6> :
  state->mbs[0].pMBmessage = data;
  _5 = state->transferType;
  if (_5 == 0)
    goto <bb 7>; [INV]
  else
    goto <bb 8>; [INV]

  <bb 7> :
  state->mbs[0].isPolling = 0;
  _6 = state->isIntActive;
  FlexCAN_SetMsgBuffIntCmd (base, instance, 6, 1, _6);
  _7 = state->isIntActive;
  FlexCAN_SetMsgBuffIntCmd (base, instance, 7, 1, _7);
  _8 = state->isIntActive;
  FlexCAN_SetMsgBuffIntCmd (base, instance, 5, 1, _8);

  <bb 8> :
  D.7745 = eResult;

  <bb 9> :
<L7>:
  return D.7745;

}


FlexCAN_StartSendData (uint8 Flexcan_Ip_u8Instance, uint8 mb_idx, const struct Flexcan_Ip_DataInfoType * tx_info, uint32 msg_id, const uint8 * mb_data)
{
  volatile uint32 * pMbAddr;
  struct FLEXCAN_Type * base;
  struct Flexcan_Ip_StateType * state;
  struct Flexcan_Ip_MsbuffCodeStatusType cs;
  Flexcan_Ip_StatusType eResult;
  Flexcan_Ip_StatusType D.7735;

  <bb 2> :
  eResult = 0;
  _1 = (int) Flexcan_Ip_u8Instance;
  state = Flexcan_Ip_apxState[_1];
  _2 = (int) Flexcan_Ip_u8Instance;
  base = Flexcan_Ip_apxBase[_2];
  pMbAddr = 0B;
  _3 = (int) mb_idx;
  _4 = state->mbs[_3].state;
  if (_4 != 0)
    goto <bb 3>; [INV]
  else
    goto <bb 4>; [INV]

  <bb 3> :
  eResult = 2;
  goto <bb 8>; [INV]

  <bb 4> :
  _5 = (long unsigned int) mb_idx;
  FlexCAN_ClearMsgBuffIntStatusFlag (base, _5);
  _6 = (int) mb_idx;
  state->mbs[_6].state = 2;
  _7 = (int) mb_idx;
  state->mbs[_7].time_stamp = 0;
  _8 = (int) mb_idx;
  _9 = tx_info->is_polling;
  state->mbs[_8].isPolling = _9;
  _10 = (int) mb_idx;
  _11 = tx_info->is_remote;
  state->mbs[_10].isRemote = _11;
  _12 = tx_info->data_length;
  cs.dataLen = _12;
  _13 = tx_info->msg_id_type;
  cs.msgIdType = _13;
  _14 = tx_info->fd_enable;
  cs.fd_enable = _14;
  _15 = tx_info->fd_padding;
  cs.fd_padding = _15;
  _16 = tx_info->enable_brs;
  cs.enable_brs = _16;
  _17 = tx_info->is_remote;
  if (_17 != 0)
    goto <bb 5>; [INV]
  else
    goto <bb 6>; [INV]

  <bb 5> :
  cs.code = 28;
  goto <bb 7>; [INV]

  <bb 6> :
  cs.code = 12;

  <bb 7> :
  _18 = (long unsigned int) mb_idx;
  pMbAddr = FlexCAN_GetMsgBuffRegion (base, _18);
  FlexCAN_SetTxMsgBuff (pMbAddr, &cs, msg_id, mb_data, 0);

  <bb 8> :
  D.7735 = eResult;
  cs = {CLOBBER};

  <bb 9> :
<L7>:
  return D.7735;

}


FlexCAN_StartRxMessageBufferData (uint8 instance, uint8 mb_idx, struct Flexcan_Ip_MsgBuffType * data, boolean isPolling)
{
  struct Flexcan_Ip_StateType * state;
  Flexcan_Ip_StatusType result;
  Flexcan_Ip_StatusType D.7727;

  <bb 2> :
  result = 0;
  _1 = (int) instance;
  state = Flexcan_Ip_apxState[_1];
  _2 = (int) mb_idx;
  _3 = state->mbs[_2].state;
  if (_3 != 0)
    goto <bb 3>; [INV]
  else
    goto <bb 4>; [INV]

  <bb 3> :
  result = 2;
  goto <bb 5>; [INV]

  <bb 4> :
  _4 = (int) mb_idx;
  state->mbs[_4].state = 1;
  _5 = (int) mb_idx;
  state->mbs[_5].pMBmessage = data;
  _6 = (int) mb_idx;
  state->mbs[_6].isPolling = isPolling;

  <bb 5> :
  D.7727 = result;

  <bb 6> :
<L3>:
  return D.7727;

}


FlexCAN_ProccessLegacyRxFIFO (uint8 u8Instance, uint32 u32TimeoutMs)
{
  uint32 u32intType;
  uint32 mS2Ticks;
  uint32 timeElapsed;
  uint32 timeStart;
  struct FLEXCAN_Type * pBase;
  struct Flexcan_Ip_StateType * pState;
  Flexcan_Ip_StatusType eResult;
  Flexcan_Ip_StatusType D.7703;
  long unsigned int D.7696;

  <bb 2> :
  eResult = 0;
  _1 = (int) u8Instance;
  pState = Flexcan_Ip_apxState[_1];
  _2 = (int) u8Instance;
  pBase = Flexcan_Ip_apxBase[_2];
  timeStart = 0;
  timeElapsed = 0;
  _3 = u32TimeoutMs * 1000;
  mS2Ticks = OsIf_MicrosToTicks (_3, 0);
  u32intType = 0;
  _4 = OsIf_GetCounter (0);
  timeStart = _4;
  goto <bb 11>; [INV]

  <bb 3> :
  _5 = pState->transferType;
  if (_5 == 1)
    goto <bb 4>; [INV]
  else
    goto <bb 9>; [INV]

  <bb 4> :
  u32intType = 7;
  goto <bb 8>; [INV]

  <bb 5> :
  _6 = FlexCAN_GetBuffStatusFlag (pBase, u32intType);
  if (_6 != 0)
    goto <bb 6>; [INV]
  else
    goto <bb 7>; [INV]

  <bb 6> :
  FlexCAN_IRQHandlerRxFIFO (u8Instance, u32intType);

  <bb 7> :
  u32intType = u32intType + 4294967295;

  <bb 8> :
  if (u32intType > 4)
    goto <bb 5>; [INV]
  else
    goto <bb 9>; [INV]

  <bb 9> :
  D.7696 = OsIf_GetElapsed (&timeStart, 0);
  timeElapsed = D.7696 + timeElapsed;
  if (timeElapsed >= mS2Ticks)
    goto <bb 10>; [INV]
  else
    goto <bb 11>; [INV]

  <bb 10> :
  eResult = 3;
  goto <bb 12>; [INV]

  <bb 11> :
  _7 = pState->mbs[0].state;
  if (_7 == 1)
    goto <bb 3>; [INV]
  else
    goto <bb 12>; [INV]

  <bb 12> :
  if (eResult == 3)
    goto <bb 13>; [INV]
  else
    goto <bb 15>; [INV]

  <bb 13> :
  _8 = pState->transferType;
  if (_8 != 1)
    goto <bb 14>; [INV]
  else
    goto <bb 15>; [INV]

  <bb 14> :
  _9 = pState->isIntActive;
  FlexCAN_SetMsgBuffIntCmd (pBase, u8Instance, 5, 0, _9);
  _10 = pState->isIntActive;
  FlexCAN_SetMsgBuffIntCmd (pBase, u8Instance, 6, 0, _10);
  _11 = pState->isIntActive;
  FlexCAN_SetMsgBuffIntCmd (pBase, u8Instance, 7, 0, _11);

  <bb 15> :
  _12 = pState->mbs[0].state;
  switch (_12) <default: <L18> [INV], case 0: <L17> [INV], case 1: <L16> [INV]>

  <bb 16> :
<L16>:
  pState->mbs[0].state = 0;
  goto <bb 19>; [INV]

  <bb 17> :
<L17>:
  eResult = 0;
  goto <bb 19>; [INV]

  <bb 18> :
<L18>:
  eResult = 1;

  <bb 19> :
  D.7703 = eResult;
  timeStart = {CLOBBER};

  <bb 20> :
<L21>:
  return D.7703;

}


FlexCAN_InitController (struct FLEXCAN_Type * pBase, const struct Flexcan_Ip_ConfigType * Flexcan_Ip_pData)
{
  Flexcan_Ip_StatusType eResult;
  Flexcan_Ip_StatusType D.7676;

  <bb 2> :
  eResult = 0;
  _1 = FlexCAN_IsEnabled (pBase);
  if (_1 != 0)
    goto <bb 3>; [INV]
  else
    goto <bb 5>; [INV]

  <bb 3> :
  eResult = FlexCAN_EnterFreezeMode (pBase);
  if (eResult == 0)
    goto <bb 4>; [INV]
  else
    goto <bb 5>; [INV]

  <bb 4> :
  eResult = FlexCAN_Disable (pBase);

  <bb 5> :
  if (eResult == 0)
    goto <bb 6>; [INV]
  else
    goto <bb 11>; [INV]

  <bb 6> :
  _2 = Flexcan_Ip_pData->is_pe_clock;
  FlexCAN_SetClkSrc (pBase, _2);
  _3 = pBase->MCR;
  _4 = _3 & 2147483647;
  pBase->MCR = _4;
  eResult = FlexCAN_Init (pBase);
  if (eResult != 0)
    goto <bb 7>; [INV]
  else
    goto <bb 8>; [INV]

  <bb 7> :
  FlexCAN_EnterFreezeMode (pBase);
  FlexCAN_Disable (pBase);
  goto <bb 11>; [INV]

  <bb 8> :
  _5 = FlexCAN_IsFDAvailable (pBase);
  if (_5 != 0)
    goto <bb 9>; [INV]
  else
    goto <bb 10>; [INV]

  <bb 9> :
  _6 = Flexcan_Ip_pData->fd_enable;
  _7 = Flexcan_Ip_pData->bitRateSwitch;
  FlexCAN_SetFDEnabled (pBase, _6, _7);

  <bb 10> :
  _8 = Flexcan_Ip_pData->ctrlOptions;
  FlexCAN_ConfigCtrlOptions (pBase, _8);
  eResult = FlexCAN_InitCtroll (pBase, Flexcan_Ip_pData);

  <bb 11> :
  D.7676 = eResult;

  <bb 12> :
<L11>:
  return D.7676;

}


FlexCAN_InitCtroll (struct FLEXCAN_Type * pBase, const struct Flexcan_Ip_ConfigType * Flexcan_Ip_pData)
{
  Flexcan_Ip_StatusType eResult;
  Flexcan_Ip_StatusType D.7659;

  <bb 2> :
  eResult = 0;
  _1 = Flexcan_Ip_pData->flexcanMode;
  if (_1 != 2)
    goto <bb 3>; [INV]
  else
    goto <bb 4>; [INV]

  <bb 3> :
  FlexCAN_SetSelfReception (pBase, 0);

  <bb 4> :
  eResult = FlexCAN_InitRxFifo (pBase, Flexcan_Ip_pData);
  if (eResult != 0)
    goto <bb 5>; [INV]
  else
    goto <bb 6>; [INV]

  <bb 5> :
  FlexCAN_EnterFreezeMode (pBase);
  FlexCAN_Disable (pBase);
  goto <bb 7>; [INV]

  <bb 6> :
  _2 = &Flexcan_Ip_pData->payload;
  FlexCAN_SetPayloadSize (pBase, _2);
  _3 = Flexcan_Ip_pData->max_num_mb;
  FlexCAN_SetMaxMsgBuffNum (pBase, _3);

  <bb 7> :
  D.7659 = eResult;

  <bb 8> :
<L5>:
  return D.7659;

}


FlexCAN_InitRxFifo (struct FLEXCAN_Type * pBase, const struct Flexcan_Ip_ConfigType * Flexcan_Ip_pData)
{
  Flexcan_Ip_StatusType eResult;
  Flexcan_Ip_StatusType D.7652;

  <bb 2> :
  eResult = 0;
  _1 = Flexcan_Ip_pData->is_rx_fifo_needed;
  if (_1 != 0)
    goto <bb 3>; [INV]
  else
    goto <bb 4>; [INV]

  <bb 3> :
  _2 = Flexcan_Ip_pData->num_id_filters;
  eResult = FlexCAN_EnableRxFifo (pBase, _2);

  <bb 4> :
  D.7652 = eResult;

  <bb 5> :
<L2>:
  return D.7652;

}


FlexCAN_ClearWUMF (struct FLEXCAN_Type * pBase)
{
  <bb 2> :
  pBase->WU_MTC = 65536;
  return;

}


FlexCAN_GetWUMIE (const struct FLEXCAN_Type * pBase)
{
  uint8 D.8241;

  <bb 2> :
  _1 = pBase->CTRL1_PN;
  _2 = _1 >> 16;
  _3 = (unsigned char) _2;
  D.8241 = _3 & 1;

  <bb 3> :
<L0>:
  return D.8241;

}


FlexCAN_GetWUMF (const struct FLEXCAN_Type * pBase)
{
  uint8 D.8239;

  <bb 2> :
  _1 = pBase->WU_MTC;
  _2 = _1 >> 16;
  _3 = (unsigned char) _2;
  D.8239 = _3 & 1;

  <bb 3> :
<L0>:
  return D.8239;

}


FlexCAN_ClearWTOF (struct FLEXCAN_Type * pBase)
{
  <bb 2> :
  pBase->WU_MTC = 131072;
  return;

}


FlexCAN_GetWTOIE (const struct FLEXCAN_Type * pBase)
{
  uint8 D.8237;

  <bb 2> :
  _1 = pBase->CTRL1_PN;
  _2 = _1 >> 17;
  _3 = (unsigned char) _2;
  D.8237 = _3 & 1;

  <bb 3> :
<L0>:
  return D.8237;

}


FlexCAN_GetWTOF (const struct FLEXCAN_Type * pBase)
{
  uint8 D.8235;

  <bb 2> :
  _1 = pBase->WU_MTC;
  _2 = _1 >> 17;
  _3 = (unsigned char) _2;
  D.8235 = _3 & 1;

  <bb 3> :
<L0>:
  return D.8235;

}


FlexCAN_SetPN (struct FLEXCAN_Type * pBase, boolean enable)
{
  long unsigned int iftmp.7;

  <bb 2> :
  _1 = pBase->MCR;
  _2 = _1 & 4294950911;
  if (enable != 0)
    goto <bb 3>; [INV]
  else
    goto <bb 4>; [INV]

  <bb 3> :
  iftmp.7 = 16384;
  goto <bb 5>; [INV]

  <bb 4> :
  iftmp.7 = 0;

  <bb 5> :
  _3 = iftmp.7 | _2;
  pBase->MCR = _3;
  return;

}


FlexCAN_SetRegDefaultVal (struct FLEXCAN_Type * base)
{
  <bb 2> :
  _1 = FlexCAN_IsFDAvailable (base);
  if (_1 != 0)
    goto <bb 3>; [INV]
  else
    goto <bb 4>; [INV]

  <bb 3> :
  base->FDCBT = 0;
  base->FDCTRL = 2147500288;

  <bb 4> :
  base->IFLAG1 = 4294967295;
  base->IMASK1 = 0;
  base->CBT = 0;
  base->CTRL2 = 1048576;
  base->ESR1 = 241670;
  base->ECR = 0;
  base->TIMER = 0;
  base->CTRL1 = 0;
  base->MCR = 3633315855;
  return;

}


FlexCAN_SetRxMaskType (struct FLEXCAN_Type * base, Flexcan_Ip_RxMaskType type)
{
  <bb 2> :
  if (type == 0)
    goto <bb 3>; [INV]
  else
    goto <bb 4>; [INV]

  <bb 3> :
  _1 = base->MCR;
  _2 = _1 & 4294901759;
  base->MCR = _2;
  goto <bb 5>; [INV]

  <bb 4> :
  _3 = base->MCR;
  _4 = _3 | 65536;
  base->MCR = _4;

  <bb 5> :
  return;

}


FlexCAN_SetTxArbitrationStartDelay (struct FLEXCAN_Type * base, uint8 tasd)
{
  <bb 2> :
  _1 = base->CTRL2;
  _2 = _1 & 4278714367;
  _3 = (long unsigned int) tasd;
  _4 = _3 << 19;
  _5 = _4 & 16252928;
  _6 = _2 | _5;
  base->CTRL2 = _6;
  return;

}


FlexCAN_SetRxIndividualMask (struct FLEXCAN_Type * base, uint32 msgBuffIdx, uint32 mask)
{
  <bb 2> :
  base->RXIMR[msgBuffIdx] = mask;
  return;

}


FlexCAN_SetRxMsgBuffGlobalMask (struct FLEXCAN_Type * base, uint32 Mask)
{
  <bb 2> :
  base->RXMGMASK = Mask;
  return;

}


FlexCAN_GetMsgBuffIntStatusFlag (const struct FLEXCAN_Type * base, uint32 msgBuffIdx)
{
  uint32 mask;
  uint8 flag;
  uint8 D.7907;

  <bb 2> :
  flag = 0;
  if (msgBuffIdx <= 31)
    goto <bb 3>; [INV]
  else
    goto <bb 4>; [INV]

  <bb 3> :
  mask = base->IMASK1;
  _1 = base->IFLAG1;
  _2 = mask & _1;
  _3 = msgBuffIdx & 31;
  _4 = _2 >> _3;
  _5 = (unsigned char) _4;
  flag = _5 & 1;

  <bb 4> :
  D.7907 = flag;

  <bb 5> :
<L2>:
  return D.7907;

}


FlexCAN_SetClkSrc (struct FLEXCAN_Type * base, boolean enable)
{
  long unsigned int iftmp.1;

  <bb 2> :
  _1 = base->CTRL1;
  _2 = _1 & 4294959103;
  if (enable != 0)
    goto <bb 3>; [INV]
  else
    goto <bb 4>; [INV]

  <bb 3> :
  iftmp.1 = 8192;
  goto <bb 5>; [INV]

  <bb 4> :
  iftmp.1 = 0;

  <bb 5> :
  _3 = iftmp.1 | _2;
  base->CTRL1 = _3;
  return;

}


RxFifoOcuppiedLastMsgBuff (uint32 x)
{
  uint32 D.7806;

  <bb 2> :
  _1 = x + 1;
  _2 = _1 * 8;
  _3 = _2 / 4;
  D.7806 = _3 + 5;

  <bb 3> :
<L0>:
  return D.7806;

}


FlexCAN_IsListenOnlyModeEnabled (const struct FLEXCAN_Type * base)
{
  boolean D.7823;

  <bb 2> :
  _1 = base->CTRL1;
  _2 = _1 & 8;
  D.7823 = _2 != 0;

  <bb 3> :
<L0>:
  return D.7823;

}


FlexCAN_IsFDEnabled (const struct FLEXCAN_Type * base)
{
  boolean D.8105;

  <bb 2> :
  _1 = base->MCR;
  _2 = _1 & 2048;
  D.8105 = _2 != 0;

  <bb 3> :
<L0>:
  return D.8105;

}


FlexCAN_SetSelfReception (struct FLEXCAN_Type * base, boolean enable)
{
  long unsigned int iftmp.0;

  <bb 2> :
  _1 = base->MCR;
  _2 = _1 & 4294836223;
  if (enable != 0)
    goto <bb 3>; [INV]
  else
    goto <bb 4>; [INV]

  <bb 3> :
  iftmp.0 = 0;
  goto <bb 5>; [INV]

  <bb 4> :
  iftmp.0 = 131072;

  <bb 5> :
  _3 = iftmp.0 | _2;
  base->MCR = _3;
  return;

}


FlexCAN_EnableExtCbt (struct FLEXCAN_Type * base, boolean enableCBT)
{
  long unsigned int iftmp.5;

  <bb 2> :
  _1 = base->CBT;
  _2 = _1 & 2147483647;
  if (enableCBT != 0)
    goto <bb 3>; [INV]
  else
    goto <bb 4>; [INV]

  <bb 3> :
  iftmp.5 = 2147483648;
  goto <bb 5>; [INV]

  <bb 4> :
  iftmp.5 = 0;

  <bb 5> :
  _3 = iftmp.5 | _2;
  base->CBT = _3;
  return;

}


FlexCAN_IsExCbtEnabled (const struct FLEXCAN_Type * pBase)
{
  boolean D.8084;

  <bb 2> :
  _1 = pBase->CBT;
  _2 = (signed int) _1;
  D.8084 = _2 < 0;

  <bb 3> :
<L0>:
  return D.8084;

}


FlexCAN_GetFDTimeSegments (const struct FLEXCAN_Type * base, struct Flexcan_Ip_TimeSegmentType * timeSeg)
{
  <bb 2> :
  _1 = base->FDCBT;
  _2 = _1 >> 20;
  _3 = _2 & 1023;
  timeSeg->preDivider = _3;
  _4 = base->FDCBT;
  _5 = _4 >> 10;
  _6 = _5 & 31;
  timeSeg->propSeg = _6;
  _7 = base->FDCBT;
  _8 = _7 >> 5;
  _9 = _8 & 7;
  timeSeg->phaseSeg1 = _9;
  _10 = base->FDCBT;
  _11 = _10 & 7;
  timeSeg->phaseSeg2 = _11;
  _12 = base->FDCBT;
  _13 = _12 >> 16;
  _14 = _13 & 7;
  timeSeg->rJumpwidth = _14;
  return;

}


FlexCAN_GetTimeSegments (const struct FLEXCAN_Type * base, struct Flexcan_Ip_TimeSegmentType * timeSeg)
{
  <bb 2> :
  _1 = base->CTRL1;
  _2 = _1 >> 24;
  _3 = _2 & 255;
  timeSeg->preDivider = _3;
  _4 = base->CTRL1;
  _5 = _4 & 7;
  timeSeg->propSeg = _5;
  _6 = base->CTRL1;
  _7 = _6 >> 19;
  _8 = _7 & 7;
  timeSeg->phaseSeg1 = _8;
  _9 = base->CTRL1;
  _10 = _9 >> 16;
  _11 = _10 & 7;
  timeSeg->phaseSeg2 = _11;
  _12 = base->CTRL1;
  _13 = _12 >> 22;
  _14 = _13 & 3;
  timeSeg->rJumpwidth = _14;
  return;

}


FlexCAN_GetExtendedTimeSegments (const struct FLEXCAN_Type * base, struct Flexcan_Ip_TimeSegmentType * timeSeg)
{
  <bb 2> :
  _1 = base->CBT;
  _2 = _1 >> 21;
  _3 = _2 & 1023;
  timeSeg->preDivider = _3;
  _4 = base->CBT;
  _5 = _4 >> 10;
  _6 = _5 & 63;
  timeSeg->propSeg = _6;
  _7 = base->CBT;
  _8 = _7 >> 5;
  _9 = _8 & 31;
  timeSeg->phaseSeg1 = _9;
  _10 = base->CBT;
  _11 = _10 & 31;
  timeSeg->phaseSeg2 = _11;
  _12 = base->CBT;
  _13 = _12 >> 16;
  _14 = _13 & 31;
  timeSeg->rJumpwidth = _14;
  return;

}


FlexCAN_SetExtendedTimeSegments (struct FLEXCAN_Type * base, const struct Flexcan_Ip_TimeSegmentType * timeSeg)
{
  <bb 2> :
  _1 = base->CBT;
  _2 = _1 & 2147483648;
  base->CBT = _2;
  _3 = base->CBT;
  _4 = timeSeg->propSeg;
  _5 = _4 << 10;
  _6 = _5 & 65535;
  _7 = timeSeg->phaseSeg2;
  _8 = _7 & 31;
  _9 = _6 | _8;
  _10 = timeSeg->phaseSeg1;
  _11 = _10 << 5;
  _12 = _11 & 992;
  _13 = _9 | _12;
  _14 = timeSeg->preDivider;
  _15 = _14 << 21;
  _16 = _15 & 2145386496;
  _17 = _13 | _16;
  _18 = timeSeg->rJumpwidth;
  _19 = _18 << 16;
  _20 = _19 & 2031616;
  _21 = _17 | _20;
  _22 = _3 | _21;
  base->CBT = _22;
  return;

}


FlexCAN_SetTimeSegments (struct FLEXCAN_Type * base, const struct Flexcan_Ip_TimeSegmentType * timeSeg)
{
  <bb 2> :
  _1 = base->CTRL1;
  _2 = _1 & 65528;
  base->CTRL1 = _2;
  _3 = base->CTRL1;
  _4 = timeSeg->propSeg;
  _5 = _4 & 7;
  _6 = timeSeg->phaseSeg2;
  _7 = _6 << 16;
  _8 = _7 & 458752;
  _9 = _5 | _8;
  _10 = timeSeg->phaseSeg1;
  _11 = _10 << 19;
  _12 = _11 & 3670016;
  _13 = _9 | _12;
  _14 = timeSeg->preDivider;
  _15 = _14 << 24;
  _16 = _13 | _15;
  _17 = timeSeg->rJumpwidth;
  _18 = _17 << 22;
  _19 = _18 & 12582912;
  _20 = _16 | _19;
  _21 = _3 | _20;
  base->CTRL1 = _21;
  return;

}


FlexCAN_SetFDTimeSegments (struct FLEXCAN_Type * base, const struct Flexcan_Ip_TimeSegmentType * timeSeg)
{
  <bb 2> :
  _1 = base->FDCBT;
  _2 = _1 & 3221783320;
  base->FDCBT = _2;
  _3 = base->FDCBT;
  _4 = timeSeg->propSeg;
  _5 = _4 << 10;
  _6 = _5 & 31744;
  _7 = timeSeg->phaseSeg2;
  _8 = _7 & 7;
  _9 = _6 | _8;
  _10 = timeSeg->phaseSeg1;
  _11 = _10 << 5;
  _12 = _11 & 255;
  _13 = _9 | _12;
  _14 = timeSeg->preDivider;
  _15 = _14 << 20;
  _16 = _15 & 1072693248;
  _17 = _13 | _16;
  _18 = timeSeg->rJumpwidth;
  _19 = _18 << 16;
  _20 = _19 & 458752;
  _21 = _17 | _20;
  _22 = _3 | _21;
  base->FDCBT = _22;
  return;

}


FlexCAN_GetBuffStatusImask (const struct FLEXCAN_Type * base, uint32 msgBuffIdx)
{
  uint32 u32Imask;
  uint8 D.7923;

  <bb 2> :
  u32Imask = 0;
  if (msgBuffIdx <= 31)
    goto <bb 3>; [INV]
  else
    goto <bb 4>; [INV]

  <bb 3> :
  _1 = base->IMASK1;
  _2 = msgBuffIdx & 31;
  _3 = 1 << _2;
  _4 = _1 & _3;
  _5 = msgBuffIdx & 31;
  u32Imask = _4 >> _5;

  <bb 4> :
  D.7923 = (uint8) u32Imask;

  <bb 5> :
<L2>:
  return D.7923;

}


FlexCAN_GetBuffStatusFlag (const struct FLEXCAN_Type * base, uint32 msgBuffIdx)
{
  uint32 flag;
  uint8 D.7708;

  <bb 2> :
  flag = 0;
  if (msgBuffIdx <= 31)
    goto <bb 3>; [INV]
  else
    goto <bb 4>; [INV]

  <bb 3> :
  _1 = base->IFLAG1;
  _2 = msgBuffIdx & 31;
  _3 = 1 << _2;
  _4 = _1 & _3;
  _5 = msgBuffIdx & 31;
  flag = _4 >> _5;

  <bb 4> :
  D.7708 = (uint8) flag;

  <bb 5> :
<L2>:
  return D.7708;

}


FlexCAN_ClearMsgBuffIntStatusFlag (struct FLEXCAN_Type * base, uint32 msgBuffIdx)
{
  uint32 flag;

  <bb 2> :
  _1 = msgBuffIdx & 31;
  flag = 1 << _1;
  if (msgBuffIdx <= 31)
    goto <bb 3>; [INV]
  else
    goto <bb 4>; [INV]

  <bb 3> :
  base->IFLAG1 = flag;

  <bb 4> :
  return;

}


FlexCAN_UnlockRxMsgBuff (const struct FLEXCAN_Type * base)
{
  long unsigned int vol.4;

  <bb 2> :
  vol.4 = base->TIMER;
  return;

}


FlexCAN_SetListenOnlyMode (struct FLEXCAN_Type * base, boolean enableListenOnly)
{
  long unsigned int iftmp.6;

  <bb 2> :
  _1 = base->CTRL1;
  _2 = _1 & 4294967287;
  if (enableListenOnly != 0)
    goto <bb 3>; [INV]
  else
    goto <bb 4>; [INV]

  <bb 3> :
  iftmp.6 = 8;
  goto <bb 5>; [INV]

  <bb 4> :
  iftmp.6 = 0;

  <bb 5> :
  _3 = iftmp.6 | _2;
  base->CTRL1 = _3;
  return;

}


FlexCAN_SetFDEnabled (struct FLEXCAN_Type * base, boolean enableFD, boolean enableBRS)
{
  long unsigned int iftmp.3;
  long unsigned int iftmp.2;

  <bb 2> :
  _1 = base->MCR;
  _2 = _1 & 4294965247;
  if (enableFD != 0)
    goto <bb 3>; [INV]
  else
    goto <bb 4>; [INV]

  <bb 3> :
  iftmp.2 = 2048;
  goto <bb 5>; [INV]

  <bb 4> :
  iftmp.2 = 0;

  <bb 5> :
  _3 = iftmp.2 | _2;
  base->MCR = _3;
  _4 = base->FDCTRL;
  _5 = _4 & 2147483647;
  if (enableBRS != 0)
    goto <bb 6>; [INV]
  else
    goto <bb 7>; [INV]

  <bb 6> :
  iftmp.3 = 2147483648;
  goto <bb 8>; [INV]

  <bb 7> :
  iftmp.3 = 0;

  <bb 8> :
  _6 = iftmp.3 | _5;
  base->FDCTRL = _6;
  _7 = base->FDCTRL;
  _8 = _7 & 4294926591;
  base->FDCTRL = _8;
  return;

}


FlexCAN_IsEnabled (const struct FLEXCAN_Type * pBase)
{
  boolean D.7678;

  <bb 2> :
  _1 = pBase->MCR;
  _2 = (signed int) _1;
  D.7678 = _2 >= 0;

  <bb 3> :
<L0>:
  return D.7678;

}


FlexCAN_SetTDCOffset (struct FLEXCAN_Type * base, boolean enable, uint8 offset)
{
  uint32 tmp;

  <bb 2> :
  tmp = base->FDCTRL;
  tmp = tmp & 4294926591;
  if (enable != 0)
    goto <bb 3>; [INV]
  else
    goto <bb 4>; [INV]

  <bb 3> :
  tmp = tmp | 32768;
  _1 = (long unsigned int) offset;
  _2 = _1 << 8;
  _3 = _2 & 7936;
  tmp = tmp | _3;

  <bb 4> :
  base->FDCTRL = tmp;
  return;

}


FlexCAN_SetRxFifoGlobalMask (struct FLEXCAN_Type * base, uint32 Mask)
{
  <bb 2> :
  base->RXFGMASK = Mask;
  return;

}


