    

 ## On this page

  

 

 # syscCouplingInterface

 Last update: 17.07.2025 

<a id="l00001" name="l00001"></a> 1/\*

<a id="l00002" name="l00002"></a> 2\* Copyright ANSYS, Inc. Unauthorized use, distribution, or duplication is prohibited.

<a id="l00003" name="l00003"></a> 3\*/

<a id="l00004" name="l00004"></a> 4 

<a id="l00005" name="l00005"></a> 5\#pragma once

<a id="l00006" name="l00006"></a> 6 

<a id="l00007" name="l00007"></a> 7\#include "SystemCouplingParticipant/LibraryType.hpp"

<a id="l00008" name="l00008"></a> 8 

<a id="l00009" name="l00009"></a> 9\#include "SystemCouplingParticipant/syscCommonTypes.h"

<a id="l00010" name="l00010"></a> 10\#include "SystemCouplingParticipant/syscDataTransfer.h"

<a id="l00011" name="l00011"></a> 11\#include "SystemCouplingParticipant/syscRegion.h"

<a id="l00012" name="l00012"></a> 12 

<a id="l00013" name="l00013"></a> 13\#include &lt;stddef.h&gt;

<a id="l00014" name="l00014"></a> 14 

<a id="l00015" name="l00015"></a> 15\#ifdef \_\_cplusplus

<a id="l00016" name="l00016"></a> 16extern "C" {

<a id="l00017" name="l00017"></a> 17\#endif

<a id="l00018" name="l00018"></a> 18 

<a id="l00045" name="l00045"></a>[ 45](structSyscCouplingInterface.xhtml)typedef struct [SyscCouplingInterface](structSyscCouplingInterface.xhtml) {

<a id="l00046" name="l00046"></a>[ 46](structSyscCouplingInterface.xhtml#a9e710b35f442c7e5e95c64b45df2ff24) char [name](structSyscCouplingInterface.xhtml#a9e710b35f442c7e5e95c64b45df2ff24)[[SYSC\_STRING\_LENGTH](group__SyscParticipantLibraryCAPI.xhtml#gab4cd55b5b37dd76c5755020302086b15)]; 

<a id="l00047" name="l00047"></a>[ 47](group__SyscParticipantLibraryCAPI.xhtml#ga828a191dd9fffcb117c398848b9ad10b)} [SyscCouplingInterface](structSyscCouplingInterface.xhtml);



<a id="l00048" name="l00048"></a> 48 

<a id="l00057" name="l00057"></a>[ 57](group__SyscParticipantLibraryCAPI.xhtml#gae356c9cb4c0dd69f5e1ea9eef6a7c63b)[SyscCouplingInterface](structSyscCouplingInterface.xhtml) [syscGetCouplingInterface](group__SyscParticipantLibraryCAPI.xhtml#gae356c9cb4c0dd69f5e1ea9eef6a7c63b)(const char* name);

<a id="l00058" name="l00058"></a> 58 

<a id="l00080" name="l00080"></a>[ 80](group__SyscParticipantLibraryCAPI.xhtml#gaa8401af709fa7638f76f168aa05784a3)[SyscError](structSyscError.xhtml) [syscAddSideOneRegion](group__SyscParticipantLibraryCAPI.xhtml#gaa8401af709fa7638f76f168aa05784a3)(

<a id="l00081" name="l00081"></a> 81 const [SyscCouplingInterface](structSyscCouplingInterface.xhtml) couplingInterface,

<a id="l00082" name="l00082"></a> 82 const [SyscRegion](structSyscRegion.xhtml) region);

<a id="l00083" name="l00083"></a> 83 

<a id="l00105" name="l00105"></a>[ 105](group__SyscParticipantLibraryCAPI.xhtml#ga3bbbec8ccb73b5da2997d2cdcd7abb6b)[SyscError](structSyscError.xhtml) [syscAddSideTwoRegion](group__SyscParticipantLibraryCAPI.xhtml#ga3bbbec8ccb73b5da2997d2cdcd7abb6b)(

<a id="l00106" name="l00106"></a> 106 const [SyscCouplingInterface](structSyscCouplingInterface.xhtml) couplingInterface,

<a id="l00107" name="l00107"></a> 107 const [SyscRegion](structSyscRegion.xhtml) region);

<a id="l00108" name="l00108"></a> 108 

<a id="l00111" name="l00111"></a>[ 111](group__SyscParticipantLibraryCAPI.xhtml#gaec7e1373da295e5fb0c7ecfc52409888)[SyscError](structSyscError.xhtml) [syscAddDataTransfer](group__SyscParticipantLibraryCAPI.xhtml#gaec7e1373da295e5fb0c7ecfc52409888)(

<a id="l00112" name="l00112"></a> 112 [SyscCouplingInterface](structSyscCouplingInterface.xhtml) couplingInterface,

<a id="l00113" name="l00113"></a> 113 [SyscDataTransfer](structSyscDataTransfer.xhtml) dataTransfer);

<a id="l00114" name="l00114"></a> 114 

<a id="l00117" name="l00117"></a>[ 117](group__SyscParticipantLibraryCAPI.xhtml#gade11af63d2e79ab75e7db7919998e6b5)size\_t [syscCouplingInterfaceGetNumDataTransfers](group__SyscParticipantLibraryCAPI.xhtml#gade11af63d2e79ab75e7db7919998e6b5)(

<a id="l00118" name="l00118"></a> 118 [SyscCouplingInterface](structSyscCouplingInterface.xhtml) couplingInterface);

<a id="l00119" name="l00119"></a> 119 

<a id="l00122" name="l00122"></a>[ 122](group__SyscParticipantLibraryCAPI.xhtml#ga13eed5fd3144989e2f7dc2265f6a199e)size\_t [syscCouplingInterfaceGetNumSideOneRegions](group__SyscParticipantLibraryCAPI.xhtml#ga13eed5fd3144989e2f7dc2265f6a199e)(

<a id="l00123" name="l00123"></a> 123 [SyscCouplingInterface](structSyscCouplingInterface.xhtml) couplingInterface);

<a id="l00124" name="l00124"></a> 124 

<a id="l00127" name="l00127"></a>[ 127](group__SyscParticipantLibraryCAPI.xhtml#gaf2e509aada51179b4ddab8d343f5e392)size\_t [syscCouplingInterfaceGetNumSideTwoRegions](group__SyscParticipantLibraryCAPI.xhtml#gaf2e509aada51179b4ddab8d343f5e392)(

<a id="l00128" name="l00128"></a> 128 [SyscCouplingInterface](structSyscCouplingInterface.xhtml) couplingInterface);

<a id="l00129" name="l00129"></a> 129 

<a id="l00133" name="l00133"></a>[ 133](group__SyscParticipantLibraryCAPI.xhtml#ga40ed5be0892f1d14a520221f8b439a45)[SyscDataTransfer](structSyscDataTransfer.xhtml) [syscCouplingInterfaceGetDataTransfer](group__SyscParticipantLibraryCAPI.xhtml#ga40ed5be0892f1d14a520221f8b439a45)(

<a id="l00134" name="l00134"></a> 134 [SyscCouplingInterface](structSyscCouplingInterface.xhtml) couplingInterface,

<a id="l00135" name="l00135"></a> 135 size\_t index);

<a id="l00136" name="l00136"></a> 136 

<a id="l00140" name="l00140"></a>[ 140](group__SyscParticipantLibraryCAPI.xhtml#ga7ab5c93d920b15c8d2e7ba6baddddb28)[SyscRegion](structSyscRegion.xhtml) [syscCouplingInterfaceGetSideOneRegion](group__SyscParticipantLibraryCAPI.xhtml#ga7ab5c93d920b15c8d2e7ba6baddddb28)(

<a id="l00141" name="l00141"></a> 141 [SyscCouplingInterface](structSyscCouplingInterface.xhtml) couplingInterface,

<a id="l00142" name="l00142"></a> 142 size\_t index);

<a id="l00143" name="l00143"></a> 143 

<a id="l00147" name="l00147"></a>[ 147](group__SyscParticipantLibraryCAPI.xhtml#ga1747f6ce3729ff459e26175ded7059f0)[SyscRegion](structSyscRegion.xhtml) [syscCouplingInterfaceGetSideTwoRegion](group__SyscParticipantLibraryCAPI.xhtml#ga1747f6ce3729ff459e26175ded7059f0)(

<a id="l00148" name="l00148"></a> 148 [SyscCouplingInterface](structSyscCouplingInterface.xhtml) couplingInterface,

<a id="l00149" name="l00149"></a> 149 size\_t index);

<a id="l00150" name="l00150"></a> 150 

<a id="l00153" name="l00153"></a> 153\#ifdef \_\_cplusplus

<a id="l00154" name="l00154"></a> 154}

<a id="l00155" name="l00155"></a> 155\#endif

[syscCouplingInterfaceGetNumSideOneRegions](group__SyscParticipantLibraryCAPI.xhtml#ga13eed5fd3144989e2f7dc2265f6a199e)

size_t syscCouplingInterfaceGetNumSideOneRegions(SyscCouplingInterface couplingInterface)

Get number of side one regions for a given coupling interface.



[syscCouplingInterfaceGetSideTwoRegion](group__SyscParticipantLibraryCAPI.xhtml#ga1747f6ce3729ff459e26175ded7059f0)

SyscRegion syscCouplingInterfaceGetSideTwoRegion(SyscCouplingInterface couplingInterface, size_t index)

Get the side two region at specified index for a given coupling interface.



[syscAddSideTwoRegion](group__SyscParticipantLibraryCAPI.xhtml#ga3bbbec8ccb73b5da2997d2cdcd7abb6b)

SyscError syscAddSideTwoRegion(const SyscCouplingInterface couplingInterface, const SyscRegion region)

Add region to side two of the interface.



[syscCouplingInterfaceGetDataTransfer](group__SyscParticipantLibraryCAPI.xhtml#ga40ed5be0892f1d14a520221f8b439a45)

SyscDataTransfer syscCouplingInterfaceGetDataTransfer(SyscCouplingInterface couplingInterface, size_t index)

Get the data transfer at specified index for a given coupling interface.



[syscCouplingInterfaceGetSideOneRegion](group__SyscParticipantLibraryCAPI.xhtml#ga7ab5c93d920b15c8d2e7ba6baddddb28)

SyscRegion syscCouplingInterfaceGetSideOneRegion(SyscCouplingInterface couplingInterface, size_t index)

Get the side one region at specified index for a given coupling interface.



[syscAddSideOneRegion](group__SyscParticipantLibraryCAPI.xhtml#gaa8401af709fa7638f76f168aa05784a3)

SyscError syscAddSideOneRegion(const SyscCouplingInterface couplingInterface, const SyscRegion region)

Add region to side one of the interface.



[SYSC\_STRING\_LENGTH](group__SyscParticipantLibraryCAPI.xhtml#gab4cd55b5b37dd76c5755020302086b15)

\#define SYSC_STRING_LENGTH

Define maximum string length.

**Definition** [syscCommonTypes.h:23](syscCommonTypes_8h_source.xhtml#l00023)



[syscCouplingInterfaceGetNumDataTransfers](group__SyscParticipantLibraryCAPI.xhtml#gade11af63d2e79ab75e7db7919998e6b5)

size_t syscCouplingInterfaceGetNumDataTransfers(SyscCouplingInterface couplingInterface)

Get number of data transfer for a given coupling interface.



[syscGetCouplingInterface](group__SyscParticipantLibraryCAPI.xhtml#gae356c9cb4c0dd69f5e1ea9eef6a7c63b)

SyscCouplingInterface syscGetCouplingInterface(const char *name)

Create a coupling interface.



[syscAddDataTransfer](group__SyscParticipantLibraryCAPI.xhtml#gaec7e1373da295e5fb0c7ecfc52409888)

SyscError syscAddDataTransfer(SyscCouplingInterface couplingInterface, SyscDataTransfer dataTransfer)

Add the data transfer to the coupling interface.



[syscCouplingInterfaceGetNumSideTwoRegions](group__SyscParticipantLibraryCAPI.xhtml#gaf2e509aada51179b4ddab8d343f5e392)

size_t syscCouplingInterfaceGetNumSideTwoRegions(SyscCouplingInterface couplingInterface)

Get number of side two regions for a given coupling interface.



[SyscCouplingInterface](structSyscCouplingInterface.xhtml)

Provide a struct for a coupling interface.

**Definition** [syscCouplingInterface.h:45](syscCouplingInterface_8h_source.xhtml#l00045)



[SyscCouplingInterface::name](structSyscCouplingInterface.xhtml#a9e710b35f442c7e5e95c64b45df2ff24)

char name[SYSC_STRING_LENGTH]

**Definition** [syscCouplingInterface.h:46](syscCouplingInterface_8h_source.xhtml#l00046)



[SyscDataTransfer](structSyscDataTransfer.xhtml)

Provide a struct for a data transfer.

**Definition** [syscDataTransfer.h:29](syscDataTransfer_8h_source.xhtml#l00029)



[SyscError](structSyscError.xhtml)

Provide a struct for detecting errors from the interface calls.

**Definition** [syscCommonTypes.h:131](syscCommonTypes_8h_source.xhtml#l00131)



[SyscRegion](structSyscRegion.xhtml)

Provide a struct for a System Coupling region.

**Definition** [syscRegion.h:42](syscRegion_8h_source.xhtml#l00042)