Signal direction in function

In reply to verif_learner:
An argument can have only one direction: input, output, inout, or ref. If you don’t specify a direction for the first argument, it is implicitly ‘input’. The implicit directions for the arguments that follow use the previous arguments direction.

inputs are copied by value upon entry to the task/function. outputs are copied on return. inout are copied on entry and return. ref arguments are never copied. They are direct references to the actual argument variable.