Below is a generated application header file for an SwC supporting multiple instantiation and utilizing Rte_IRead, Rte_Read, Rte_DRead, Rte_Mode and Rte_Call for primitive types, structs and arrays. It has one runnable triggered by a timing event and two runnables triggered by mode enter and exit events.

#ifndef RTE_SWCREADERMULTIPLEINSTANCETYPE_H
#define RTE_SWCREADERMULTIPLEINSTANCETYPE_H

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

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

#include <string.h>
#include "oS.h"
#include "Rte_SwcReaderMultipleInstanceType_Type.h"
#include "Rte_DataHandleType.h"


/* per-instance memory typedefs */
typedef Rte_PimType_SwcReaderMultipleInstanceType_PIM1_Type PIM1_Type;


struct Rte_PDS_SwcReaderMultipleInstanceType_BasicCSInterface_R
{
   Std_ReturnType (*Call_array_operation)(/*IN*/const ArrayDataType arg1, /*INOUT*/ArrayDataType arg2, /*OUT*/ArrayDataType arg3);
   Std_ReturnType (*Call_struct_operation)(/*IN*/const StructDataType * arg1, /*INOUT*/StructDataType * arg2, /*OUT*/StructDataType * arg3);
   Std_ReturnType (*Call_uint32_operation)(/*IN*/uint32 arg1, /*INOUT*/uint32 * arg2, /*OUT*/uint32 * arg3);
};


struct Rte_PDS_SwcReaderMultipleInstanceType_BasicSRInterface_R
{
   Std_ReturnType (*Read_data_array)(/*OUT*/ArrayDataType data_array);
   sint32 (*DRead_data_sint32)(void);
   Std_ReturnType (*Read_data_sint32)(/*OUT*/sint32 * data_sint32);
   Std_ReturnType (*Read_data_struct)(/*OUT*/StructDataType * data_struct);
};


struct Rte_PDS_SwcReaderMultipleInstanceType_ModeSwitchInterface_R
{
   sint16 (*Mode_BasicModeDeclarationGroupPrototype)(void);
};

typedef struct Rte_PDS_SwcReaderMultipleInstanceType_BasicCSInterface_R *Rte_PortHandle_SwcReaderMultipleInstanceType_BasicCSInterface_R;
typedef struct Rte_PDS_SwcReaderMultipleInstanceType_BasicSRInterface_R *Rte_PortHandle_SwcReaderMultipleInstanceType_BasicSRInterface_R;
typedef struct Rte_PDS_SwcReaderMultipleInstanceType_ModeSwitchInterface_R *Rte_PortHandle_SwcReaderMultipleInstanceType_ModeSwitchInterface_R;

struct Rte_CDS_SwcReaderMultipleInstanceType
{
   Rte_DE_ArrayDataType * const periodicRunnable_dataReadAccessPort_data_array;
   Rte_DE_sint32 * const periodicRunnable_dataReadAccessPort_data_sint32;
   Rte_DE_StructDataType * const periodicRunnable_dataReadAccessPort_data_struct;
   Rte_PimType_SwcReaderMultipleInstanceType_PIM1_Type *PIM1;
   struct Rte_PDS_SwcReaderMultipleInstanceType_BasicCSInterface_R clientPort;
   struct Rte_PDS_SwcReaderMultipleInstanceType_BasicSRInterface_R dataReadAccessPort;
   struct Rte_PDS_SwcReaderMultipleInstanceType_BasicSRInterface_R dataReceivePointByValuesPort;
   struct Rte_PDS_SwcReaderMultipleInstanceType_BasicSRInterface_R dataReceivePointByArgumentsPort;
   struct Rte_PDS_SwcReaderMultipleInstanceType_ModeSwitchInterface_R modeSwitchPort;
};

typedef struct Rte_CDS_SwcReaderMultipleInstanceType Rte_CDS_SwcReaderMultipleInstanceType;

typedef Rte_CDS_SwcReaderMultipleInstanceType const * const Rte_Instance;

/* per-instance memory API */
static inline Rte_PimType_SwcReaderMultipleInstanceType_PIM1_Type *Rte_Pim_PIM1(Rte_Instance self)
{
   return self->PIM1;
}

#if defined(RTE_RUNNABLEAPI_onEnterOneRunnable)
void onEnterOneRunnable_SwcReaderMultipleInstanceType(Rte_Instance self);
#endif

#if defined(RTE_RUNNABLEAPI_onExitThreeRunnable)
void onExitThreeRunnable_SwcReaderMultipleInstanceType(Rte_Instance self);
#endif

#if defined(RTE_RUNNABLEAPI_periodicRunnable)
void periodicRunnable_SwcReaderMultipleInstanceType(Rte_Instance self);

static inline uint8 * Rte_IRead_periodicRunnable_dataReadAccessPort_data_array(Rte_Instance self)
{
   return self->periodicRunnable_dataReadAccessPort_data_array->value;
}

static inline sint32 Rte_IRead_periodicRunnable_dataReadAccessPort_data_sint32(Rte_Instance self)
{
   return self->periodicRunnable_dataReadAccessPort_data_sint32->value;
}

static inline StructDataType * Rte_IRead_periodicRunnable_dataReadAccessPort_data_struct(Rte_Instance self)
{
   return &self->periodicRunnable_dataReadAccessPort_data_struct->value;
}

static inline Std_ReturnType Rte_Read_dataReceivePointByArgumentsPort_data_array(Rte_Instance self, /*OUT*/ArrayDataType data_array)
{
   return self->dataReceivePointByArgumentsPort.Read_data_array(data_array);
}

static inline Std_ReturnType Rte_Read_dataReceivePointByArgumentsPort_data_sint32(Rte_Instance self, /*OUT*/sint32 * data_sint32)
{
   return self->dataReceivePointByArgumentsPort.Read_data_sint32(data_sint32);
}

static inline Std_ReturnType Rte_Read_dataReceivePointByArgumentsPort_data_struct(Rte_Instance self, /*OUT*/StructDataType * data_struct)
{
   return self->dataReceivePointByArgumentsPort.Read_data_struct(data_struct);
}

static inline sint32 Rte_DRead_dataReceivePointByValuesPort_data_sint32(Rte_Instance self)
{
   return self->dataReceivePointByValuesPort.DRead_data_sint32();
}

static inline sint16 Rte_Mode_modeSwitchPort_BasicModeDeclarationGroupPrototype(Rte_Instance self)
{
   return self->modeSwitchPort.Mode_BasicModeDeclarationGroupPrototype();
}

static inline Std_ReturnType Rte_Call_clientPort_struct_operation(Rte_Instance self, /*IN*/const StructDataType * arg1, /*INOUT*/StructDataType * arg2, /*OUT*/StructDataType * arg3)
{
   return self->clientPort.Call_struct_operation(arg1, arg2, arg3);
}

static inline Std_ReturnType Rte_Call_clientPort_uint32_operation(Rte_Instance self, /*IN*/uint32 arg1, /*INOUT*/uint32 * arg2, /*OUT*/uint32 * arg3)
{
   return self->clientPort.Call_uint32_operation(arg1, arg2, arg3);
}

static inline Std_ReturnType Rte_Call_clientPort_array_operation(Rte_Instance self, /*IN*/const ArrayDataType arg1, /*INOUT*/ArrayDataType arg2, /*OUT*/ArrayDataType arg3)
{
   return self->clientPort.Call_array_operation(arg1, arg2, arg3);
}
#endif

#if !defined(RTE_RUNNABLEAPI_onEnterOneRunnable) && !defined(RTE_RUNNABLEAPI_onExitThreeRunnable) && !defined(RTE_RUNNABLEAPI_periodicRunnable)
static inline Std_ReturnType Rte_Call_clientPort_array_operation(Rte_Instance self, /*IN*/const ArrayDataType arg1, /*INOUT*/ArrayDataType arg2, /*OUT*/ArrayDataType arg3)
{
   return self->clientPort.Call_array_operation(arg1, arg2, arg3);
}

static inline Std_ReturnType Rte_Call_clientPort_struct_operation(Rte_Instance self, /*IN*/const StructDataType * arg1, /*INOUT*/StructDataType * arg2, /*OUT*/StructDataType * arg3)
{
   return self->clientPort.Call_struct_operation(arg1, arg2, arg3);
}

static inline Std_ReturnType Rte_Call_clientPort_uint32_operation(Rte_Instance self, /*IN*/uint32 arg1, /*INOUT*/uint32 * arg2, /*OUT*/uint32 * arg3)
{
   return self->clientPort.Call_uint32_operation(arg1, arg2, arg3);
}

static inline Std_ReturnType Rte_Read_dataReceivePointByArgumentsPort_data_array(Rte_Instance self, /*OUT*/ArrayDataType data_array)
{
   return self->dataReceivePointByArgumentsPort.Read_data_array(data_array);
}

static inline Std_ReturnType Rte_Read_dataReceivePointByArgumentsPort_data_sint32(Rte_Instance self, /*OUT*/sint32 * data_sint32)
{
   return self->dataReceivePointByArgumentsPort.Read_data_sint32(data_sint32);
}

static inline Std_ReturnType Rte_Read_dataReceivePointByArgumentsPort_data_struct(Rte_Instance self, /*OUT*/StructDataType * data_struct)
{
   return self->dataReceivePointByArgumentsPort.Read_data_struct(data_struct);
}

static inline StructDataType * Rte_IRead_periodicRunnable_dataReadAccessPort_data_struct(Rte_Instance self)
{
   return &self->periodicRunnable_dataReadAccessPort_data_struct->value;
}

static inline sint16 Rte_Mode_modeSwitchPort_BasicModeDeclarationGroupPrototype(Rte_Instance self)
{
   return self->modeSwitchPort.Mode_BasicModeDeclarationGroupPrototype();
}

static inline sint32 Rte_DRead_dataReceivePointByValuesPort_data_sint32(Rte_Instance self)
{
   return self->dataReceivePointByValuesPort.DRead_data_sint32();
}

static inline sint32 Rte_IRead_periodicRunnable_dataReadAccessPort_data_sint32(Rte_Instance self)
{
   return self->periodicRunnable_dataReadAccessPort_data_sint32->value;
}

static inline uint8 * Rte_IRead_periodicRunnable_dataReadAccessPort_data_array(Rte_Instance self)
{
   return self->periodicRunnable_dataReadAccessPort_data_array->value;
}

void onEnterOneRunnable_SwcReaderMultipleInstanceType(Rte_Instance self);
void onExitThreeRunnable_SwcReaderMultipleInstanceType(Rte_Instance self);
void periodicRunnable_SwcReaderMultipleInstanceType(Rte_Instance self);
#endif

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

#endif