Das ist zugegeben ein Problem, da insbesonders Strings in Strukturen nicht unbedingt in fester Länge sondern als Pointer verwendet werden.

Hierzu benötigst du die Definition des Types "xsdc__string".

Ist das ein Pointer?
Ist das ein char[nn] mit fester Länge?

"xsdc__long*" ist wohl ein Pointer auf eine Longinteger-Variable.
In COBOL ist das dann auch ein Zeiger, der auf die Adresse eines Pic S9(9) comp-4 verweisen muss.

Genauso siehts auch mit allen anderen Feldinhalten aus, die wiederum auf Strukturen und oder Pointer verweisen.

Wenn du die Typen nicht kennst, ist es ein Problem die Struktur genau passend aufzubauen.

Bei Pointern ist noch das Problem, dass diese in AS/400 16-Byte haben.
Ist die C-Lib allerdings mit Tera-Space aktiviert (umgewandlet) sind die Pointer nur 8-Byte (64-Bit) und du benötigst Tera-Space-API's zum allocieren/deallocieren von Speicher.