1 //===-- DarwinProcessLauncher.h ---------------------------------*- C++ -*-===// 2 // 3 // The LLVM Compiler Infrastructure 4 // 5 // This file is distributed under the University of Illinois Open Source 6 // License. See LICENSE.TXT for details. 7 // 8 //===----------------------------------------------------------------------===// 9 10 #ifndef DarwinProcessLauncher_h 11 #define DarwinProcessLauncher_h 12 13 // C headers 14 #include <mach/machine.h> 15 #include <sys/types.h> 16 17 // C++ headers 18 #include <functional> 19 20 // LLDB headers 21 #include "lldb/lldb-enumerations.h" 22 #include "lldb/lldb-forward.h" 23 24 #include "LaunchFlavor.h" 25 26 namespace lldb_private { 27 namespace darwin_process_launcher { 28 // ============================================================================= 29 /// Launches a process for debugging. 30 /// 31 /// @param[inout] launch_info 32 /// Specifies details about the process to launch (e.g. path, architecture, 33 /// etc.). On output, includes the launched ProcessID (pid). 34 /// 35 /// @param[out] pty_master_fd 36 /// Returns the master side of the pseudo-terminal used to communicate 37 /// with stdin/stdout from the launched process. May be nullptr. 38 /// 39 /// @param[out] launch_flavor 40 /// Contains the launch flavor used when launching the process. 41 // ============================================================================= 42 Status 43 LaunchInferior(ProcessLaunchInfo &launch_info, int *pty_master_fd, 44 lldb_private::process_darwin::LaunchFlavor *launch_flavor); 45 46 } // darwin_process_launcher 47 } // lldb_private 48 49 #endif /* DarwinProcessLauncher_h */ 50