| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889 | package eval.luv;import eval.integers.Int64;/**	File descriptor redirections for use with `eval.luv.Process.spawn`**/@:coreType abstract Redirection {}/**	Options for spawning the process.**/typedef ProcessOptions = {	var ?onExit:(p:Process, exitStatus:Int64, termSignal:Int)->Void;	var ?environment:Map<String,NativeString>;	var ?workingDirectory:NativeString;	var ?redirect:Array<Redirection>;	var ?uid:Int;	var ?gid:Int;	var ?windowsVerbatimArguments:Bool;	var ?detached:Bool;	var ?windowsHide:Bool;	var ?windowsHideConsole:Bool;	var ?windowsHideGui:Bool;}/**	Subprocesses.	@see https://aantron.github.io/luv/luv/Luv/Process**/@:using(eval.luv.Handle)@:coreType abstract Process to Handle {	extern static public final stdin:Int;	extern static public final stdout:Int;	extern static public final stderr:Int;	/**		Causes `fd` in the child to be connected to `toParentPipe` in the parent.		Binds `UV_CREATE_PIPE`.		`readableInChild` sets `UV_READABLE_PIPE`, and `writableInChild` sets `UV_WRITABLE_PIPE`.		`overlapped` sets `UV_OVERLAPPED_PIPE`.	**/	static public function toParentPipe(fd:Int, parentPipe:Pipe, readableInChild:Bool, writableInChild:Bool, overlapped:Bool):Redirection;	/**		Causes `fd` in the child to be connected to the same device or peer as `fromParentFd` in the parent.		Binds `UV_INHERIT_FD`	**/	static public function inheritFd(fd:Int, fromParentFd:Int):Redirection;	/**		Same as `eval.luv.Process.inheritFd`, but takes an `eval.luv.Stream` for the parent file descriptor.		Binds `UV_INHERIT_STREAM`.	**/	static public function inheritStream(fd:Int, fromParentStream:Stream):Redirection;	/**		Starts a process.		The handle should be cleaned up with `eval.luv.Handle.close` when no longer needed.	**/	static public function spawn(loop:Loop, cmd:NativeString, args:Array<NativeString>, ?options:ProcessOptions):Result<Process>;	/**		Disables (tries) file descriptor inheritance for inherited descriptors.	**/	static public function disableStdioInheritance():Void;	/**		Sends the given signal to the process with the given pid.	**/	static public function killPid(pid:Int, sigNum:Signal.SigNum):Result<Result.NoData>;	/**		Sends the given signal to the process.	**/	public function kill(sigNum:Signal.SigNum):Result<Result.NoData>;	/**		Evaluates to the pid of the process.	**/	public function pid():Int;}
 |