generic system function calling convention