diff --git a/examples/lib/lib_test/functions.h b/examples/lib/lib_test/functions.h index 2ed9c56..474bbc4 100644 --- a/examples/lib/lib_test/functions.h +++ b/examples/lib/lib_test/functions.h @@ -90,6 +90,7 @@ TAPS*** func_pppTAPS_args_pppTAPS(TAPS*** arg1_pppTAPS); // PSa - Primitive Structs containing array +// PSa contains a char[4] (which is a string) // By value TTAPSa func_TTAPSa_args_V(); @@ -102,6 +103,20 @@ TTAPSa** func_ppTTAPSa_args_ppTTAPSa(TTAPSa** arg1_ppTTAPSa); TTAPSa*** func_pppTTAPSa_args_pppTTAPSa(TTAPSa*** arg1_pppTTAPSa); +// CS - Complex Structs containing array +// CS contains a PS[3] (which is an array of structs) +// By value +TACS func_TACS_args_V(); + +TACS func_TACS_args_TACS(TACS arg1_TACS); + +// By pointer +void func_V_args_pTACS(TACS* arg1_pTACS); + +TACS** func_ppTACS_args_ppTACS(TACS** arg1_ppTACS); + +TACS*** func_pppTACS_args_pppTACS(TACS*** arg1_pppTACS); + diff --git a/examples/lib/lib_test/lib_test.c b/examples/lib/lib_test/lib_test.c index 8510af3..1ca2345 100644 --- a/examples/lib/lib_test/lib_test.c +++ b/examples/lib/lib_test/lib_test.c @@ -249,6 +249,35 @@ TTAPSa*** func_pppTTAPSa_args_pppTTAPSa(TTAPSa*** arg1_pppTTAPSa) { return arg1_pppTTAPSa; } +// CS - Complex Structs containing array +// CS contains a PS[3] (which is an array of structs) +// By value +TACS func_TACS_args_V() { + TACS ret; + ret.field__PS_1.field__P_1 = 23; + ret.field__PS_1.field__P_2 = 23; + ret.field_APS_1[0].field__P_1 = 23; + ret.field_APS_1[0].field__P_2 = 23; + return ret; +} + +TACS func_TACS_args_TACS(TACS arg1_TACS) { + +} + +// By pointer +void func_V_args_pTACS(TACS* arg1_pTACS) { + +} + +TACS** func_ppTACS_args_ppTACS(TACS** arg1_ppTACS) { + +} + +TACS*** func_pppTACS_args_pppTACS(TACS*** arg1_pppTACS) { + +} + // Variables // ========= diff --git a/examples/lib/lib_test/main.c b/examples/lib/lib_test/main.c index 4cab776..731f629 100644 --- a/examples/lib/lib_test/main.c +++ b/examples/lib/lib_test/main.c @@ -262,5 +262,13 @@ int main() { assert(inout->field__P_1 == 23); assert(!strcmp(inout->field__Pa_1, "pEp")); } + { + printf("testing: func_TACS_args_V\n"); + TACS ret = func_TACS_args_V(); + assert(ret.field__PS_1.field__P_1 = 23); + assert(ret.field__PS_1.field__P_2 = 23); + assert(ret.field_APS_1[0].field__P_1 = 23); + assert(ret.field_APS_1[0].field__P_2 = 23); + } }