[environment] module lib$spawn;

[asynchronous,external(lib$spawn)] function lib$spawn (
	command_string : [class_s] packed array [$l1..$u1:integer] of char := %immed 0;
	input_file : [class_s] packed array [$l2..$u2:integer] of char := %immed 0;
	output_file : [class_s] packed array [$l3..$u3:integer] of char := %immed 0;
	flags : unsigned := %immed 0;
	process_name : [class_s] packed array [$l5..$u5:integer] of char := %immed 0;
	var process_id : [volatile] unsigned := %immed 0;
	var completion_status : [volatile] unsigned := %immed 0;
	completion_efn : unsigned := %immed 0;
	%immed [unbound, asynchronous] procedure completion_astadr := %immed 0;
	%immed completion_astarg : unsigned := %immed 0;
	prompt : [class_s] packed array [$l11..$u11:integer] of char := %immed 0;
	cli : [class_s] packed array [$l12..$u12:integer] of char := %immed 0
	) : integer; external;

end.
