/** @file     Rte_E2E_SWC_Tx.h
  *
  * @brief    Application header file
  *
  * @note     AUTOMATICALLY GENERATED FILE! DO NOT EDIT!
  *
  * @note     Generated by ETAS RTA-RTE
  * @note     Version 6.5.0 
  *
  * @date     Thu Mar  7 11:39:19 2019
  */

#ifndef RTE_E2E_SWC_TX_H
#define RTE_E2E_SWC_TX_H

#ifndef RTE_CORE
#ifdef RTE_APPLICATION_HEADER_FILE
#error Multiple application header files included.
#endif /* RTE_APPLICATION_HEADER_FILE */
#define RTE_APPLICATION_HEADER_FILE
#endif /* RTE_CORE */

/*******************************************************
 ***
 *** Includes
 ***
 *******************************************************/

#include "Rte.h"
#include "Rte_Intl.h"
#include "Rte_E2E_SWC_Tx_Type.h"

#include "Rte_DataHandleType.h"

#ifdef __cplusplus
extern "C" {
#endif /* __cplusplus */

#if defined(RTE_RUNNABLEAPI_RE_E2E_SWC_Tx)
   /* Do nothing for this and all elif clauses below (rte_sws_2751) */
#else
   /* None of above defined so define value including all APIs (rte_sws_2751) */
   #define RTE_PRV_ALL_API
#endif

/*******************************************************
 ***
 *** Constants
 ***
 *******************************************************/


/*******************************************************
 ***
 *** Public Types
 ***
 *******************************************************/

/* BEGIN: SWC types (core visible) */
struct Rte_CDS_E2E_SWC_Tx {
   /* Data handles */
   P2VAR(Rte_DE_uint8, AUTOMATIC, RTE_DATA) RE_E2E_SWC_Tx_RPort_E2E_Protected_Data_E2E_Protected_Data;
};
typedef struct Rte_CDS_E2E_SWC_Tx Rte_CDS_E2E_SWC_Tx;
/* END: SWC types (core visible) */

/*******************************************************
 ***
 *** Private Types
 ***
 *******************************************************/

/* BEGIN: SWC types (private) */
/* END: SWC types (private) */

/*******************************************************
 ***
 *** Instance Declarations
 ***
 *******************************************************/

#define RTE_START_SEC_CONST_UNSPECIFIED
#include "Rte_MemMap.h" /*lint !e537 permit multiple inclusion */
extern CONST(struct Rte_CDS_E2E_SWC_Tx, RTE_CONST) Rte_Inst_E2E_SWC_Tx;
#define RTE_STOP_SEC_CONST_UNSPECIFIED
#include "Rte_MemMap.h" /*lint !e537 permit multiple inclusion */


#ifndef RTE_CORE
typedef CONSTP2CONST(struct Rte_CDS_E2E_SWC_Tx, AUTOMATIC, RTE_CONST) Rte_Instance;
#endif /* RTE_CORE */

/*******************************************************
 ***
 *** API Mapping macros
 ***
 *******************************************************/

/* API Mapping Macros */
#ifndef RTE_CORE
#define RTE_START_SEC_VAR_CLEARED_32
#include "Rte_MemMap.h" /*lint !e537 permit multiple inclusion */
extern VAR(Rte_ImplicitBufsType, RTE_DATA) Rte_ImplicitBufs;
#define RTE_STOP_SEC_VAR_CLEARED_32
#include "Rte_MemMap.h" /*lint !e537 permit multiple inclusion */
#define RTE_START_SEC_VAR_CLEARED_8
#include "Rte_MemMap.h" /*lint !e537 permit multiple inclusion */
extern VAR(uint8, RTE_DATA) Rte_Rx_000024;
#define RTE_STOP_SEC_VAR_CLEARED_8
#include "Rte_MemMap.h" /*lint !e537 permit multiple inclusion */
#define RTE_START_SEC_VAR_CLEARED_8
#include "Rte_MemMap.h" /*lint !e537 permit multiple inclusion */
extern VAR(uint8, RTE_DATA) Rte_Rx_000025;
#define RTE_STOP_SEC_VAR_CLEARED_8
#include "Rte_MemMap.h" /*lint !e537 permit multiple inclusion */
#define RTE_START_SEC_VAR_CLEARED_8
#include "Rte_MemMap.h" /*lint !e537 permit multiple inclusion */
extern VAR(uint8, RTE_DATA) Rte_Rx_000026;
#define RTE_STOP_SEC_VAR_CLEARED_8
#include "Rte_MemMap.h" /*lint !e537 permit multiple inclusion */
#if defined(RTE_PRV_ALL_API) || defined(RTE_RUNNABLEAPI_RE_E2E_SWC_Tx)
/* Inline read optimization; Rte_IRead_RE_E2E_SWC_Tx_RPort_E2E_Protected_Data_E2E_Protected_Data to implicit access macro */
#define Rte_IRead_RE_E2E_SWC_Tx_RPort_E2E_Protected_Data_E2E_Protected_Data()  ( (CONST(uint8, RTE_DATA)) Rte_ImplicitBufs.isa_15.Rte_OsTask_ASW.rbuf18.value )
#endif
#if defined(RTE_PRV_ALL_API) || defined(RTE_RUNNABLEAPI_RE_E2E_SWC_Tx)
/* Inline Write optimization; Rte_Write_PPort_E2E_Data_Alive_Cnt to direct write */
#define Rte_Write_PPort_E2E_Data_Alive_Cnt( data ) ( (Rte_Rx_000024 = data), RTE_E_OK )
#endif
#if defined(RTE_PRV_ALL_API) || defined(RTE_RUNNABLEAPI_RE_E2E_SWC_Tx)
/* Inline Write optimization; Rte_Write_PPort_E2E_Data_CKS to direct write */
#define Rte_Write_PPort_E2E_Data_CKS( data ) ( (Rte_Rx_000025 = data), RTE_E_OK )
#endif
#if defined(RTE_PRV_ALL_API) || defined(RTE_RUNNABLEAPI_RE_E2E_SWC_Tx)
/* Inline Write optimization; Rte_Write_PPort_E2E_Data_Data to direct write */
#define Rte_Write_PPort_E2E_Data_Data( data ) ( (Rte_Rx_000026 = data), RTE_E_OK )
#endif

#endif /* RTE_CORE */

/*******************************************************
 ***
 *** RE Prototypes
 ***
 *******************************************************/

#define E2E_SWC_Tx_START_SEC_CODE
#include "E2E_SWC_Tx_MemMap.h" /*lint !e537 permit multiple inclusion */
FUNC(void, E2E_SWC_Tx_CODE) RE_E2E_SWC_Tx(void);
#define E2E_SWC_Tx_STOP_SEC_CODE
#include "E2E_SWC_Tx_MemMap.h" /*lint !e537 permit multiple inclusion */

/* Initial values for data element prototypes */

#ifdef __cplusplus
} /* extern C */
#endif /* __cplusplus */

#endif /* !RTE_E2E_SWC_TX_H */
