(define dos_parameterdefinition_create (foreign-primitive scheme-object ((c-string name) (int metaType)) "char* pdname = (char*) C_alloc(strlen(name));" "memcpy(&pdname, name, strlen(name));" "struct ParameterDefinition pd = {.name = pdname, .metaType = metaType};" "char pdc[sizeof(pd)];" "memcpy(pdc, &pd, sizeof(pdc));" "C_word* ptr = C_alloc(C_SIZEOF_STRING(sizeof(pdc)));" "C_return(C_bytevector(&ptr,C_SIZEOF_STRING(sizeof(pdc)),pdc));")) (define dos_parameterdefinition_name (foreign-lambda* c-string ((blob sobj)) "C_return(((struct ParameterDefinition*)sobj)->name);"))