Marshall
void (*MarshallCall) (void);
void
int marshall_call (Variable *res, MarshallCall call, size_t args_cnt, ...);
Variable *res
MarshallCall call
size_t args_cnt
...
int marshall_callp (Variable *res, MarshallCall call, size_t args_cnt, Variable **args);
Variable **args
int marshall_callv (Variable *res, MarshallCall call, size_t args_cnt, va_list ap);
va_list ap