
Marking local functions:


Marking externally visible functions: Can_ProcessBusOffInterrupt Can_ProcessPNInterrupt Can_SetIcomConfiguration Can_MainFunction_Mode Can_MainFunction_BusOff Can_MainFunction_Read Can_MainFunction_Write Can_AbortMb Can_Write Can_GetControllerTxErrorCounter Can_GetControllerRxErrorCounter Can_GetControllerMode Can_GetControllerErrorState Can_EnableControllerInterrupts Can_DisableControllerInterrupts Can_SetControllerMode Can_SetBaudrate Can_DeInit Can_Init Can_GetVersionInfo


Marking externally visible variables:


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

CanIf_ControllerBusOff/54 (CanIf_ControllerBusOff) @072bab60
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags:
  Called by: Can_ProcessBusOffInterrupt/26 
  Calls: 
Can_Ipw_ProcessPN/53 (Can_Ipw_ProcessPN) @072ba9a0
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags:
  Called by: Can_ProcessPNInterrupt/25 
  Calls: 
CanIf_CurrentIcomConfiguration/52 (CanIf_CurrentIcomConfiguration) @072ba7e0
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags:
  Called by: Can_SetIcomConfiguration/24 Can_SetIcomConfiguration/24 
  Calls: 
Can_Ipw_SetIcomConfiguration/51 (Can_Ipw_SetIcomConfiguration) @072ba620
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags:
  Called by: Can_SetIcomConfiguration/24 
  Calls: 
Can_Ipw_DeactivateIcomConfiguration/50 (Can_Ipw_DeactivateIcomConfiguration) @072ba540
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags:
  Called by: Can_SetIcomConfiguration/24 
  Calls: 
Can_Ipw_MainFunction_Mode/49 (Can_Ipw_MainFunction_Mode) @072ba380
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags:
  Called by: Can_MainFunction_Mode/23 
  Calls: 
Can_Ipw_MainFunction_BusOff/48 (Can_Ipw_MainFunction_BusOff) @072ba1c0
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags:
  Called by: Can_MainFunction_BusOff/22 
  Calls: 
Can_Ipw_MainFunction_Read/47 (Can_Ipw_MainFunction_Read) @071cdee0
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags:
  Called by: Can_MainFunction_Read/21 
  Calls: 
Can_Ipw_MainFunction_Write/46 (Can_Ipw_MainFunction_Write) @071cdd20
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags:
  Called by: Can_MainFunction_Write/20 
  Calls: 
Can_Ipw_AbortMb/45 (Can_Ipw_AbortMb) @071cda80
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags:
  Called by: Can_AbortMb/19 
  Calls: 
Can_Ipw_Write/44 (Can_Ipw_Write) @071cd8c0
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags:
  Called by: Can_Write/18 
  Calls: 
Can_Ipw_GetControllerTxErrorCounter/43 (Can_Ipw_GetControllerTxErrorCounter) @071cd700
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags:
  Called by: Can_GetControllerTxErrorCounter/17 
  Calls: 
Can_Ipw_GetControllerRxErrorCounter/42 (Can_Ipw_GetControllerRxErrorCounter) @071cd540
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags:
  Called by: Can_GetControllerRxErrorCounter/16 
  Calls: 
Can_Ipw_GetControllerErrorState/41 (Can_Ipw_GetControllerErrorState) @071cd2a0
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags:
  Called by: Can_GetControllerErrorState/14 
  Calls: 
Can_Ipw_EnableControllerInterrupts/40 (Can_Ipw_EnableControllerInterrupts) @071cd0e0
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags:
  Called by: Can_EnableControllerInterrupts/13 
  Calls: 
SchM_Exit_Can_CAN_EXCLUSIVE_AREA_01/39 (SchM_Exit_Can_CAN_EXCLUSIVE_AREA_01) @071cd000
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags:
  Called by: Can_EnableControllerInterrupts/13 
  Calls: 
SchM_Enter_Can_CAN_EXCLUSIVE_AREA_01/38 (SchM_Enter_Can_CAN_EXCLUSIVE_AREA_01) @0718fa80
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags:
  Called by: Can_EnableControllerInterrupts/13 
  Calls: 
Can_Ipw_DisableControllerInterrupts/37 (Can_Ipw_DisableControllerInterrupts) @0718fe00
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags:
  Called by: Can_DisableControllerInterrupts/12 
  Calls: 
SchM_Exit_Can_CAN_EXCLUSIVE_AREA_00/36 (SchM_Exit_Can_CAN_EXCLUSIVE_AREA_00) @0718fd20
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags:
  Called by: Can_DisableControllerInterrupts/12 
  Calls: 
SchM_Enter_Can_CAN_EXCLUSIVE_AREA_00/35 (SchM_Enter_Can_CAN_EXCLUSIVE_AREA_00) @0718fc40
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags:
  Called by: Can_DisableControllerInterrupts/12 
  Calls: 
Can_Ipw_SetControllerToStopMode/34 (Can_Ipw_SetControllerToStopMode) @0718f9a0
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags:
  Called by: Can_ProcessBusOffInterrupt/26 Can_SetControllerMode/11 
  Calls: 
CanIf_ControllerModeIndication/33 (CanIf_ControllerModeIndication) @0718f8c0
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags:
  Called by: Can_SetControllerMode/11 Can_SetControllerMode/11 Can_SetControllerMode/11 Can_SetControllerMode/11 
  Calls: 
Can_Ipw_SetControllerToStartMode/32 (Can_Ipw_SetControllerToStartMode) @0718f7e0
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags:
  Called by: Can_SetControllerMode/11 
  Calls: 
Can_Ipw_SetBaudrate/31 (Can_Ipw_SetBaudrate) @0718f540
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags:
  Called by: Can_SetBaudrate/10 
  Calls: 
Can_Config/30 (Can_Config) @0718cbd0
  Type: variable
  Body removed by symtab_remove_unreachable_nodes
  Visibility: external public
  References: 
  Referring: Can_Init/8 (addr)
  Availability: not_available
  Varpool flags: read-only
Can_Ipw_DeInit/29 (Can_Ipw_DeInit) @0718f0e0
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags:
  Called by: Can_DeInitControllers/6 
  Calls: 
Can_Ipw_InitRx/28 (Can_Ipw_InitRx) @071827e0
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags:
  Called by: Can_InitControllers/5 
  Calls: 
Can_Ipw_Init/27 (Can_Ipw_Init) @07182540
  Type: function
  Visibility: external public
  References: 
  Referring: 
  Availability: not_available
  Function flags:
  Called by: Can_InitControllers/5 
  Calls: 
Can_ProcessBusOffInterrupt/26 (Can_ProcessBusOffInterrupt) @07182c40
  Type: function definition analyzed
  Visibility: force_output externally_visible no_reorder public
  References: Can_apxConfig/3 (read)Can_apxConfig/3 (read)Can_apxConfig/3 (read)Can_eControllerState/2 (write)
  Referring: 
  Availability: available
  Function flags: body
  Called by: 
  Calls: CanIf_ControllerBusOff/54 Can_Ipw_SetControllerToStopMode/34 
Can_ProcessPNInterrupt/25 (Can_ProcessPNInterrupt) @071829a0
  Type: function definition analyzed
  Visibility: force_output externally_visible no_reorder public
  References: Can_apxConfig/3 (read)Can_apxConfig/3 (read)Can_apxConfig/3 (read)Can_apxCtrlConfigIcomIndex/1 (read)Can_apxCtrlConfigIcomIndex/1 (read)
  Referring: 
  Availability: available
  Function flags: body
  Called by: 
  Calls: Can_Ipw_ProcessPN/53 
Can_SetIcomConfiguration/24 (Can_SetIcomConfiguration) @07182700
  Type: function definition analyzed
  Visibility: force_output externally_visible no_reorder public
  References: Can_apxConfig/3 (read)Can_apxConfig/3 (read)Can_eControllerState/2 (read)Can_apxConfig/3 (read)Can_apxConfig/3 (read)Can_apxConfig/3 (read)Can_apxConfig/3 (read)Can_apxCtrlConfigIcomIndex/1 (write)Can_apxCtrlConfigIcomIndex/1 (write)Can_apxConfig/3 (read)Can_apxConfig/3 (read)
  Referring: 
  Availability: available
  Function flags: body
  Called by: 
  Calls: CanIf_CurrentIcomConfiguration/52 CanIf_CurrentIcomConfiguration/52 Can_Ipw_SetIcomConfiguration/51 Can_Ipw_DeactivateIcomConfiguration/50 
Can_MainFunction_Mode/23 (Can_MainFunction_Mode) @07182460
  Type: function definition analyzed
  Visibility: force_output externally_visible no_reorder public
  References: Can_apxConfig/3 (read)Can_apxConfig/3 (read)Can_eControllerState/2 (addr)
  Referring: 
  Availability: available
  Function flags: body
  Called by: 
  Calls: Can_Ipw_MainFunction_Mode/49 
Can_MainFunction_BusOff/22 (Can_MainFunction_BusOff) @071821c0
  Type: function definition analyzed
  Visibility: force_output externally_visible no_reorder public
  References: Can_apxConfig/3 (read)Can_apxConfig/3 (read)
  Referring: 
  Availability: available
  Function flags: body
  Called by: 
  Calls: Can_Ipw_MainFunction_BusOff/48 
Can_MainFunction_Read/21 (Can_MainFunction_Read) @07176d20
  Type: function definition analyzed
  Visibility: force_output externally_visible no_reorder public
  References: Can_apxConfig/3 (read)Can_apxConfig/3 (read)Can_apxConfig/3 (read)Can_apxConfig/3 (read)Can_apxConfig/3 (read)Can_apxConfig/3 (read)
  Referring: 
  Availability: available
  Function flags: body
  Called by: 
  Calls: Can_Ipw_MainFunction_Read/47 
Can_MainFunction_Write/20 (Can_MainFunction_Write) @071767e0
  Type: function definition analyzed
  Visibility: force_output externally_visible no_reorder public
  References: Can_apxConfig/3 (read)Can_apxConfig/3 (read)Can_apxConfig/3 (read)Can_apxConfig/3 (read)Can_apxConfig/3 (read)Can_apxConfig/3 (read)
  Referring: 
  Availability: available
  Function flags: body
  Called by: 
  Calls: Can_Ipw_MainFunction_Write/46 
Can_AbortMb/19 (Can_AbortMb) @071762a0
  Type: function definition analyzed
  Visibility: force_output externally_visible no_reorder public
  References: Can_apxConfig/3 (read)Can_apxConfig/3 (read)Can_apxConfig/3 (read)
  Referring: 
  Availability: available
  Function flags: body
  Called by: 
  Calls: Can_Ipw_AbortMb/45 
Can_Write/18 (Can_Write) @07176ee0
  Type: function definition analyzed
  Visibility: force_output externally_visible no_reorder public
  References: Can_apxConfig/3 (read)Can_apxConfig/3 (read)Can_apxConfig/3 (read)Can_eControllerState/2 (read)Can_apxCtrlConfigIcomIndex/1 (read)
  Referring: 
  Availability: available
  Function flags: body
  Called by: 
  Calls: Can_Ipw_Write/44 
Can_GetControllerTxErrorCounter/17 (Can_GetControllerTxErrorCounter) @07176c40
  Type: function definition analyzed
  Visibility: force_output externally_visible no_reorder public
  References: Can_apxConfig/3 (read)
  Referring: 
  Availability: available
  Function flags: body
  Called by: 
  Calls: Can_Ipw_GetControllerTxErrorCounter/43 
Can_GetControllerRxErrorCounter/16 (Can_GetControllerRxErrorCounter) @071769a0
  Type: function definition analyzed
  Visibility: force_output externally_visible no_reorder public
  References: Can_apxConfig/3 (read)
  Referring: 
  Availability: available
  Function flags: body
  Called by: 
  Calls: Can_Ipw_GetControllerRxErrorCounter/42 
Can_GetControllerMode/15 (Can_GetControllerMode) @07176700
  Type: function definition analyzed
  Visibility: force_output externally_visible no_reorder public
  References: Can_eControllerState/2 (read)
  Referring: 
  Availability: available
  Function flags: body
  Called by: 
  Calls: 
Can_GetControllerErrorState/14 (Can_GetControllerErrorState) @07176460
  Type: function definition analyzed
  Visibility: force_output externally_visible no_reorder public
  References: Can_apxConfig/3 (read)
  Referring: 
  Availability: available
  Function flags: body
  Called by: 
  Calls: Can_Ipw_GetControllerErrorState/41 
Can_EnableControllerInterrupts/13 (Can_EnableControllerInterrupts) @071761c0
  Type: function definition analyzed
  Visibility: force_output externally_visible no_reorder public
  References: Can_apxConfig/3 (read)Can_au8DisableInterruptLevel/0 (read)Can_au8DisableInterruptLevel/0 (read)Can_au8DisableInterruptLevel/0 (write)Can_au8DisableInterruptLevel/0 (read)
  Referring: 
  Availability: available
  Function flags: body
  Called by: 
  Calls: Can_Ipw_EnableControllerInterrupts/40 SchM_Exit_Can_CAN_EXCLUSIVE_AREA_01/39 SchM_Enter_Can_CAN_EXCLUSIVE_AREA_01/38 
Can_DisableControllerInterrupts/12 (Can_DisableControllerInterrupts) @07263d20
  Type: function definition analyzed
  Visibility: force_output externally_visible no_reorder public
  References: Can_apxConfig/3 (read)Can_au8DisableInterruptLevel/0 (read)Can_au8DisableInterruptLevel/0 (write)
  Referring: 
  Availability: available
  Function flags: body
  Called by: 
  Calls: Can_Ipw_DisableControllerInterrupts/37 SchM_Exit_Can_CAN_EXCLUSIVE_AREA_00/36 SchM_Enter_Can_CAN_EXCLUSIVE_AREA_00/35 
Can_SetControllerMode/11 (Can_SetControllerMode) @072637e0
  Type: function definition analyzed
  Visibility: force_output externally_visible no_reorder public
  References: Can_apxConfig/3 (read)Can_eControllerState/2 (read)Can_eControllerState/2 (write)Can_apxCtrlConfigIcomIndex/1 (write)Can_eControllerState/2 (read)Can_eControllerState/2 (write)Can_apxCtrlConfigIcomIndex/1 (write)Can_eControllerState/2 (write)Can_eControllerState/2 (read)Can_eControllerState/2 (write)
  Referring: 
  Availability: available
  Function flags: body
  Called by: 
  Calls: CanIf_ControllerModeIndication/33 CanIf_ControllerModeIndication/33 CanIf_ControllerModeIndication/33 Can_Ipw_SetControllerToStopMode/34 CanIf_ControllerModeIndication/33 Can_Ipw_SetControllerToStartMode/32 
Can_SetBaudrate/10 (Can_SetBaudrate) @072632a0
  Type: function definition analyzed
  Visibility: force_output externally_visible no_reorder public
  References: Can_apxConfig/3 (read)Can_eControllerState/2 (read)
  Referring: 
  Availability: available
  Function flags: body
  Called by: 
  Calls: Can_Ipw_SetBaudrate/31 
Can_DeInit/9 (Can_DeInit) @07263ee0
  Type: function definition analyzed
  Visibility: force_output externally_visible no_reorder public
  References: Can_apxConfig/3 (read)Can_eControllerState/2 (read)Can_apxConfig/3 (write)
  Referring: 
  Availability: available
  Function flags: body
  Called by: 
  Calls: Can_DeInitControllers/6 
Can_Init/8 (Can_Init) @07263c40
  Type: function definition analyzed
  Visibility: force_output externally_visible no_reorder public
  References: Can_apxConfig/3 (write)Can_Config/30 (addr)
  Referring: 
  Availability: available
  Function flags: body
  Called by: 
  Calls: Can_InitControllers/5 Can_IsControllersBusy/4 
Can_GetVersionInfo/7 (Can_GetVersionInfo) @072639a0
  Type: function definition analyzed
  Visibility: force_output externally_visible no_reorder public
  References: 
  Referring: 
  Availability: available
  Function flags: body
  Called by: 
  Calls: 
Can_DeInitControllers/6 (Can_DeInitControllers) @07263700
  Type: function definition analyzed
  Visibility: force_output no_reorder prevailing_def_ironly
  References: Can_apxConfig/3 (read)Can_apxConfig/3 (read)Can_eControllerState/2 (write)
  Referring: 
  Availability: available
  Function flags: body
  Called by: Can_DeInit/9 
  Calls: Can_Ipw_DeInit/29 
Can_InitControllers/5 (Can_InitControllers) @07263460
  Type: function definition analyzed
  Visibility: force_output no_reorder prevailing_def_ironly
  References: Can_apxConfig/3 (read)Can_apxConfig/3 (read)Can_au8DisableInterruptLevel/0 (write)Can_apxCtrlConfigIcomIndex/1 (write)Can_eControllerState/2 (write)Can_apxConfig/3 (read)Can_eControllerState/2 (write)
  Referring: 
  Availability: available
  Function flags: body
  Called by: Can_Init/8 
  Calls: Can_Ipw_InitRx/28 Can_Ipw_Init/27 
Can_IsControllersBusy/4 (Can_IsControllersBusy) @072631c0
  Type: function definition analyzed
  Visibility: force_output no_reorder prevailing_def_ironly
  References: Can_apxConfig/3 (read)Can_eControllerState/2 (read)
  Referring: 
  Availability: available
  Function flags: body
  Called by: Can_Init/8 
  Calls: 
Can_apxConfig/3 (Can_apxConfig) @0714e3a8
  Type: variable definition analyzed
  Visibility: force_output no_reorder prevailing_def_ironly
  References: 
  Referring: Can_SetIcomConfiguration/24 (read)Can_SetIcomConfiguration/24 (read)Can_SetIcomConfiguration/24 (read)Can_ProcessPNInterrupt/25 (read)Can_ProcessPNInterrupt/25 (read)Can_IsControllersBusy/4 (read)Can_InitControllers/5 (read)Can_InitControllers/5 (read)Can_DeInitControllers/6 (read)Can_Init/8 (write)Can_DeInit/9 (write)Can_SetBaudrate/10 (read)Can_SetControllerMode/11 (read)Can_DisableControllerInterrupts/12 (read)Can_EnableControllerInterrupts/13 (read)Can_GetControllerErrorState/14 (read)Can_ProcessPNInterrupt/25 (read)Can_DeInitControllers/6 (read)Can_GetControllerRxErrorCounter/16 (read)Can_InitControllers/5 (read)Can_DeInit/9 (read)Can_GetControllerTxErrorCounter/17 (read)Can_MainFunction_Read/21 (read)Can_MainFunction_Mode/23 (read)Can_MainFunction_Mode/23 (read)Can_Write/18 (read)Can_Write/18 (read)Can_Write/18 (read)Can_MainFunction_Read/21 (read)Can_MainFunction_Read/21 (read)Can_MainFunction_Read/21 (read)Can_AbortMb/19 (read)Can_AbortMb/19 (read)Can_AbortMb/19 (read)Can_MainFunction_Write/20 (read)Can_MainFunction_Write/20 (read)Can_MainFunction_Read/21 (read)Can_MainFunction_Read/21 (read)Can_MainFunction_BusOff/22 (read)Can_MainFunction_BusOff/22 (read)Can_MainFunction_Write/20 (read)Can_MainFunction_Write/20 (read)Can_MainFunction_Write/20 (read)Can_MainFunction_Write/20 (read)Can_SetIcomConfiguration/24 (read)Can_SetIcomConfiguration/24 (read)Can_SetIcomConfiguration/24 (read)Can_SetIcomConfiguration/24 (read)Can_SetIcomConfiguration/24 (read)Can_ProcessBusOffInterrupt/26 (read)Can_ProcessBusOffInterrupt/26 (read)Can_ProcessBusOffInterrupt/26 (read)
  Availability: available
  Varpool flags:
Can_eControllerState/2 (Can_eControllerState) @0714e2d0
  Type: variable definition analyzed
  Visibility: force_output no_reorder prevailing_def_ironly
  References: 
  Referring: Can_MainFunction_Mode/23 (addr)Can_Write/18 (read)Can_SetIcomConfiguration/24 (read)Can_IsControllersBusy/4 (read)Can_InitControllers/5 (write)Can_DeInitControllers/6 (write)Can_InitControllers/5 (write)Can_DeInit/9 (read)Can_SetBaudrate/10 (read)Can_SetControllerMode/11 (write)Can_GetControllerMode/15 (read)Can_SetControllerMode/11 (read)Can_SetControllerMode/11 (write)Can_SetControllerMode/11 (read)Can_SetControllerMode/11 (write)Can_SetControllerMode/11 (write)Can_SetControllerMode/11 (read)Can_ProcessBusOffInterrupt/26 (write)
  Availability: available
  Varpool flags:
Can_apxCtrlConfigIcomIndex/1 (Can_apxCtrlConfigIcomIndex) @0714e240
  Type: variable definition analyzed
  Visibility: force_output no_reorder prevailing_def_ironly
  References: 
  Referring: Can_Write/18 (read)Can_SetControllerMode/11 (write)Can_SetIcomConfiguration/24 (write)Can_InitControllers/5 (write)Can_SetIcomConfiguration/24 (write)Can_SetControllerMode/11 (write)Can_ProcessPNInterrupt/25 (read)Can_ProcessPNInterrupt/25 (read)
  Availability: available
  Varpool flags:
Can_au8DisableInterruptLevel/0 (Can_au8DisableInterruptLevel) @0714e1b0
  Type: variable definition analyzed
  Visibility: force_output no_reorder prevailing_def_ironly
  References: 
  Referring: Can_InitControllers/5 (write)Can_DisableControllerInterrupts/12 (read)Can_DisableControllerInterrupts/12 (write)Can_EnableControllerInterrupts/13 (read)Can_EnableControllerInterrupts/13 (read)Can_EnableControllerInterrupts/13 (write)Can_EnableControllerInterrupts/13 (read)
  Availability: available
  Varpool flags:
Can_ProcessBusOffInterrupt (uint8 u8CtrlOffset)
{
  const struct Can_ControllerConfigType * Can_pController;
  uint32 u32CoreId;
  uint8 u8ControllerID;
  const struct Can_ConfigType * _1;
  const struct Can_ConfigType * _2;
  const uint8 * _3;
  sizetype _4;
  const uint8 * _5;
  const struct Can_ConfigType * _6;
  const struct Can_ControllerConfigType * const * _7;
  unsigned int _8;
  unsigned int _9;
  const struct Can_ControllerConfigType * const * _10;
  unsigned char _11;
  int _12;
  unsigned char _13;

  <bb 2> :
  u8ControllerID_15 = 0;
  u32CoreId_16 = 0;
  Can_pController_17 = 0B;
  u32CoreId_18 = 0;
  _1 = Can_apxConfig[u32CoreId_18];
  if (_1 != 0B)
    goto <bb 3>; [INV]
  else
    goto <bb 6>; [INV]

  <bb 3> :
  _2 = Can_apxConfig[u32CoreId_18];
  _3 = _2->Can_pCtrlOffsetToCtrlIDMap;
  _4 = (sizetype) u8CtrlOffset_20(D);
  _5 = _3 + _4;
  u8ControllerID_21 = *_5;
  _6 = Can_apxConfig[u32CoreId_18];
  _7 = _6->Can_ppController;
  _8 = (unsigned int) u8ControllerID_21;
  _9 = _8 * 4;
  _10 = _7 + _9;
  Can_pController_22 = *_10;
  if (Can_pController_22 != 0B)
    goto <bb 4>; [INV]
  else
    goto <bb 6>; [INV]

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

  <bb 5> :
  _12 = (int) u8ControllerID_21;
  Can_eControllerState[_12] = 2;
  _13 = Can_pController_22->Can_u8AbstControllerID;
  CanIf_ControllerBusOff (_13);

  <bb 6> :
  return;

}


Can_ProcessPNInterrupt (uint8 u8CtrlOffset)
{
  const struct Can_ControllerConfigType * Can_pController;
  uint32 u32CoreId;
  uint8 u8ControllerID;
  const struct Can_ConfigType * _1;
  const struct Can_ConfigType * _2;
  const uint8 * _3;
  sizetype _4;
  const uint8 * _5;
  const struct Can_ConfigType * _6;
  const struct Can_ControllerConfigType * const * _7;
  unsigned int _8;
  unsigned int _9;
  const struct Can_ControllerConfigType * const * _10;
  int _11;
  const struct Can_IcomConfigsType * _12;
  int _13;
  const struct Can_IcomConfigsType * _14;

  <bb 2> :
  u8ControllerID_16 = 0;
  u32CoreId_17 = 0;
  Can_pController_18 = 0B;
  u32CoreId_19 = 0;
  _1 = Can_apxConfig[u32CoreId_19];
  if (_1 != 0B)
    goto <bb 3>; [INV]
  else
    goto <bb 6>; [INV]

  <bb 3> :
  _2 = Can_apxConfig[u32CoreId_19];
  _3 = _2->Can_pCtrlOffsetToCtrlIDMap;
  _4 = (sizetype) u8CtrlOffset_21(D);
  _5 = _3 + _4;
  u8ControllerID_22 = *_5;
  _6 = Can_apxConfig[u32CoreId_19];
  _7 = _6->Can_ppController;
  _8 = (unsigned int) u8ControllerID_22;
  _9 = _8 * 4;
  _10 = _7 + _9;
  Can_pController_23 = *_10;
  if (Can_pController_23 != 0B)
    goto <bb 4>; [INV]
  else
    goto <bb 6>; [INV]

  <bb 4> :
  _11 = (int) u8ControllerID_22;
  _12 = Can_apxCtrlConfigIcomIndex[_11];
  if (_12 != 0B)
    goto <bb 5>; [INV]
  else
    goto <bb 6>; [INV]

  <bb 5> :
  _13 = (int) u8ControllerID_22;
  _14 = Can_apxCtrlConfigIcomIndex[_13];
  Can_Ipw_ProcessPN (Can_pController_23, _14);

  <bb 6> :
  return;

}


Can_SetIcomConfiguration (uint8 Controller, IcomConfigIdType ConfigurationId)
{
  uint8 u8ConfigIcomIndex;
  Std_ReturnType eReturnValue;
  uint32 u32CoreId;
  Std_ReturnType D.7289;
  const struct Can_ConfigType * _1;
  const struct Can_ControllerConfigType * const * _2;
  unsigned int _3;
  unsigned int _4;
  const struct Can_ControllerConfigType * const * _5;
  const struct Can_ControllerConfigType * _6;
  const struct Can_ConfigType * _7;
  const struct Can_IcomConfigsType * _8;
  unsigned int _9;
  unsigned int _10;
  const struct Can_IcomConfigsType * _11;
  unsigned char _12;
  int _13;
  <unnamed type> _14;
  const struct Can_ConfigType * _15;
  const struct Can_ControllerConfigType * const * _16;
  unsigned int _17;
  unsigned int _18;
  const struct Can_ControllerConfigType * const * _19;
  const struct Can_ControllerConfigType * _20;
  const struct Can_ConfigType * _21;
  const struct Can_IcomConfigsType * _22;
  unsigned int _23;
  unsigned int _24;
  const struct Can_IcomConfigsType * _25;
  unsigned char u8ConfigIcomIndex.9_26;
  const struct Can_ConfigType * _27;
  unsigned char _28;
  const struct Can_ConfigType * _29;
  const struct Can_IcomConfigsType * _30;
  unsigned int _31;
  unsigned int _32;
  int _33;
  const struct Can_IcomConfigsType * _34;
  int _35;
  const struct Can_ConfigType * _36;
  const struct Can_ControllerConfigType * const * _37;
  unsigned int _38;
  unsigned int _39;
  const struct Can_ControllerConfigType * const * _40;
  const struct Can_ControllerConfigType * _41;
  unsigned char _42;
  const struct Can_ConfigType * _43;
  const struct Can_ControllerConfigType * const * _44;
  unsigned int _45;
  unsigned int _46;
  const struct Can_ControllerConfigType * const * _47;
  const struct Can_ControllerConfigType * _48;
  unsigned char _49;
  Std_ReturnType _75;

  <bb 2> :
  u32CoreId_58 = 0;
  eReturnValue_59 = 1;
  u8ConfigIcomIndex_60 = 0;
  u32CoreId_61 = 0;
  if (ConfigurationId_62(D) == 0)
    goto <bb 3>; [INV]
  else
    goto <bb 4>; [INV]

  <bb 3> :
  _1 = Can_apxConfig[u32CoreId_61];
  _2 = _1->Can_ppController;
  _3 = (unsigned int) Controller_66(D);
  _4 = _3 * 4;
  _5 = _2 + _4;
  _6 = *_5;
  eReturnValue_70 = Can_Ipw_DeactivateIcomConfiguration (_6);
  goto <bb 11>; [INV]

  <bb 4> :
  u8ConfigIcomIndex_63 = 0;
  goto <bb 10>; [INV]

  <bb 5> :
  _7 = Can_apxConfig[u32CoreId_61];
  _8 = _7->pCanIcomConfigs;
  _9 = (unsigned int) u8ConfigIcomIndex_52;
  _10 = _9 * 8;
  _11 = _8 + _10;
  _12 = _11->u8CanIcomConfigId;
  if (ConfigurationId_62(D) == _12)
    goto <bb 6>; [INV]
  else
    goto <bb 9>; [INV]

  <bb 6> :
  _13 = (int) Controller_66(D);
  _14 = Can_eControllerState[_13];
  if (_14 == 1)
    goto <bb 7>; [INV]
  else
    goto <bb 8>; [INV]

  <bb 7> :
  _15 = Can_apxConfig[u32CoreId_61];
  _16 = _15->Can_ppController;
  _17 = (unsigned int) Controller_66(D);
  _18 = _17 * 4;
  _19 = _16 + _18;
  _20 = *_19;
  _21 = Can_apxConfig[u32CoreId_61];
  _22 = _21->pCanIcomConfigs;
  _23 = (unsigned int) u8ConfigIcomIndex_52;
  _24 = _23 * 8;
  _25 = _22 + _24;
  eReturnValue_68 = Can_Ipw_SetIcomConfiguration (_20, _25);

  <bb 8> :
  # eReturnValue_50 = PHI <eReturnValue_59(6), eReturnValue_68(7)>
  goto <bb 11>; [INV]

  <bb 9> :
  u8ConfigIcomIndex.9_26 = u8ConfigIcomIndex_52;
  u8ConfigIcomIndex_65 = u8ConfigIcomIndex.9_26 + 1;

  <bb 10> :
  # u8ConfigIcomIndex_52 = PHI <u8ConfigIcomIndex_63(4), u8ConfigIcomIndex_65(9)>
  _27 = Can_apxConfig[u32CoreId_61];
  _28 = _27->u8NumCanIcomConfigs;
  if (u8ConfigIcomIndex_52 < _28)
    goto <bb 5>; [INV]
  else
    goto <bb 11>; [INV]

  <bb 11> :
  # eReturnValue_51 = PHI <eReturnValue_70(3), eReturnValue_50(8), eReturnValue_59(10)>
  # u8ConfigIcomIndex_53 = PHI <u8ConfigIcomIndex_60(3), u8ConfigIcomIndex_52(8), u8ConfigIcomIndex_52(10)>
  if (eReturnValue_51 == 0)
    goto <bb 12>; [INV]
  else
    goto <bb 16>; [INV]

  <bb 12> :
  if (ConfigurationId_62(D) != 0)
    goto <bb 13>; [INV]
  else
    goto <bb 14>; [INV]

  <bb 13> :
  _29 = Can_apxConfig[u32CoreId_61];
  _30 = _29->pCanIcomConfigs;
  _31 = (unsigned int) u8ConfigIcomIndex_53;
  _32 = _31 * 8;
  _33 = (int) Controller_66(D);
  _34 = _30 + _32;
  Can_apxCtrlConfigIcomIndex[_33] = _34;
  goto <bb 15>; [INV]

  <bb 14> :
  _35 = (int) Controller_66(D);
  Can_apxCtrlConfigIcomIndex[_35] = 0B;

  <bb 15> :
  _36 = Can_apxConfig[u32CoreId_61];
  _37 = _36->Can_ppController;
  _38 = (unsigned int) Controller_66(D);
  _39 = _38 * 4;
  _40 = _37 + _39;
  _41 = *_40;
  _42 = _41->Can_u8AbstControllerID;
  CanIf_CurrentIcomConfiguration (_42, ConfigurationId_62(D), 0);
  goto <bb 17>; [INV]

  <bb 16> :
  _43 = Can_apxConfig[u32CoreId_61];
  _44 = _43->Can_ppController;
  _45 = (unsigned int) Controller_66(D);
  _46 = _45 * 4;
  _47 = _44 + _46;
  _48 = *_47;
  _49 = _48->Can_u8AbstControllerID;
  CanIf_CurrentIcomConfiguration (_49, ConfigurationId_62(D), 1);

  <bb 17> :
  _75 = eReturnValue_51;

  <bb 18> :
<L16>:
  return _75;

}


Can_MainFunction_Mode ()
{
  const struct Can_ControllerConfigType * Can_pController;
  uint32 u32CoreId;
  uint8 u8ControllerID;
  const struct Can_ConfigType * _1;
  const struct Can_ConfigType * _2;
  const struct Can_ControllerConfigType * const * _3;
  unsigned int _4;
  unsigned int _5;
  const struct Can_ControllerConfigType * const * _6;
  _Bool _7;
  int _8;
  Can_ControllerStateType * _9;
  unsigned char u8ControllerID.8_10;

  <bb 2> :
  u8ControllerID_15 = 0;
  u32CoreId_16 = 0;
  Can_pController_17 = 0B;
  u32CoreId_18 = 0;
  _1 = Can_apxConfig[u32CoreId_18];
  if (_1 != 0B)
    goto <bb 3>; [INV]
  else
    goto <bb 9>; [INV]

  <bb 3> :
  goto <bb 8>; [INV]

  <bb 4> :
  _2 = Can_apxConfig[u32CoreId_18];
  _3 = _2->Can_ppController;
  _4 = (unsigned int) u8ControllerID_11;
  _5 = _4 * 4;
  _6 = _3 + _5;
  Can_pController_20 = *_6;
  if (Can_pController_20 != 0B)
    goto <bb 5>; [INV]
  else
    goto <bb 7>; [INV]

  <bb 5> :
  _7 = Can_pController_20->Can_bActivation;
  if (_7 != 0)
    goto <bb 6>; [INV]
  else
    goto <bb 7>; [INV]

  <bb 6> :
  _8 = (int) u8ControllerID_11;
  _9 = &Can_eControllerState[_8];
  Can_Ipw_MainFunction_Mode (Can_pController_20, _9);

  <bb 7> :
  u8ControllerID.8_10 = u8ControllerID_11;
  u8ControllerID_22 = u8ControllerID.8_10 + 1;

  <bb 8> :
  # u8ControllerID_11 = PHI <u8ControllerID_15(3), u8ControllerID_22(7)>
  if (u8ControllerID_11 == 0)
    goto <bb 4>; [INV]
  else
    goto <bb 9>; [INV]

  <bb 9> :
  return;

}


Can_MainFunction_BusOff ()
{
  const struct Can_ControllerConfigType * Can_pController;
  uint32 u32CoreId;
  uint8 u8ControllerID;
  const struct Can_ConfigType * _1;
  const struct Can_ConfigType * _2;
  const struct Can_ControllerConfigType * const * _3;
  unsigned int _4;
  unsigned int _5;
  const struct Can_ControllerConfigType * const * _6;
  _Bool _7;
  _Bool _8;
  unsigned char u8ControllerID.7_9;

  <bb 2> :
  u8ControllerID_14 = 0;
  u32CoreId_15 = 0;
  Can_pController_16 = 0B;
  u32CoreId_17 = 0;
  _1 = Can_apxConfig[u32CoreId_17];
  if (_1 != 0B)
    goto <bb 3>; [INV]
  else
    goto <bb 10>; [INV]

  <bb 3> :
  goto <bb 9>; [INV]

  <bb 4> :
  _2 = Can_apxConfig[u32CoreId_17];
  _3 = _2->Can_ppController;
  _4 = (unsigned int) u8ControllerID_10;
  _5 = _4 * 4;
  _6 = _3 + _5;
  Can_pController_19 = *_6;
  if (Can_pController_19 != 0B)
    goto <bb 5>; [INV]
  else
    goto <bb 8>; [INV]

  <bb 5> :
  _7 = Can_pController_19->Can_bActivation;
  if (_7 != 0)
    goto <bb 6>; [INV]
  else
    goto <bb 8>; [INV]

  <bb 6> :
  _8 = Can_pController_19->Can_bBusOffUsesPolling;
  if (_8 != 0)
    goto <bb 7>; [INV]
  else
    goto <bb 8>; [INV]

  <bb 7> :
  Can_Ipw_MainFunction_BusOff (Can_pController_19);

  <bb 8> :
  u8ControllerID.7_9 = u8ControllerID_10;
  u8ControllerID_21 = u8ControllerID.7_9 + 1;

  <bb 9> :
  # u8ControllerID_10 = PHI <u8ControllerID_14(3), u8ControllerID_21(8)>
  if (u8ControllerID_10 == 0)
    goto <bb 4>; [INV]
  else
    goto <bb 10>; [INV]

  <bb 10> :
  return;

}


Can_MainFunction_Read ()
{
  const struct Can_ControllerConfigType * Can_pController;
  uint32 u32CoreId;
  uint8 u8ControllerID;
  Can_HwHandleType HwObjectID;
  const struct Can_ConfigType * _1;
  const struct Can_ConfigType * _2;
  const uint8 * _3;
  sizetype _4;
  const uint8 * _5;
  const struct Can_ConfigType * _6;
  const struct Can_ControllerConfigType * const * _7;
  unsigned int _8;
  unsigned int _9;
  const struct Can_ControllerConfigType * const * _10;
  _Bool _11;
  const struct Can_ConfigType * _12;
  const struct Can_HwObjectConfigType * _13;
  unsigned int _14;
  unsigned int _15;
  const struct Can_HwObjectConfigType * _16;
  _Bool _17;
  const struct Can_ConfigType * _18;
  const struct Can_HwObjectConfigType * _19;
  unsigned int _20;
  unsigned int _21;
  const struct Can_HwObjectConfigType * _22;
  short unsigned int HwObjectID.6_23;
  const struct Can_ConfigType * _24;
  short unsigned int _25;

  <bb 2> :
  HwObjectID_30 = 0;
  u8ControllerID_31 = 0;
  u32CoreId_32 = 0;
  Can_pController_33 = 0B;
  u32CoreId_34 = 0;
  _1 = Can_apxConfig[u32CoreId_34];
  if (_1 != 0B)
    goto <bb 3>; [INV]
  else
    goto <bb 10>; [INV]

  <bb 3> :
  goto <bb 9>; [INV]

  <bb 4> :
  _2 = Can_apxConfig[u32CoreId_34];
  _3 = _2->Can_pHwObjIDToCtrlIDMap;
  _4 = (sizetype) HwObjectID_26;
  _5 = _3 + _4;
  u8ControllerID_36 = *_5;
  _6 = Can_apxConfig[u32CoreId_34];
  _7 = _6->Can_ppController;
  _8 = (unsigned int) u8ControllerID_36;
  _9 = _8 * 4;
  _10 = _7 + _9;
  Can_pController_37 = *_10;
  if (Can_pController_37 != 0B)
    goto <bb 5>; [INV]
  else
    goto <bb 8>; [INV]

  <bb 5> :
  _11 = Can_pController_37->Can_bActivation;
  if (_11 != 0)
    goto <bb 6>; [INV]
  else
    goto <bb 8>; [INV]

  <bb 6> :
  _12 = Can_apxConfig[u32CoreId_34];
  _13 = _12->Can_pHwObjectConfig;
  _14 = (unsigned int) HwObjectID_26;
  _15 = _14 * 36;
  _16 = _13 + _15;
  _17 = _16->Can_bHwObjectUsesPolling;
  if (_17 != 0)
    goto <bb 7>; [INV]
  else
    goto <bb 8>; [INV]

  <bb 7> :
  _18 = Can_apxConfig[u32CoreId_34];
  _19 = _18->Can_pHwObjectConfig;
  _20 = (unsigned int) HwObjectID_26;
  _21 = _20 * 36;
  _22 = _19 + _21;
  Can_Ipw_MainFunction_Read (Can_pController_37, _22);

  <bb 8> :
  HwObjectID.6_23 = HwObjectID_26;
  HwObjectID_39 = HwObjectID.6_23 + 1;

  <bb 9> :
  # HwObjectID_26 = PHI <HwObjectID_30(3), HwObjectID_39(8)>
  _24 = Can_apxConfig[u32CoreId_34];
  _25 = _24->Can_uHthFirstIndex;
  if (HwObjectID_26 < _25)
    goto <bb 4>; [INV]
  else
    goto <bb 10>; [INV]

  <bb 10> :
  return;

}


Can_MainFunction_Write ()
{
  const struct Can_ControllerConfigType * Can_pController;
  uint32 u32CoreId;
  uint8 u8ControllerID;
  Can_HwHandleType HwObjectID;
  const struct Can_ConfigType * _1;
  const struct Can_ConfigType * _2;
  const struct Can_ConfigType * _3;
  const uint8 * _4;
  sizetype _5;
  const uint8 * _6;
  const struct Can_ConfigType * _7;
  const struct Can_ControllerConfigType * const * _8;
  unsigned int _9;
  unsigned int _10;
  const struct Can_ControllerConfigType * const * _11;
  _Bool _12;
  const struct Can_ConfigType * _13;
  const struct Can_HwObjectConfigType * _14;
  unsigned int _15;
  unsigned int _16;
  const struct Can_HwObjectConfigType * _17;
  _Bool _18;
  const struct Can_ConfigType * _19;
  const struct Can_HwObjectConfigType * _20;
  unsigned int _21;
  unsigned int _22;
  const struct Can_HwObjectConfigType * _23;
  short unsigned int HwObjectID.5_24;

  <bb 2> :
  HwObjectID_29 = 0;
  u8ControllerID_30 = 0;
  u32CoreId_31 = 0;
  Can_pController_32 = 0B;
  u32CoreId_33 = 0;
  _1 = Can_apxConfig[u32CoreId_33];
  if (_1 != 0B)
    goto <bb 3>; [INV]
  else
    goto <bb 10>; [INV]

  <bb 3> :
  _2 = Can_apxConfig[u32CoreId_33];
  HwObjectID_35 = _2->Can_uHthFirstIndex;
  goto <bb 9>; [INV]

  <bb 4> :
  _3 = Can_apxConfig[u32CoreId_33];
  _4 = _3->Can_pHwObjIDToCtrlIDMap;
  _5 = (sizetype) HwObjectID_25;
  _6 = _4 + _5;
  u8ControllerID_36 = *_6;
  _7 = Can_apxConfig[u32CoreId_33];
  _8 = _7->Can_ppController;
  _9 = (unsigned int) u8ControllerID_36;
  _10 = _9 * 4;
  _11 = _8 + _10;
  Can_pController_37 = *_11;
  if (Can_pController_37 != 0B)
    goto <bb 5>; [INV]
  else
    goto <bb 8>; [INV]

  <bb 5> :
  _12 = Can_pController_37->Can_bActivation;
  if (_12 != 0)
    goto <bb 6>; [INV]
  else
    goto <bb 8>; [INV]

  <bb 6> :
  _13 = Can_apxConfig[u32CoreId_33];
  _14 = _13->Can_pHwObjectConfig;
  _15 = (unsigned int) HwObjectID_25;
  _16 = _15 * 36;
  _17 = _14 + _16;
  _18 = _17->Can_bHwObjectUsesPolling;
  if (_18 != 0)
    goto <bb 7>; [INV]
  else
    goto <bb 8>; [INV]

  <bb 7> :
  _19 = Can_apxConfig[u32CoreId_33];
  _20 = _19->Can_pHwObjectConfig;
  _21 = (unsigned int) HwObjectID_25;
  _22 = _21 * 36;
  _23 = _20 + _22;
  Can_Ipw_MainFunction_Write (Can_pController_37, _23);

  <bb 8> :
  HwObjectID.5_24 = HwObjectID_25;
  HwObjectID_39 = HwObjectID.5_24 + 1;

  <bb 9> :
  # HwObjectID_25 = PHI <HwObjectID_35(3), HwObjectID_39(8)>
  if (HwObjectID_25 <= 1)
    goto <bb 4>; [INV]
  else
    goto <bb 10>; [INV]

  <bb 10> :
  return;

}


Can_AbortMb (Can_HwHandleType Hth)
{
  const struct Can_HwObjectConfigType * Can_pHwObject;
  const struct Can_ControllerConfigType * Can_pController;
  uint8 u8ControllerID;
  uint32 u32CoreId;
  const struct Can_ConfigType * _1;
  const uint8 * _2;
  sizetype _3;
  const uint8 * _4;
  const struct Can_ConfigType * _5;
  const struct Can_ControllerConfigType * const * _6;
  unsigned int _7;
  unsigned int _8;
  const struct Can_ControllerConfigType * const * _9;
  const struct Can_ConfigType * _10;
  const struct Can_HwObjectConfigType * _11;
  unsigned int _12;
  unsigned int _13;

  <bb 2> :
  u32CoreId_15 = 0;
  u8ControllerID_16 = 0;
  Can_pController_17 = 0B;
  Can_pHwObject_18 = 0B;
  u32CoreId_19 = 0;
  _1 = Can_apxConfig[u32CoreId_19];
  _2 = _1->Can_pHwObjIDToCtrlIDMap;
  _3 = (sizetype) Hth_21(D);
  _4 = _2 + _3;
  u8ControllerID_22 = *_4;
  _5 = Can_apxConfig[u32CoreId_19];
  _6 = _5->Can_ppController;
  _7 = (unsigned int) u8ControllerID_22;
  _8 = _7 * 4;
  _9 = _6 + _8;
  Can_pController_23 = *_9;
  if (Can_pController_23 != 0B)
    goto <bb 3>; [INV]
  else
    goto <bb 4>; [INV]

  <bb 3> :
  _10 = Can_apxConfig[u32CoreId_19];
  _11 = _10->Can_pHwObjectConfig;
  _12 = (unsigned int) Hth_21(D);
  _13 = _12 * 36;
  Can_pHwObject_24 = _11 + _13;
  Can_Ipw_AbortMb (Can_pController_23, Can_pHwObject_24);

  <bb 4> :
  return;

}


Can_Write (Can_HwHandleType Hth, const struct Can_PduType * PduInfo)
{
  const struct Can_HwObjectConfigType * Can_pHwObject;
  const struct Can_ControllerConfigType * Can_pController;
  uint32 u32CoreId;
  uint8 u8ControllerID;
  Std_ReturnType eRetVal;
  Std_ReturnType D.7242;
  const struct Can_ConfigType * _1;
  const uint8 * _2;
  sizetype _3;
  const uint8 * _4;
  const struct Can_ConfigType * _5;
  const struct Can_ControllerConfigType * const * _6;
  unsigned int _7;
  unsigned int _8;
  const struct Can_ControllerConfigType * const * _9;
  const struct Can_ConfigType * _10;
  const struct Can_HwObjectConfigType * _11;
  unsigned int _12;
  unsigned int _13;
  int _14;
  <unnamed type> _15;
  int _16;
  const struct Can_IcomConfigsType * _17;
  Std_ReturnType _35;

  <bb 2> :
  eRetVal_20 = 1;
  u8ControllerID_21 = 0;
  u32CoreId_22 = 0;
  Can_pController_23 = 0B;
  Can_pHwObject_24 = 0B;
  u32CoreId_25 = 0;
  _1 = Can_apxConfig[u32CoreId_25];
  _2 = _1->Can_pHwObjIDToCtrlIDMap;
  _3 = (sizetype) Hth_27(D);
  _4 = _2 + _3;
  u8ControllerID_28 = *_4;
  _5 = Can_apxConfig[u32CoreId_25];
  _6 = _5->Can_ppController;
  _7 = (unsigned int) u8ControllerID_28;
  _8 = _7 * 4;
  _9 = _6 + _8;
  Can_pController_29 = *_9;
  if (Can_pController_29 != 0B)
    goto <bb 3>; [INV]
  else
    goto <bb 7>; [INV]

  <bb 3> :
  _10 = Can_apxConfig[u32CoreId_25];
  _11 = _10->Can_pHwObjectConfig;
  _12 = (unsigned int) Hth_27(D);
  _13 = _12 * 36;
  Can_pHwObject_30 = _11 + _13;
  _14 = (int) u8ControllerID_28;
  _15 = Can_eControllerState[_14];
  if (_15 == 1)
    goto <bb 4>; [INV]
  else
    goto <bb 7>; [INV]

  <bb 4> :
  _16 = (int) u8ControllerID_28;
  _17 = Can_apxCtrlConfigIcomIndex[_16];
  if (_17 != 0B)
    goto <bb 5>; [INV]
  else
    goto <bb 6>; [INV]

  <bb 5> :
  eRetVal_34 = 2;
  goto <bb 7>; [INV]

  <bb 6> :
  eRetVal_33 = Can_Ipw_Write (Can_pController_29, Can_pHwObject_30, PduInfo_31(D));

  <bb 7> :
  # eRetVal_18 = PHI <eRetVal_20(2), eRetVal_20(3), eRetVal_34(5), eRetVal_33(6)>
  _35 = eRetVal_18;

  <bb 8> :
<L7>:
  return _35;

}


Can_GetControllerTxErrorCounter (uint8 ControllerId, uint8 * TxErrorCounterPtr)
{
  const struct Can_ControllerConfigType * Can_pController;
  uint32 u32CoreId;
  Std_ReturnType eRetVal;
  Std_ReturnType D.7233;
  const struct Can_ConfigType * _1;
  const struct Can_ControllerConfigType * const * _2;
  unsigned int _3;
  unsigned int _4;
  const struct Can_ControllerConfigType * const * _5;
  unsigned char _6;
  Std_ReturnType _18;

  <bb 2> :
  eRetVal_7 = 1;
  u32CoreId_8 = 0;
  Can_pController_9 = 0B;
  u32CoreId_10 = 0;
  _1 = Can_apxConfig[u32CoreId_10];
  _2 = _1->Can_ppController;
  _3 = (unsigned int) ControllerId_12(D);
  _4 = _3 * 4;
  _5 = _2 + _4;
  Can_pController_13 = *_5;
  _6 = Can_Ipw_GetControllerTxErrorCounter (Can_pController_13);
  *TxErrorCounterPtr_15(D) = _6;
  eRetVal_17 = 0;
  _18 = eRetVal_17;

  <bb 3> :
<L0>:
  return _18;

}


Can_GetControllerRxErrorCounter (uint8 ControllerId, uint8 * RxErrorCounterPtr)
{
  const struct Can_ControllerConfigType * Can_pController;
  uint32 u32CoreId;
  Std_ReturnType eRetVal;
  Std_ReturnType D.7231;
  const struct Can_ConfigType * _1;
  const struct Can_ControllerConfigType * const * _2;
  unsigned int _3;
  unsigned int _4;
  const struct Can_ControllerConfigType * const * _5;
  unsigned char _6;
  Std_ReturnType _18;

  <bb 2> :
  eRetVal_7 = 1;
  u32CoreId_8 = 0;
  Can_pController_9 = 0B;
  u32CoreId_10 = 0;
  _1 = Can_apxConfig[u32CoreId_10];
  _2 = _1->Can_ppController;
  _3 = (unsigned int) ControllerId_12(D);
  _4 = _3 * 4;
  _5 = _2 + _4;
  Can_pController_13 = *_5;
  _6 = Can_Ipw_GetControllerRxErrorCounter (Can_pController_13);
  *RxErrorCounterPtr_15(D) = _6;
  eRetVal_17 = 0;
  _18 = eRetVal_17;

  <bb 3> :
<L0>:
  return _18;

}


Can_GetControllerMode (uint8 Controller, Can_ControllerStateType * ControllerModePtr)
{
  Std_ReturnType eRetVal;
  Std_ReturnType D.7229;
  int _1;
  <unnamed type> _2;
  Std_ReturnType _9;

  <bb 2> :
  eRetVal_3 = 1;
  _1 = (int) Controller_4(D);
  _2 = Can_eControllerState[_1];
  *ControllerModePtr_6(D) = _2;
  eRetVal_8 = 0;
  _9 = eRetVal_8;

  <bb 3> :
<L0>:
  return _9;

}


Can_GetControllerErrorState (uint8 ControllerId, Can_ErrorStateType * ErrorStatePtr)
{
  const struct Can_ControllerConfigType * Can_pController;
  uint32 u32CoreId;
  Std_ReturnType eRetVal;
  Std_ReturnType D.7227;
  const struct Can_ConfigType * _1;
  const struct Can_ControllerConfigType * const * _2;
  unsigned int _3;
  unsigned int _4;
  const struct Can_ControllerConfigType * const * _5;
  unsigned char _6;
  int _7;
  Std_ReturnType _22;

  <bb 2> :
  eRetVal_9 = 1;
  u32CoreId_10 = 0;
  Can_pController_11 = 0B;
  u32CoreId_12 = 0;
  _1 = Can_apxConfig[u32CoreId_12];
  _2 = _1->Can_ppController;
  _3 = (unsigned int) ControllerId_14(D);
  _4 = _3 * 4;
  _5 = _2 + _4;
  Can_pController_15 = *_5;
  _6 = Can_Ipw_GetControllerErrorState (Can_pController_15);
  _7 = (int) _6;
  switch (_7) <default: <L2> [INV], case 0: <L0> [INV], case 1: <L1> [INV]>

  <bb 3> :
<L0>:
  *ErrorStatePtr_17(D) = 0;
  goto <bb 6>; [INV]

  <bb 4> :
<L1>:
  *ErrorStatePtr_17(D) = 1;
  goto <bb 6>; [INV]

  <bb 5> :
<L2>:
  *ErrorStatePtr_17(D) = 2;

  <bb 6> :
  eRetVal_21 = 0;
  _22 = eRetVal_21;

  <bb 7> :
<L4>:
  return _22;

}


Can_EnableControllerInterrupts (uint8 Controller)
{
  const struct Can_ControllerConfigType * Can_pController;
  uint32 u32CoreId;
  const struct Can_ConfigType * _1;
  const struct Can_ControllerConfigType * const * _2;
  unsigned int _3;
  unsigned int _4;
  const struct Can_ControllerConfigType * const * _5;
  int _6;
  unsigned char _7;
  int _8;
  unsigned char _9;
  int _10;
  unsigned char _11;
  int _12;
  unsigned char _13;

  <bb 2> :
  u32CoreId_16 = 0;
  Can_pController_17 = 0B;
  u32CoreId_18 = 0;
  _1 = Can_apxConfig[u32CoreId_18];
  _2 = _1->Can_ppController;
  _3 = (unsigned int) Controller_20(D);
  _4 = _3 * 4;
  _5 = _2 + _4;
  Can_pController_21 = *_5;
  SchM_Enter_Can_CAN_EXCLUSIVE_AREA_01 ();
  _6 = (int) Controller_20(D);
  _7 = Can_au8DisableInterruptLevel[_6];
  if (_7 != 0)
    goto <bb 3>; [INV]
  else
    goto <bb 4>; [INV]

  <bb 3> :
  _8 = (int) Controller_20(D);
  _9 = Can_au8DisableInterruptLevel[_8];
  _10 = (int) Controller_20(D);
  _11 = _9 + 255;
  Can_au8DisableInterruptLevel[_10] = _11;

  <bb 4> :
  SchM_Exit_Can_CAN_EXCLUSIVE_AREA_01 ();
  _12 = (int) Controller_20(D);
  _13 = Can_au8DisableInterruptLevel[_12];
  if (_13 == 0)
    goto <bb 5>; [INV]
  else
    goto <bb 6>; [INV]

  <bb 5> :
  Can_Ipw_EnableControllerInterrupts (Can_pController_21);

  <bb 6> :
  return;

}


Can_DisableControllerInterrupts (uint8 Controller)
{
  const struct Can_ControllerConfigType * Can_pController;
  uint32 u32CoreId;
  const struct Can_ConfigType * _1;
  const struct Can_ControllerConfigType * const * _2;
  unsigned int _3;
  unsigned int _4;
  const struct Can_ControllerConfigType * const * _5;
  int _6;
  unsigned char _7;
  int _8;
  unsigned char _9;

  <bb 2> :
  u32CoreId_10 = 0;
  Can_pController_11 = 0B;
  u32CoreId_12 = 0;
  _1 = Can_apxConfig[u32CoreId_12];
  _2 = _1->Can_ppController;
  _3 = (unsigned int) Controller_14(D);
  _4 = _3 * 4;
  _5 = _2 + _4;
  Can_pController_15 = *_5;
  SchM_Enter_Can_CAN_EXCLUSIVE_AREA_00 ();
  _6 = (int) Controller_14(D);
  _7 = Can_au8DisableInterruptLevel[_6];
  _8 = (int) Controller_14(D);
  _9 = _7 + 1;
  Can_au8DisableInterruptLevel[_8] = _9;
  SchM_Exit_Can_CAN_EXCLUSIVE_AREA_00 ();
  Can_Ipw_DisableControllerInterrupts (Can_pController_15);
  return;

}


Can_SetControllerMode (uint8 Controller, Can_ControllerStateType Transition)
{
  <unnamed type> D.7222;
  const struct Can_ControllerConfigType * Can_pController;
  uint32 u32CoreId;
  Std_ReturnType eRetVal;
  Std_ReturnType D.7220;
  const struct Can_ConfigType * _1;
  const struct Can_ControllerConfigType * const * _2;
  unsigned int _3;
  unsigned int _4;
  const struct Can_ControllerConfigType * const * _5;
  int _6;
  <unnamed type> _7;
  unsigned char _8;
  int _9;
  unsigned char _10;
  int _11;
  int _12;
  <unnamed type> _13;
  unsigned char _14;
  int _15;
  unsigned char _16;
  int _17;
  int _18;
  unsigned char _19;
  int _20;
  <unnamed type> _21;
  int _22;
  unsigned char _23;
  <unnamed type> _42;
  Std_ReturnType _59;

  <bb 2> :
  eRetVal_34 = 1;
  u32CoreId_35 = 0;
  Can_pController_36 = 0B;
  u32CoreId_37 = 0;
  _1 = Can_apxConfig[u32CoreId_37];
  _2 = _1->Can_ppController;
  _3 = (unsigned int) Controller_39(D);
  _4 = _3 * 4;
  _5 = _2 + _4;
  Can_pController_40 = *_5;
  switch (Transition_41(D)) <default: <L18> [INV], case 1: <L0> [INV], case 2: <L5> [INV], case 3: <L13> [INV]>

  <bb 3> :
<L0>:
  _6 = (int) Controller_39(D);
  _7 = Can_eControllerState[_6];
  if (_7 == 2)
    goto <bb 4>; [INV]
  else
    goto <bb 6>; [INV]

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

  <bb 5> :
  _9 = (int) Controller_39(D);
  Can_eControllerState[_9] = 1;
  _10 = Can_pController_40->Can_u8AbstControllerID;
  CanIf_ControllerModeIndication (_10, 1);
  eRetVal_57 = 0;
  _11 = (int) Controller_39(D);
  Can_apxCtrlConfigIcomIndex[_11] = 0B;

  <bb 6> :
  # eRetVal_24 = PHI <eRetVal_34(3), eRetVal_34(4), eRetVal_57(5)>
  goto <bb 19>; [INV]

  <bb 7> :
<L5>:
  _12 = (int) Controller_39(D);
  _13 = Can_eControllerState[_12];
  switch (_13) <default: <L11> [INV], case 1: <L6> [INV], case 2 ... 3: <L9> [INV]>

  <bb 8> :
<L6>:
  _14 = Can_Ipw_SetControllerToStopMode (Can_pController_40);
  if (_14 == 0)
    goto <bb 9>; [INV]
  else
    goto <bb 10>; [INV]

  <bb 9> :
  _15 = (int) Controller_39(D);
  Can_eControllerState[_15] = 2;
  _16 = Can_pController_40->Can_u8AbstControllerID;
  CanIf_ControllerModeIndication (_16, 2);
  eRetVal_52 = 0;
  _17 = (int) Controller_39(D);
  Can_apxCtrlConfigIcomIndex[_17] = 0B;

  <bb 10> :
  # eRetVal_25 = PHI <eRetVal_34(8), eRetVal_52(9)>
  goto <bb 13>; [INV]

  <bb 11> :
<L9>:
  _18 = (int) Controller_39(D);
  Can_eControllerState[_18] = 2;
  _19 = Can_pController_40->Can_u8AbstControllerID;
  CanIf_ControllerModeIndication (_19, 2);
  eRetVal_48 = 0;
  goto <bb 13>; [INV]

  <bb 12> :
<L11>:

  <bb 13> :
  # eRetVal_26 = PHI <eRetVal_25(10), eRetVal_48(11), eRetVal_34(12)>
  goto <bb 19>; [INV]

  <bb 14> :
<L13>:
  _20 = (int) Controller_39(D);
  _21 = Can_eControllerState[_20];
  _42 = _21 + 4294967294;
  if (_42 <= 1)
    goto <bb 15>; [INV]
  else
    goto <bb 16>; [INV]

  <bb 15> :
<L14>:
  _22 = (int) Controller_39(D);
  Can_eControllerState[_22] = 3;
  _23 = Can_pController_40->Can_u8AbstControllerID;
  CanIf_ControllerModeIndication (_23, 3);
  eRetVal_45 = 0;
  goto <bb 17>; [INV]

  <bb 16> :
<L16>:

  <bb 17> :
  # eRetVal_27 = PHI <eRetVal_45(15), eRetVal_34(16)>
  goto <bb 19>; [INV]

  <bb 18> :
<L18>:

  <bb 19> :
  # eRetVal_28 = PHI <eRetVal_24(6), eRetVal_26(13), eRetVal_27(17), eRetVal_34(18)>
  _59 = eRetVal_28;

  <bb 20> :
<L20>:
  return _59;

}


Can_SetBaudrate (uint8 Controller, uint16 BaudRateConfigID)
{
  const struct Can_ControllerConfigType * Can_pController;
  uint32 u32CoreId;
  Std_ReturnType eRetVal;
  Std_ReturnType D.7212;
  const struct Can_ConfigType * _1;
  const struct Can_ControllerConfigType * const * _2;
  unsigned int _3;
  unsigned int _4;
  const struct Can_ControllerConfigType * const * _5;
  int _6;
  <unnamed type> _7;
  Std_ReturnType _20;

  <bb 2> :
  eRetVal_10 = 1;
  u32CoreId_11 = 0;
  Can_pController_12 = 0B;
  u32CoreId_13 = 0;
  _1 = Can_apxConfig[u32CoreId_13];
  _2 = _1->Can_ppController;
  _3 = (unsigned int) Controller_15(D);
  _4 = _3 * 4;
  _5 = _2 + _4;
  Can_pController_16 = *_5;
  _6 = (int) Controller_15(D);
  _7 = Can_eControllerState[_6];
  if (_7 == 2)
    goto <bb 3>; [INV]
  else
    goto <bb 4>; [INV]

  <bb 3> :
  eRetVal_19 = Can_Ipw_SetBaudrate (Can_pController_16, BaudRateConfigID_17(D));

  <bb 4> :
  # eRetVal_8 = PHI <eRetVal_10(2), eRetVal_19(3)>
  _20 = eRetVal_8;

  <bb 5> :
<L2>:
  return _20;

}


Can_DeInit ()
{
  uint32 u32CoreId;
  boolean bCtrlBusy;
  uint8 u8ControllerID;
  const struct Can_ConfigType * _1;
  const struct Can_ControllerConfigType * const * _2;
  unsigned int _3;
  unsigned int _4;
  const struct Can_ControllerConfigType * const * _5;
  const struct Can_ControllerConfigType * _6;
  int _7;
  <unnamed type> _8;
  unsigned char u8ControllerID.4_9;
  _Bool _10;

  <bb 2> :
  u8ControllerID_14 = 0;
  bCtrlBusy_15 = 0;
  u32CoreId_16 = 0;
  u32CoreId_17 = 0;
  u8ControllerID_18 = 0;
  goto <bb 7>; [INV]

  <bb 3> :
  _1 = Can_apxConfig[u32CoreId_17];
  _2 = _1->Can_ppController;
  _3 = (unsigned int) u8ControllerID_11;
  _4 = _3 * 4;
  _5 = _2 + _4;
  _6 = *_5;
  if (_6 != 0B)
    goto <bb 4>; [INV]
  else
    goto <bb 6>; [INV]

  <bb 4> :
  _7 = (int) u8ControllerID_11;
  _8 = Can_eControllerState[_7];
  if (_8 == 1)
    goto <bb 5>; [INV]
  else
    goto <bb 6>; [INV]

  <bb 5> :
  bCtrlBusy_20 = 1;
  goto <bb 8>; [INV]

  <bb 6> :
  u8ControllerID.4_9 = u8ControllerID_11;
  u8ControllerID_21 = u8ControllerID.4_9 + 1;

  <bb 7> :
  # u8ControllerID_11 = PHI <u8ControllerID_18(2), u8ControllerID_21(6)>
  if (u8ControllerID_11 == 0)
    goto <bb 3>; [INV]
  else
    goto <bb 8>; [INV]

  <bb 8> :
  # bCtrlBusy_12 = PHI <bCtrlBusy_20(5), bCtrlBusy_15(7)>
  _10 = ~bCtrlBusy_12;
  if (_10 != 0)
    goto <bb 9>; [INV]
  else
    goto <bb 10>; [INV]

  <bb 9> :
  Can_DeInitControllers (u32CoreId_17);
  Can_apxConfig[u32CoreId_17] = 0B;

  <bb 10> :
  return;

}


Can_Init (const struct Can_ConfigType * Config)
{
  boolean bCtrlBusy;
  uint32 u32CoreId;
  _Bool _1;

  <bb 2> :
  u32CoreId_3 = 0;
  bCtrlBusy_4 = 0;
  u32CoreId_5 = 0;
  Can_apxConfig[u32CoreId_5] = &Can_Config;
  bCtrlBusy_9 = Can_IsControllersBusy (u32CoreId_5);
  _1 = ~bCtrlBusy_9;
  if (_1 != 0)
    goto <bb 3>; [INV]
  else
    goto <bb 4>; [INV]

  <bb 3> :
  Can_InitControllers (u32CoreId_5);

  <bb 4> :
  return;

}


Can_GetVersionInfo (struct Std_VersionInfoType * versioninfo)
{
  <bb 2> :
  versioninfo_2(D)->vendorID = 43;
  versioninfo_2(D)->moduleID = 80;
  versioninfo_2(D)->sw_major_version = 1;
  versioninfo_2(D)->sw_minor_version = 0;
  versioninfo_2(D)->sw_patch_version = 0;
  return;

}


Can_DeInitControllers (uint32 u32CoreId)
{
  const struct Can_ControllerConfigType * Can_pController;
  uint8 u8ControllerID;
  const struct Can_ConfigType * _1;
  const struct Can_ControllerConfigType * const * _2;
  unsigned int _3;
  unsigned int _4;
  const struct Can_ControllerConfigType * const * _5;
  const struct Can_ControllerConfigType * _6;
  const struct Can_ConfigType * _7;
  const struct Can_ControllerConfigType * const * _8;
  unsigned int _9;
  unsigned int _10;
  const struct Can_ControllerConfigType * const * _11;
  _Bool _12;
  int _13;
  unsigned char u8ControllerID.3_14;

  <bb 2> :
  u8ControllerID_18 = 0;
  Can_pController_19 = 0B;
  u8ControllerID_20 = 0;
  goto <bb 7>; [INV]

  <bb 3> :
  _1 = Can_apxConfig[u32CoreId_22(D)];
  _2 = _1->Can_ppController;
  _3 = (unsigned int) u8ControllerID_15;
  _4 = _3 * 4;
  _5 = _2 + _4;
  _6 = *_5;
  if (_6 != 0B)
    goto <bb 4>; [INV]
  else
    goto <bb 6>; [INV]

  <bb 4> :
  _7 = Can_apxConfig[u32CoreId_22(D)];
  _8 = _7->Can_ppController;
  _9 = (unsigned int) u8ControllerID_15;
  _10 = _9 * 4;
  _11 = _8 + _10;
  Can_pController_23 = *_11;
  _12 = Can_pController_23->Can_bActivation;
  if (_12 != 0)
    goto <bb 5>; [INV]
  else
    goto <bb 6>; [INV]

  <bb 5> :
  _13 = (int) u8ControllerID_15;
  Can_eControllerState[_13] = 0;
  Can_Ipw_DeInit (Can_pController_23);

  <bb 6> :
  u8ControllerID.3_14 = u8ControllerID_15;
  u8ControllerID_26 = u8ControllerID.3_14 + 1;

  <bb 7> :
  # u8ControllerID_15 = PHI <u8ControllerID_20(2), u8ControllerID_26(6)>
  if (u8ControllerID_15 == 0)
    goto <bb 3>; [INV]
  else
    goto <bb 8>; [INV]

  <bb 8> :
  return;

}


Can_InitControllers (uint32 u32CoreId)
{
  const struct Can_ControllerConfigType * Can_pController;
  Std_ReturnType RetVal;
  uint8 u8ControllerID;
  boolean bCtrlBusy;
  const struct Can_ConfigType * _1;
  const struct Can_ControllerConfigType * const * _2;
  unsigned int _3;
  unsigned int _4;
  const struct Can_ControllerConfigType * const * _5;
  const struct Can_ControllerConfigType * _6;
  const struct Can_ConfigType * _7;
  const struct Can_ControllerConfigType * const * _8;
  unsigned int _9;
  unsigned int _10;
  const struct Can_ControllerConfigType * const * _11;
  _Bool _12;
  int _13;
  int _14;
  int _15;
  unsigned char u8ControllerID.1_16;
  const struct Can_ConfigType * _17;
  const struct Can_ControllerConfigType * const * _18;
  unsigned int _19;
  unsigned int _20;
  const struct Can_ControllerConfigType * const * _21;
  const struct Can_ControllerConfigType * _22;
  int _23;
  unsigned char u8ControllerID.2_24;

  <bb 2> :
  bCtrlBusy_36 = 0;
  u8ControllerID_37 = 0;
  RetVal_38 = 1;
  Can_pController_39 = 0B;
  u8ControllerID_40 = 0;
  goto <bb 11>; [INV]

  <bb 3> :
  _1 = Can_apxConfig[u32CoreId_42(D)];
  _2 = _1->Can_ppController;
  _3 = (unsigned int) u8ControllerID_26;
  _4 = _3 * 4;
  _5 = _2 + _4;
  _6 = *_5;
  if (_6 != 0B)
    goto <bb 4>; [INV]
  else
    goto <bb 10>; [INV]

  <bb 4> :
  _7 = Can_apxConfig[u32CoreId_42(D)];
  _8 = _7->Can_ppController;
  _9 = (unsigned int) u8ControllerID_26;
  _10 = _9 * 4;
  _11 = _8 + _10;
  Can_pController_43 = *_11;
  _12 = Can_pController_43->Can_bActivation;
  if (_12 != 0)
    goto <bb 5>; [INV]
  else
    goto <bb 10>; [INV]

  <bb 5> :
  _13 = (int) u8ControllerID_26;
  Can_au8DisableInterruptLevel[_13] = 0;
  _14 = (int) u8ControllerID_26;
  Can_apxCtrlConfigIcomIndex[_14] = 0B;
  RetVal_47 = Can_Ipw_Init (Can_pController_43);
  if (RetVal_47 == 0)
    goto <bb 6>; [INV]
  else
    goto <bb 7>; [INV]

  <bb 6> :
  RetVal_49 = Can_Ipw_InitRx (Can_pController_43);

  <bb 7> :
  # RetVal_28 = PHI <RetVal_47(5), RetVal_49(6)>
  if (RetVal_28 == 0)
    goto <bb 8>; [INV]
  else
    goto <bb 9>; [INV]

  <bb 8> :
  _15 = (int) u8ControllerID_26;
  Can_eControllerState[_15] = 2;
  goto <bb 10>; [INV]

  <bb 9> :
  bCtrlBusy_50 = 1;
  goto <bb 12>; [INV]

  <bb 10> :
  u8ControllerID.1_16 = u8ControllerID_26;
  u8ControllerID_52 = u8ControllerID.1_16 + 1;

  <bb 11> :
  # u8ControllerID_26 = PHI <u8ControllerID_40(2), u8ControllerID_52(10)>
  if (u8ControllerID_26 == 0)
    goto <bb 3>; [INV]
  else
    goto <bb 12>; [INV]

  <bb 12> :
  # bCtrlBusy_25 = PHI <bCtrlBusy_50(9), bCtrlBusy_36(11)>
  if (bCtrlBusy_25 != 0)
    goto <bb 13>; [INV]
  else
    goto <bb 18>; [INV]

  <bb 13> :
  u8ControllerID_53 = 0;
  goto <bb 17>; [INV]

  <bb 14> :
  _17 = Can_apxConfig[u32CoreId_42(D)];
  _18 = _17->Can_ppController;
  _19 = (unsigned int) u8ControllerID_27;
  _20 = _19 * 4;
  _21 = _18 + _20;
  _22 = *_21;
  if (_22 != 0B)
    goto <bb 15>; [INV]
  else
    goto <bb 16>; [INV]

  <bb 15> :
  _23 = (int) u8ControllerID_27;
  Can_eControllerState[_23] = 0;

  <bb 16> :
  u8ControllerID.2_24 = u8ControllerID_27;
  u8ControllerID_55 = u8ControllerID.2_24 + 1;

  <bb 17> :
  # u8ControllerID_27 = PHI <u8ControllerID_53(13), u8ControllerID_55(16)>
  if (u8ControllerID_27 == 0)
    goto <bb 14>; [INV]
  else
    goto <bb 18>; [INV]

  <bb 18> :
  return;

}


Can_IsControllersBusy (uint32 u32CoreId)
{
  uint8 u8ControllerID;
  boolean bCtrlBusy;
  boolean D.7183;
  const struct Can_ConfigType * _1;
  const struct Can_ControllerConfigType * const * _2;
  unsigned int _3;
  unsigned int _4;
  const struct Can_ControllerConfigType * const * _5;
  const struct Can_ControllerConfigType * _6;
  int _7;
  <unnamed type> _8;
  unsigned char u8ControllerID.0_9;
  boolean _19;

  <bb 2> :
  bCtrlBusy_12 = 0;
  u8ControllerID_13 = 0;
  u8ControllerID_14 = 0;
  goto <bb 7>; [INV]

  <bb 3> :
  _1 = Can_apxConfig[u32CoreId_16(D)];
  _2 = _1->Can_ppController;
  _3 = (unsigned int) u8ControllerID_11;
  _4 = _3 * 4;
  _5 = _2 + _4;
  _6 = *_5;
  if (_6 != 0B)
    goto <bb 4>; [INV]
  else
    goto <bb 6>; [INV]

  <bb 4> :
  _7 = (int) u8ControllerID_11;
  _8 = Can_eControllerState[_7];
  if (_8 != 0)
    goto <bb 5>; [INV]
  else
    goto <bb 6>; [INV]

  <bb 5> :
  bCtrlBusy_17 = 1;
  goto <bb 8>; [INV]

  <bb 6> :
  u8ControllerID.0_9 = u8ControllerID_11;
  u8ControllerID_18 = u8ControllerID.0_9 + 1;

  <bb 7> :
  # u8ControllerID_11 = PHI <u8ControllerID_14(2), u8ControllerID_18(6)>
  if (u8ControllerID_11 == 0)
    goto <bb 3>; [INV]
  else
    goto <bb 8>; [INV]

  <bb 8> :
  # bCtrlBusy_10 = PHI <bCtrlBusy_17(5), bCtrlBusy_12(7)>
  _19 = bCtrlBusy_10;

  <bb 9> :
<L7>:
  return _19;

}


