void_unit3 - create a void unit and return pointer
primitive_unit2 - create a primitive unit and return pointer
void_unit2(iNumInp,pcInp1,...,iNumOut,pcOut1,...,uHost) void_unit3(iNumInp,apcInp,iNumOut,apcOut,uHost) primitive_unit2(iNumInp,pcInp1,...,iNumOut,pcOut1,...,uHost) primitive_unit3(iNumInp,apcInp,iNumOut,apcOut,uHost)
apcInp[f] = "s10s5f1000f20t100"builds an input field f with 15 scalar pins ( "s10s5" is the same as "s15", this concatenation occurs only for scalar pins, since here each pin always has a single element so that the number specifies the nr of such pins), one float vector pin with 1000 elements, one float vector pin with 20 elements, and one text pin for which ini- tially 100 bytes are allocated. The sequence
{ char *apcInp[]={"c100t10i3","f5"}; char *apcOut[]={"s7f7"}; u = void_unit3(2,apcInp,1,apcOut,uHost); }would create a void_unit u with two input fields and one output field. The first input field has a vector pin of 100 bytes, a text string pin for initially 10 chars and an int vector pin of 3 elements. The second input field has a single float vector pin of 5 elements (and is, therefore, equivalent to a packed field of 5 elements in earlier NST-Versions). The output field has 7 scalar float pins (the only pin type available in earlier NST versions) plus an additional float vector pin, again of 7 elements.