Browse Source

lib_test - functions for ret/arg type CS containig array of structs

master
heck 4 years ago
parent
commit
3f291e313f
  1. 15
      examples/lib/lib_test/functions.h
  2. 29
      examples/lib/lib_test/lib_test.c
  3. 8
      examples/lib/lib_test/main.c

15
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);

29
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
// =========

8
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);
}
}

Loading…
Cancel
Save