# EC-Master MainDevice Stack Source Code
In a source code delivery the MainDevice stack sources are divided into 4 parts:
- SDK Header files
- Real-time Ethernet Driver files (multiple Real-time Ethernet Drivers may be shipped)
- Link OS driver files (only valid for the Real-time Ethernet Drivers)
- MainDevice stack files (configuration, core and interface layer)
- OS layer files (only valid for the MainDevice stack)
The MainDevice stack can be ported to several different operating systems and CPU architectures with different compilers and development environments. Typically no supported build environment files like IDE projects are shipped with the source code.
To build the MainDevice stack the appropriate build environment for the target operating system has to be used. If an integrated development environment (IDE) exists (Visual Studio, Eclipse, etc.) several projects containing all necessary files are needed to build the artefacts. If no integrated development environment is available makefiles and dependency rules may have to be created which contain the necessary MainDevice stack source and header files.
## Components
For most platforms three separate independent binaries will have to be generated:
1. Real-time Ethernet Driver Binary (e.g. a downloadable object module in VxWorks or a DLL in Windows). The Real-time Ethernet Driver binary will be dynamically bound to the application at runtime. (currently not for On Time RTOS-32 which uses static libraries)
2. MainDevice Stack Library
3. Remote API Server Library
### Real-time Ethernet Driver Binaries
The following files have to be included into an IDE project or makefile:
- Real-time Ethernet Driver files. Only one single Real-time Ethernet Driver must be selected even if multiple Real-time Ethernet Drivers are shipped. For each Real-time Ethernet Driver a separate binary has to be created.
- Link OS layer files
- Windows: a dynamic link library (`.dll`) has to be created. The name of the DLL has to be `emllXxxx.dll` where `Xxxx` shall be replaced by the Real-time Ethernet Driver type (e.g. `emllI8255x.dll` for the I8255x Real-time Ethernet Driver).
- VxWorks: a downloadable kernel module (`.out`) has to be created. The name of the module has to be `emllXxxx.out` where `Xxxx` shall be replaced by the Real-time Ethernet Driver type (e.g. `emllI8255x.out` for the I8255x Real-time Ethernet Driver). `sysLoSalAdd.c` should be included in the BSP if needed and should not be compiled within the Real-time Ethernet Driver binary.
- Linux/QNX: a shared object library (`.so`) has to be created.
- RTX: an RTX dynamic link library (`.rtdll`) has to be created. The name of the DLL has to be `emllXxxx.dll` where `Xxxx` shall be replaced by the Real-time Ethernet Driver type (e.g. `emllI8255x.dll` for the I8255x Real-time Ethernet Driver).
- INtime: a shared library (`.rsl`) has to be created. The name of the RSL has to be `emllXxxx.rsl` where `Xxxx` shall be replaced by the Real-time Ethernet Driver type (e.g. `emllI8255x.rsl` for the I8255x Real-time Ethernet Driver).
### MainDevice Stack Binaries
The following files have to be included into an IDE project or makefile:
- MainDevice stack files
- OS layer files
- For all platforms a static library has to be created. This library will have to be linked together with the application.
### Remote API Server Binaries
The following files have to be included into an IDE project or makefile:
- Remote API server files.
- For all platforms a static library has to be created. This library will have to be linked together with the application.
#### SEE ALSO
[Platform and Operating Systems (OS)](os.html.md#platform-and-operating-systems-os) for required tool chain settings
## Excluding features
It is possible to reduce the footprint of the MainDevice library and improve its execution performance by compiling less features.
EXCLUDE_EOE_ENDPOINT
: FP-EoE-Endpoint
EXCLUDE_HOTCONNECT
: FP-Hot-Connect
EXCLUDE_JUNCTION_REDUNDANCY
: FP-Cable-Redundancy
EXCLUDE_MASTER_OBD
: [MainDevice Object Dictionary](od.html.md#maindevice-object-dictionary)
EXCLUDE_RED_DEVICE
: FP-Cable-Redundancy
EXCLUDE_SPLITTED_FRAME_PROCESSING
: FP-Split-Frame-Processing
EXCLUDE_DC_SUPPORT
: Class-A
The following defines and their impact are described below:
EXCLUDE_ADS_ADAPTER
: `emAdsAdapterStart()`
`emAdsAdapterStop()`
EXCLUDE_AOE_SUPPORT
: [`emAoeGetSlaveNetId()`](mbx_aoe.html.md#_CPPv418emAoeGetSlaveNetId10EC_T_DWORD10EC_T_DWORDP14EC_T_AOE_NETID)
[`emAoeRead()`](mbx_aoe.html.md#_CPPv49emAoeRead10EC_T_DWORD10EC_T_DWORDP14EC_T_AOE_NETID9EC_T_WORD10EC_T_DWORD10EC_T_DWORD10EC_T_DWORDP9EC_T_BYTEP10EC_T_DWORDP10EC_T_DWORDP10EC_T_DWORD10EC_T_DWORD)
[`emAoeReadReq()`](mbx_aoe.html.md#_CPPv412emAoeReadReq10EC_T_DWORDP12EC_T_MBXTFER10EC_T_DWORDP14EC_T_AOE_NETID9EC_T_WORD10EC_T_DWORD10EC_T_DWORD10EC_T_DWORD)
[`emAoeWrite()`](mbx_aoe.html.md#_CPPv410emAoeWrite10EC_T_DWORD10EC_T_DWORDP14EC_T_AOE_NETID9EC_T_WORD10EC_T_DWORD10EC_T_DWORD10EC_T_DWORDP9EC_T_BYTEP10EC_T_DWORDP10EC_T_DWORD10EC_T_DWORD)
[`emAoeWriteReq()`](mbx_aoe.html.md#_CPPv413emAoeWriteReq10EC_T_DWORDP12EC_T_MBXTFER10EC_T_DWORDP14EC_T_AOE_NETID9EC_T_WORD10EC_T_DWORD10EC_T_DWORD10EC_T_DWORD)
[`emAoeReadWrite()`](mbx_aoe.html.md#_CPPv414emAoeReadWrite10EC_T_DWORD10EC_T_DWORDP14EC_T_AOE_NETID9EC_T_WORD10EC_T_DWORD10EC_T_DWORD10EC_T_DWORD10EC_T_DWORDP9EC_T_BYTEP10EC_T_DWORDP10EC_T_DWORDP10EC_T_DWORD10EC_T_DWORD)
[`emAoeWriteControl()`](mbx_aoe.html.md#_CPPv417emAoeWriteControl10EC_T_DWORD10EC_T_DWORDP14EC_T_AOE_NETID9EC_T_WORD9EC_T_WORD9EC_T_WORD10EC_T_DWORDP9EC_T_BYTEP10EC_T_DWORDP10EC_T_DWORD10EC_T_DWORD)
EXCLUDE_BAD_CONNECTIONS
: [`emBadConnectionsDetect()`](api_diagnosis.html.md#_CPPv422emBadConnectionsDetect10EC_T_DWORD9EC_T_BOOL10EC_T_DWORD)
EXCLUDE_CONFIG_EXTEND
: [`EC_T_CFG_SLAVE_INFO::bExtended`](api_slave_control.html.md#_CPPv4N19EC_T_CFG_SLAVE_INFO9bExtendedE)
[`emConfigExtend()`](api_general_functions.html.md#_CPPv414emConfigExtend10EC_T_DWORD9EC_T_BOOL10EC_T_DWORD)
EXCLUDE_DCX
: DCM DCX mode
EXCLUDE_EEPROM_SUPPORT
: [`emReadSlaveEEPRom()`](api_slave_control.html.md#_CPPv417emReadSlaveEEPRom10EC_T_DWORD9EC_T_BOOL9EC_T_WORD9EC_T_WORDP9EC_T_WORD10EC_T_DWORDP10EC_T_DWORD10EC_T_DWORD)
[`emReadSlaveEEPRomReq()`](api_slave_control.html.md#_CPPv420emReadSlaveEEPRomReq10EC_T_DWORD10EC_T_DWORD10EC_T_DWORD9EC_T_BOOL9EC_T_WORD9EC_T_WORDP9EC_T_WORD10EC_T_DWORDP10EC_T_DWORD10EC_T_DWORD)
[`emWriteSlaveEEPRom()`](api_slave_control.html.md#_CPPv418emWriteSlaveEEPRom10EC_T_DWORD9EC_T_BOOL9EC_T_WORD9EC_T_WORDPK9EC_T_WORD10EC_T_DWORD10EC_T_DWORD)
[`emWriteSlaveEEPRomReq()`](api_slave_control.html.md#_CPPv421emWriteSlaveEEPRomReq10EC_T_DWORD10EC_T_DWORD10EC_T_DWORD9EC_T_BOOL9EC_T_WORD9EC_T_WORDPK9EC_T_WORD10EC_T_DWORD10EC_T_DWORD)
[`emReloadSlaveEEPRom()`](api_slave_control.html.md#_CPPv419emReloadSlaveEEPRom10EC_T_DWORD9EC_T_BOOL9EC_T_WORD10EC_T_DWORD)
[`emReloadSlaveEEPRomReq()`](api_slave_control.html.md#_CPPv422emReloadSlaveEEPRomReq10EC_T_DWORD10EC_T_DWORD10EC_T_DWORD9EC_T_BOOL9EC_T_WORD10EC_T_DWORD)
[`emAssignSlaveEEPRom()`](api_slave_control.html.md#_CPPv419emAssignSlaveEEPRom10EC_T_DWORD9EC_T_BOOL9EC_T_WORD9EC_T_BOOL9EC_T_BOOL10EC_T_DWORD)
[`emAssignSlaveEEPRomReq()`](api_slave_control.html.md#_CPPv422emAssignSlaveEEPRomReq10EC_T_DWORD10EC_T_DWORD10EC_T_DWORD9EC_T_BOOL9EC_T_WORD9EC_T_BOOL9EC_T_BOOL10EC_T_DWORD)
[`emActiveSlaveEEPRom()`](api_slave_control.html.md#_CPPv419emActiveSlaveEEPRom10EC_T_DWORD9EC_T_BOOL9EC_T_WORDP9EC_T_BOOL10EC_T_DWORD)
[`emActiveSlaveEEPRomReq()`](api_slave_control.html.md#_CPPv422emActiveSlaveEEPRomReq10EC_T_DWORD10EC_T_DWORD10EC_T_DWORD9EC_T_BOOL9EC_T_WORDP9EC_T_BOOL10EC_T_DWORD)
EXCLUDE_EOE_DEFFERED_SWITCHING
: [`EC_T_USER_JOB::eUsrJob_SwitchEoeFrames`](api_general_functions.html.md#_CPPv4N13EC_T_USER_JOB23eUsrJob_SwitchEoeFramesE)
EXCLUDE_EOE_ENDPOINT
: `emEoeRegisterEndpoint()`
EXCLUDE_EXECJOB_REENTRANCY_SUPPORT
:
EXCLUDE_FOE_SUPPORT
: [`emFoeFileUpload()`](mbx_foe.html.md#_CPPv415emFoeFileUpload10EC_T_DWORD10EC_T_DWORDPK9EC_T_CHAR10EC_T_DWORDP9EC_T_BYTE10EC_T_DWORDP10EC_T_DWORD10EC_T_DWORD10EC_T_DWORD)
[`emFoeUploadReq()`](mbx_foe.html.md#_CPPv414emFoeUploadReq10EC_T_DWORDP12EC_T_MBXTFER10EC_T_DWORDPK9EC_T_CHAR10EC_T_DWORD10EC_T_DWORD10EC_T_DWORD)
[`emFoeFileDownload()`](mbx_foe.html.md#_CPPv417emFoeFileDownload10EC_T_DWORD10EC_T_DWORDPK9EC_T_CHAR10EC_T_DWORDP9EC_T_BYTE10EC_T_DWORD10EC_T_DWORD10EC_T_DWORD)
[`emFoeDownloadReq()`](mbx_foe.html.md#_CPPv416emFoeDownloadReq10EC_T_DWORDP12EC_T_MBXTFER10EC_T_DWORDPK9EC_T_CHAR10EC_T_DWORD10EC_T_DWORD10EC_T_DWORD)
[`emFoeSegmentedUploadReq()`](mbx_foe.html.md#_CPPv423emFoeSegmentedUploadReq10EC_T_DWORDP12EC_T_MBXTFER10EC_T_DWORDPK9EC_T_CHAR10EC_T_DWORD10EC_T_DWORD10EC_T_DWORD10EC_T_DWORD)
[`emFoeSegmentedDownloadReq()`](mbx_foe.html.md#_CPPv425emFoeSegmentedDownloadReq10EC_T_DWORDP12EC_T_MBXTFER10EC_T_DWORDPK9EC_T_CHAR10EC_T_DWORD10EC_T_DWORD10EC_T_DWORD10EC_T_DWORD)
EXCLUDE_FORCE_PROCESSDATA
: [`emForceProcessDataBits()`](api_process_data.html.md#_CPPv422emForceProcessDataBits10EC_T_DWORD10EC_T_DWORD9EC_T_BOOL10EC_T_DWORD9EC_T_WORDP9EC_T_BYTE10EC_T_DWORD)
[`emReleaseProcessDataBits()`](api_process_data.html.md#_CPPv424emReleaseProcessDataBits10EC_T_DWORD10EC_T_DWORD9EC_T_BOOL10EC_T_DWORD9EC_T_WORD10EC_T_DWORD)
[`emReleaseAllProcessDataBits()`](api_process_data.html.md#_CPPv427emReleaseAllProcessDataBits10EC_T_DWORD10EC_T_DWORD10EC_T_DWORD)
EXCLUDE_FRAME_LOGGING
: [`emLogFrameEnable()`](api_diagnosis.html.md#_CPPv416emLogFrameEnable10EC_T_DWORD18EC_T_PFLOGFRAME_CBP9EC_T_VOID)
EXCLUDE_FRAME_LOSS_SIMULATION
: [emIoCtl - EC_IOCTL_SET_FRAME_LOSS_SIMULATION](api_diagnosis.html.md#emioctl-ec-ioctl-set-frame-loss-simulation)
[emIoCtl - EC_IOCTL_SET_RXFRAME_LOSS_SIMULATION](api_diagnosis.html.md#emioctl-ec-ioctl-set-rxframe-loss-simulation)
[emIoCtl - EC_IOCTL_SET_TXFRAME_LOSS_SIMULATION](api_diagnosis.html.md#emioctl-ec-ioctl-set-txframe-loss-simulation)
EXCLUDE_GEN_OP_ENI
: [`emConfigExtend()`](api_general_functions.html.md#_CPPv414emConfigExtend10EC_T_DWORD9EC_T_BOOL10EC_T_DWORD)
EXCLUDE_INTERFACE_LOCK
: No API protection against InitMaster/DeinitMaster
EXCLUDE_LINE_CROSSED_DETECTION
: No line crossed detection
EXCLUDE_LOG_MESSAGES
: No Log messages generated
EXCLUDE_MAILBOX_STATISTICS
: [`EC_T_MASTER_INFO::MailboxStatistics`](api_diagnosis.html.md#_CPPv4N16EC_T_MASTER_INFO17MailboxStatisticsE)
EXCLUDE_MASTER_OBD
: [`EC_T_MASTER_INFO::BusDiagnosisInfo`](api_diagnosis.html.md#_CPPv4N16EC_T_MASTER_INFO16BusDiagnosisInfoE)
EXCLUDE_MASTERSYNCUNITS
: [`EC_T_CFG_SLAVE_INFO::awMasterSyncUnitIn`](api_slave_control.html.md#_CPPv4N19EC_T_CFG_SLAVE_INFO18awMasterSyncUnitInE)
[`emGetMasterSyncUnitInfoNumOf()`](api_diagnosis.html.md#_CPPv428emGetMasterSyncUnitInfoNumOf10EC_T_DWORD)
[`emGetMasterSyncUnitInfo()`](api_diagnosis.html.md#_CPPv423emGetMasterSyncUnitInfo10EC_T_DWORD9EC_T_WORDP13EC_T_MSU_INFO)
EXCLUDE_MEMORY_PROVIDER
: [emIoCtl - EC_IOCTL_REGISTER_PDMEMORYPROVIDER](api_general_functions.html.md#emioctl-ec-ioctl-register-pdmemoryprovider)
EXCLUDE_MULTIPLE_CYC_ENTRIES
: [emIoCtl - EC_IOCTL_GET_CYCLIC_CONFIG_INFO](api_general_functions.html.md#emioctl-ec-ioctl-get-cyclic-config-info)
[`EC_T_USER_JOB::eUsrJob_ProcessRxFramesByTaskId`](api_general_functions.html.md#_CPPv4N13EC_T_USER_JOB31eUsrJob_ProcessRxFramesByTaskIdE)
[`EC_T_USER_JOB::eUsrJob_SendCycFramesByTaskId`](api_general_functions.html.md#_CPPv4N13EC_T_USER_JOB29eUsrJob_SendCycFramesByTaskIdE)
EXCLUDE_PORT_OPERATION
: `emBlockNode()`
`emOpenBlockedPorts()`
[`emSetSlavePortState()`](api_slave_control.html.md#_CPPv419emSetSlavePortState10EC_T_DWORD10EC_T_DWORD9EC_T_WORD9EC_T_BOOL9EC_T_BOOL10EC_T_DWORD)
EXCLUDE_RAWMBX_SUPPORT
: [`emClntSendRawMbx()`](mbx_raw.html.md#_CPPv416emClntSendRawMbx10EC_T_DWORD10EC_T_DWORDP9EC_T_BYTE10EC_T_DWORD10EC_T_DWORD)
EXCLUDE_RED_DEVICE
: [`EC_T_MASTER_INFO::RedundancyDiagnosisInfo`](api_diagnosis.html.md#_CPPv4N16EC_T_MASTER_INFO23RedundancyDiagnosisInfoE)
EXCLUDE_RESCUE_SCAN
: [`emRescueScan()`](api_general_functions.html.md#_CPPv412emRescueScan10EC_T_DWORD10EC_T_DWORD)
EXCLUDE_S2SMBX_SUPPORT
: [`EC_T_INIT_MASTER_PARMS::dwMaxS2SMbxSize`](api_general_functions.html.md#_CPPv4N22EC_T_INIT_MASTER_PARMS15dwMaxS2SMbxSizeE)
[`EC_T_INIT_MASTER_PARMS::dwMaxQueuedS2SMbxTfer`](api_general_functions.html.md#_CPPv4N22EC_T_INIT_MASTER_PARMS21dwMaxQueuedS2SMbxTferE)
EXCLUDE_SLAVE_HANDLING
: [`EC_T_CFG_SLAVE_INFO::bDisabled`](api_slave_control.html.md#_CPPv4N19EC_T_CFG_SLAVE_INFO9bDisabledE)
[`EC_T_CFG_SLAVE_INFO::bDisconnected`](api_slave_control.html.md#_CPPv4N19EC_T_CFG_SLAVE_INFO13bDisconnectedE)
[`emSetSlaveDisabled()`](api_slave_control.html.md#_CPPv418emSetSlaveDisabled10EC_T_DWORD9EC_T_BOOL9EC_T_WORD9EC_T_BOOL)
`emSetSlavesDisabled()`
[`emSetSlaveDisconnected()`](api_slave_control.html.md#_CPPv422emSetSlaveDisconnected10EC_T_DWORD9EC_T_BOOL9EC_T_WORD9EC_T_BOOL)
[`emSetSlavesDisconnected()`](api_slave_control.html.md#_CPPv423emSetSlavesDisconnected10EC_T_DWORD9EC_T_BOOL9EC_T_WORD20EC_T_SLAVE_SELECTION9EC_T_BOOL)
EXCLUDE_SLAVE_IDENTIFICATION
: `/EtherCATConfig/Config/Slave/Info/Identification`
[`EC_T_CFG_SLAVE_INFO::wIdentifyAdo`](api_slave_control.html.md#_CPPv4N19EC_T_CFG_SLAVE_INFO12wIdentifyAdoE)
[`emReadSlaveIdentification()`](api_slave_control.html.md#_CPPv425emReadSlaveIdentification10EC_T_DWORD9EC_T_BOOL9EC_T_WORD9EC_T_WORDP9EC_T_WORD10EC_T_DWORD)
EXCLUDE_SLAVE_STATISTICS
: [`emGetSlaveStatistics()`](api_diagnosis.html.md#_CPPv420emGetSlaveStatistics10EC_T_DWORD10EC_T_DWORDP23EC_T_SLVSTATISTICS_DESC)
[`emClearSlaveStatistics()`](api_diagnosis.html.md#_CPPv422emClearSlaveStatistics10EC_T_DWORD10EC_T_DWORD)
EXCLUDE_SOE_SUPPORT
: [`emSoeRead()`](mbx_soe.html.md#_CPPv49emSoeRead10EC_T_DWORD10EC_T_DWORD9EC_T_BYTEP9EC_T_BYTE9EC_T_WORDP9EC_T_BYTE10EC_T_DWORDP10EC_T_DWORD10EC_T_DWORD)
[`emSoeReadReq()`](mbx_soe.html.md#_CPPv412emSoeReadReq10EC_T_DWORDP12EC_T_MBXTFER10EC_T_DWORD9EC_T_BYTEP9EC_T_BYTE9EC_T_WORD10EC_T_DWORD)
[`emSoeWrite()`](mbx_soe.html.md#_CPPv410emSoeWrite10EC_T_DWORD10EC_T_DWORD9EC_T_BYTEP9EC_T_BYTE9EC_T_WORDPK9EC_T_BYTE10EC_T_DWORD10EC_T_DWORD)
[`emSoeWriteReq()`](mbx_soe.html.md#_CPPv413emSoeWriteReq10EC_T_DWORDP12EC_T_MBXTFER10EC_T_DWORD9EC_T_BYTEP9EC_T_BYTE9EC_T_WORD10EC_T_DWORD)
[`emSoeAbortProcCmd()`](mbx_soe.html.md#_CPPv417emSoeAbortProcCmd10EC_T_DWORD10EC_T_DWORD9EC_T_BYTEP9EC_T_BYTE9EC_T_WORD10EC_T_DWORD)
EXCLUDE_SPLITTED_FRAME_PROCESSING
: EC_IOCTL_SET_SPLITTED_FRAME_PROCESSING_ENABLED
[`EC_T_USER_JOB::eUsrJob_ProcessRxFramesByTaskId`](api_general_functions.html.md#_CPPv4N13EC_T_USER_JOB31eUsrJob_ProcessRxFramesByTaskIdE)
EXCLUDE_TEXT
: [`ecatGetText()`](api_diagnosis.html.md#_CPPv411ecatGetText10EC_T_DWORD)
`ecatGetNotifyText()`
EXCLUDE_TRACE_DATA
:
EXCLUDE_TRACE_DATA_VARINFO
: [`emTraceDataConfig()`](api_process_data.html.md#_CPPv417emTraceDataConfig10EC_T_DWORD9EC_T_WORD)
[`emTraceDataGetInfo()`](api_process_data.html.md#_CPPv418emTraceDataGetInfo10EC_T_DWORDP20EC_T_TRACE_DATA_INFO)
EXCLUDE_VARREAD
: [`EC_T_CFG_SLAVE_INFO::wNumProcessVarsInp`](api_slave_control.html.md#_CPPv4N19EC_T_CFG_SLAVE_INFO18wNumProcessVarsInpE)
[`EC_T_CFG_SLAVE_INFO::wNumProcessVarsOutp`](api_slave_control.html.md#_CPPv4N19EC_T_CFG_SLAVE_INFO19wNumProcessVarsOutpE)
[`emGetSlaveInpVarInfoNumOf()`](api_process_data.html.md#_CPPv425emGetSlaveInpVarInfoNumOf10EC_T_DWORD9EC_T_BOOL9EC_T_WORDP9EC_T_WORD)
[`emGetSlaveOutpVarInfoNumOf()`](api_process_data.html.md#_CPPv426emGetSlaveOutpVarInfoNumOf10EC_T_DWORD9EC_T_BOOL9EC_T_WORDP9EC_T_WORD)
[`emGetSlaveInpVarInfo()`](api_process_data.html.md#_CPPv420emGetSlaveInpVarInfo10EC_T_DWORD9EC_T_BOOL9EC_T_WORD9EC_T_WORDP21EC_T_PROCESS_VAR_INFOP9EC_T_WORD)
[`emGetSlaveInpVarInfoEx()`](api_process_data.html.md#_CPPv422emGetSlaveInpVarInfoEx10EC_T_DWORD9EC_T_BOOL9EC_T_WORD9EC_T_WORDP24EC_T_PROCESS_VAR_INFO_EXP9EC_T_WORD)
[`emGetSlaveOutpVarInfo()`](api_process_data.html.md#_CPPv421emGetSlaveOutpVarInfo10EC_T_DWORD9EC_T_BOOL9EC_T_WORD9EC_T_WORDP21EC_T_PROCESS_VAR_INFOP9EC_T_WORD)
[`emGetSlaveOutpVarInfoEx()`](api_process_data.html.md#_CPPv423emGetSlaveOutpVarInfoEx10EC_T_DWORD9EC_T_BOOL9EC_T_WORD9EC_T_WORDP24EC_T_PROCESS_VAR_INFO_EXP9EC_T_WORD)
[`emGetSlaveOutpVarByObjectEx()`](api_process_data.html.md#_CPPv427emGetSlaveOutpVarByObjectEx10EC_T_DWORD9EC_T_BOOL9EC_T_WORD9EC_T_WORD9EC_T_WORDP24EC_T_PROCESS_VAR_INFO_EX)
[`emGetSlaveInpVarByObjectEx()`](api_process_data.html.md#_CPPv426emGetSlaveInpVarByObjectEx10EC_T_DWORD9EC_T_BOOL9EC_T_WORD9EC_T_WORD9EC_T_WORDP24EC_T_PROCESS_VAR_INFO_EX)
[`emFindOutpVarByName()`](api_process_data.html.md#_CPPv419emFindOutpVarByName10EC_T_DWORDPK9EC_T_CHARP21EC_T_PROCESS_VAR_INFO)
[`emFindOutpVarByNameEx()`](api_process_data.html.md#_CPPv421emFindOutpVarByNameEx10EC_T_DWORDPK9EC_T_CHARP24EC_T_PROCESS_VAR_INFO_EX)
[`emFindInpVarByName()`](api_process_data.html.md#_CPPv418emFindInpVarByName10EC_T_DWORDPK9EC_T_CHARP21EC_T_PROCESS_VAR_INFO)
[`emFindInpVarByNameEx()`](api_process_data.html.md#_CPPv420emFindInpVarByNameEx10EC_T_DWORDPK9EC_T_CHARP24EC_T_PROCESS_VAR_INFO_EX)
EXCLUDE_VOE_SUPPORT
: [`emVoeRead()`](mbx_voe.html.md#_CPPv49emVoeRead10EC_T_DWORD10EC_T_DWORDP9EC_T_BYTE10EC_T_DWORDP10EC_T_DWORD10EC_T_DWORD)
[`emVoeWrite()`](mbx_voe.html.md#_CPPv410emVoeWrite10EC_T_DWORD10EC_T_DWORDP9EC_T_BYTE10EC_T_DWORD10EC_T_DWORD)
[`emVoeWriteReq()`](mbx_voe.html.md#_CPPv413emVoeWriteReq10EC_T_DWORDP12EC_T_MBXTFER10EC_T_DWORD10EC_T_DWORD)
EXCLUDE_WKCSTATE
: [`EC_T_CFG_SLAVE_INFO::wWkcStateDiagOffsIn`](api_slave_control.html.md#_CPPv4N19EC_T_CFG_SLAVE_INFO19wWkcStateDiagOffsInE)
[`EC_T_CFG_SLAVE_INFO::wWkcStateDiagOffsOut`](api_slave_control.html.md#_CPPv4N19EC_T_CFG_SLAVE_INFO20wWkcStateDiagOffsOutE)
[`emGetDiagnosisImagePtr()`](api_process_data.html.md#_CPPv422emGetDiagnosisImagePtr10EC_T_DWORD)