Android-cuttlefish cvd tool
Classes | Functions | Variables
cuttlefish::anonymous_namespace{main.cc} Namespace Reference

Classes

class  CuttlefishEnvironment
 
struct  FlagVaules
 
class  InstanceLifecycle
 
struct  StatusFlags
 
struct  WebAccessUrlParam
 

Functions

LogSeverity CvdVerbosityOption (std::vector< std::string > &all_args)
 
Result< void > EnsureCvdDirectoriesExist ()
 
void IncreaseFileLimit ()
 
Result< void > CvdMain (std::vector< std::string > all_args)
 
std::string ColoredUrl (const std::string &url)
 
std::optional< std::string > InitializeLogs (std::vector< std::string > &all_args)
 
bool ContainHelpOption (int argc, char **argv)
 
Result< void > CvdEnvMain (int argc, char **argv)
 
int ImportLocationsCvdMain (int argc, char **argv)
 
void SendDisclosure (SharedFD fd)
 
int SendIdDisclosureMain (int argc, char **argv)
 
int SendSmsMain (int argc, char **argv)
 
int UpdateLocationCvdMain (int argc, char **argv)
 
void UpdateSecurityAlgorithm (SharedFD fd)
 
int UpdateSecurityAlgorithmMain (int argc, char **argv)
 
template<typename T >
void LogError (Result< T > res)
 
Result< void > AddNetsimdLogs (WritableZip &archive)
 
Result< void > CreateDeviceBugreport (const CuttlefishConfig::InstanceSpecific &ins, const std::string &out_dir)
 
Result< void > AddAdbBugreport (const CuttlefishConfig::InstanceSpecific &instance, WritableZip &archive)
 
void TakeHostBugreport (const CuttlefishConfig *config, WritableZip &archive)
 
Result< void > CvdHostBugreportMain (int argc, char **argv)
 
static bool ShouldRestartProcess (siginfo_t const &info, const Parser &parsed)
 
std::string_view ExecutableShortName (std::string_view short_name)
 
Result< SubprocessOptionsOptionsForExecutable (std::string_view name)
 
Result< int > RunProcessRestarter (std::vector< std::string > args)
 
fruit::Component runCvdComponent (const CuttlefishConfig *config, const CuttlefishConfig::EnvironmentSpecific *environment, const CuttlefishConfig::InstanceSpecific *instance)
 
Result< void > StdinValid ()
 
void ConfigureLogs (const CuttlefishConfig &config, const CuttlefishConfig::InstanceSpecific &instance)
 
Result< void > BroadcastLauncherAction (const CuttlefishConfig &config, const Parsed &parsed, run_cvd::ExtendedLauncherAction extended_action)
 
Result< void > SnapshotCvdMain (std::vector< std::string > args)
 
std::string GetHostToolPath ()
 
std::string SubtoolPath (const std::string &subtool_base)
 
std::string AssemblerPath ()
 
std::string RunnerPath ()
 
int InvokeAssembler (const std::string &assembler_stdin, std::string &assembler_stdout, const std::vector< std::string > &argv)
 
Subprocess StartRunner (SharedFD runner_stdin, const CuttlefishConfig::InstanceSpecific &instance, const std::vector< std::string > &argv)
 
std::string WriteFiles (FetcherConfig fetcher_config)
 
bool HostToolsUpdated ()
 
const std::unordered_set< std::string > & BoolFlags ()
 
Result< void > LinkLogs2InstanceDir (const std::string &config_path, const CuttlefishConfig &config, const CuttlefishConfig::InstanceSpecific &instance)
 
bool ParentIsCvd ()
 
std::string CvdPath ()
 
void ExecCvd (std::vector< std::string > args)
 
int CvdInternalStartMain (int argc, char **argv)
 
Result< StatusFlagsGetFlagValues (int argc, char **argv)
 
std::string CalcWebAccessUrl (const WebAccessUrlParam &web_access_url_param)
 
Json::Value PopulateDevicesInfoFromInstance (const CuttlefishConfig &config, const CuttlefishConfig::InstanceSpecific &instance_config)
 
Result< void > CvdStatusMain (const StatusFlags &flag_values)
 
std::set< std::string > FallbackDirs ()
 
std::set< std::string > DirsForInstance (const CuttlefishConfig &config, const CuttlefishConfig::InstanceSpecific instance)
 
std::set< pid_t > GetCandidateProcessGroups (const std::set< std::string > &dirs)
 
int FallBackStop (const std::set< std::string > &dirs)
 
Result< void > CleanStopInstance (const CuttlefishConfig::InstanceSpecific &instance_config, const int32_t wait_for_launcher)
 
int StopInstance (const CuttlefishConfig &config, const CuttlefishConfig::InstanceSpecific &instance, const int32_t wait_for_launcher)
 
int StopCvdMain (const int32_t wait_for_launcher, const bool clear_instance_dirs, const std::vector< unsigned > &instance_nums)
 

Variables

constexpr char kCvdEnvHelpMessage []
 
constexpr char kServiceControlEnvProxy [] = "ControlEnvProxyService"
 
constexpr int kFallbackErrorBit = 1 << 2
 

Function Documentation

◆ AddAdbBugreport()

Result< void > cuttlefish::anonymous_namespace{main.cc}::AddAdbBugreport ( const CuttlefishConfig::InstanceSpecific instance,
WritableZip archive 
)

◆ AddNetsimdLogs()

Result< void > cuttlefish::anonymous_namespace{main.cc}::AddNetsimdLogs ( WritableZip archive)

◆ AssemblerPath()

std::string cuttlefish::anonymous_namespace{main.cc}::AssemblerPath ( )

◆ BoolFlags()

const std::unordered_set< std::string > & cuttlefish::anonymous_namespace{main.cc}::BoolFlags ( )

◆ BroadcastLauncherAction()

Result< void > cuttlefish::anonymous_namespace{main.cc}::BroadcastLauncherAction ( const CuttlefishConfig config,
const Parsed parsed,
run_cvd::ExtendedLauncherAction  extended_action 
)

◆ CalcWebAccessUrl()

std::string cuttlefish::anonymous_namespace{main.cc}::CalcWebAccessUrl ( const WebAccessUrlParam web_access_url_param)

◆ CleanStopInstance()

Result< void > cuttlefish::anonymous_namespace{main.cc}::CleanStopInstance ( const CuttlefishConfig::InstanceSpecific instance_config,
const int32_t  wait_for_launcher 
)

◆ ColoredUrl()

std::string cuttlefish::anonymous_namespace{main.cc}::ColoredUrl ( const std::string &  url)

Returns the URL as a colored string

If stderr is not terminal, no color. If stderr is a tty, tries to use ".deb" file color If .deb is not available in LS_COLORS, uses .zip color. If none are available, use a default color that is red.

◆ ConfigureLogs()

void cuttlefish::anonymous_namespace{main.cc}::ConfigureLogs ( const CuttlefishConfig config,
const CuttlefishConfig::InstanceSpecific instance 
)

◆ ContainHelpOption()

bool cuttlefish::anonymous_namespace{main.cc}::ContainHelpOption ( int  argc,
char **  argv 
)

◆ CreateDeviceBugreport()

Result< void > cuttlefish::anonymous_namespace{main.cc}::CreateDeviceBugreport ( const CuttlefishConfig::InstanceSpecific ins,
const std::string &  out_dir 
)

◆ CvdEnvMain()

Result< void > cuttlefish::anonymous_namespace{main.cc}::CvdEnvMain ( int  argc,
char **  argv 
)

◆ CvdHostBugreportMain()

Result< void > cuttlefish::anonymous_namespace{main.cc}::CvdHostBugreportMain ( int  argc,
char **  argv 
)

◆ CvdInternalStartMain()

int cuttlefish::anonymous_namespace{main.cc}::CvdInternalStartMain ( int  argc,
char **  argv 
)

◆ CvdMain()

Result< void > cuttlefish::anonymous_namespace{main.cc}::CvdMain ( std::vector< std::string >  all_args)

◆ CvdPath()

std::string cuttlefish::anonymous_namespace{main.cc}::CvdPath ( )

◆ CvdStatusMain()

Result< void > cuttlefish::anonymous_namespace{main.cc}::CvdStatusMain ( const StatusFlags flag_values)

◆ CvdVerbosityOption()

LogSeverity cuttlefish::anonymous_namespace{main.cc}::CvdVerbosityOption ( std::vector< std::string > &  all_args)

Extracts –verbosity value if ever exist in the entire commandline args

Note that this will also pick up from the subtool arguments: e.g. cvd start –verbosity=DEBUG

◆ DirsForInstance()

std::set< std::string > cuttlefish::anonymous_namespace{main.cc}::DirsForInstance ( const CuttlefishConfig config,
const CuttlefishConfig::InstanceSpecific  instance 
)

◆ EnsureCvdDirectoriesExist()

Result< void > cuttlefish::anonymous_namespace{main.cc}::EnsureCvdDirectoriesExist ( )

◆ ExecCvd()

void cuttlefish::anonymous_namespace{main.cc}::ExecCvd ( std::vector< std::string >  args)

◆ ExecutableShortName()

std::string_view cuttlefish::anonymous_namespace{main.cc}::ExecutableShortName ( std::string_view  short_name)

◆ FallbackDirs()

std::set< std::string > cuttlefish::anonymous_namespace{main.cc}::FallbackDirs ( )

◆ FallBackStop()

int cuttlefish::anonymous_namespace{main.cc}::FallBackStop ( const std::set< std::string > &  dirs)

◆ GetCandidateProcessGroups()

std::set< pid_t > cuttlefish::anonymous_namespace{main.cc}::GetCandidateProcessGroups ( const std::set< std::string > &  dirs)

◆ GetFlagValues()

FlagVaules cuttlefish::anonymous_namespace{main.cc}::GetFlagValues ( int  argc,
char **  argv 
)

◆ GetHostToolPath()

std::string cuttlefish::anonymous_namespace{main.cc}::GetHostToolPath ( )

◆ HostToolsUpdated()

bool cuttlefish::anonymous_namespace{main.cc}::HostToolsUpdated ( )

◆ ImportLocationsCvdMain()

int cuttlefish::anonymous_namespace{main.cc}::ImportLocationsCvdMain ( int  argc,
char **  argv 
)

◆ IncreaseFileLimit()

void cuttlefish::anonymous_namespace{main.cc}::IncreaseFileLimit ( )

Increase the file descriptor limit for this process and its descendants.

Crosvm tends to use many file descriptors, especially when running in sandbox mode, sometimes exceeding the default limit.

◆ InitializeLogs()

std::optional< std::string > cuttlefish::anonymous_namespace{main.cc}::InitializeLogs ( std::vector< std::string > &  all_args)

◆ InvokeAssembler()

int cuttlefish::anonymous_namespace{main.cc}::InvokeAssembler ( const std::string &  assembler_stdin,
std::string &  assembler_stdout,
const std::vector< std::string > &  argv 
)

◆ LinkLogs2InstanceDir()

Result< void > cuttlefish::anonymous_namespace{main.cc}::LinkLogs2InstanceDir ( const std::string &  config_path,
const CuttlefishConfig config,
const CuttlefishConfig::InstanceSpecific instance 
)

◆ LogError()

template<typename T >
void cuttlefish::anonymous_namespace{main.cc}::LogError ( Result< T >  res)

◆ OptionsForExecutable()

Result< SubprocessOptions > cuttlefish::anonymous_namespace{main.cc}::OptionsForExecutable ( std::string_view  name)

◆ ParentIsCvd()

bool cuttlefish::anonymous_namespace{main.cc}::ParentIsCvd ( )

◆ PopulateDevicesInfoFromInstance()

Json::Value cuttlefish::anonymous_namespace{main.cc}::PopulateDevicesInfoFromInstance ( const CuttlefishConfig config,
const CuttlefishConfig::InstanceSpecific instance_config 
)

◆ runCvdComponent()

fruit::Component cuttlefish::anonymous_namespace{main.cc}::runCvdComponent ( const CuttlefishConfig config,
const CuttlefishConfig::EnvironmentSpecific environment,
const CuttlefishConfig::InstanceSpecific instance 
)

◆ RunnerPath()

std::string cuttlefish::anonymous_namespace{main.cc}::RunnerPath ( )

◆ RunProcessRestarter()

Result< int > cuttlefish::anonymous_namespace{main.cc}::RunProcessRestarter ( std::vector< std::string >  args)

◆ SendDisclosure()

void cuttlefish::anonymous_namespace{main.cc}::SendDisclosure ( SharedFD  fd)

◆ SendIdDisclosureMain()

int cuttlefish::anonymous_namespace{main.cc}::SendIdDisclosureMain ( int  argc,
char **  argv 
)

◆ SendSmsMain()

int cuttlefish::anonymous_namespace{main.cc}::SendSmsMain ( int  argc,
char **  argv 
)

◆ ShouldRestartProcess()

static bool cuttlefish::anonymous_namespace{main.cc}::ShouldRestartProcess ( siginfo_t const &  info,
const Parser parsed 
)
static

◆ SnapshotCvdMain()

Result< void > cuttlefish::anonymous_namespace{main.cc}::SnapshotCvdMain ( std::vector< std::string >  args)

◆ StartRunner()

Subprocess cuttlefish::anonymous_namespace{main.cc}::StartRunner ( SharedFD  runner_stdin,
const CuttlefishConfig::InstanceSpecific instance,
const std::vector< std::string > &  argv 
)

◆ StdinValid()

Result< void > cuttlefish::anonymous_namespace{main.cc}::StdinValid ( )

◆ StopCvdMain()

int cuttlefish::anonymous_namespace{main.cc}::StopCvdMain ( const int32_t  wait_for_launcher,
const bool  clear_instance_dirs,
const std::vector< unsigned > &  instance_nums 
)

◆ StopInstance()

int cuttlefish::anonymous_namespace{main.cc}::StopInstance ( const CuttlefishConfig config,
const CuttlefishConfig::InstanceSpecific instance,
const int32_t  wait_for_launcher 
)

◆ SubtoolPath()

std::string cuttlefish::anonymous_namespace{main.cc}::SubtoolPath ( const std::string &  subtool_base)

◆ TakeHostBugreport()

void cuttlefish::anonymous_namespace{main.cc}::TakeHostBugreport ( const CuttlefishConfig config,
WritableZip archive 
)

◆ UpdateLocationCvdMain()

int cuttlefish::anonymous_namespace{main.cc}::UpdateLocationCvdMain ( int  argc,
char **  argv 
)

◆ UpdateSecurityAlgorithm()

void cuttlefish::anonymous_namespace{main.cc}::UpdateSecurityAlgorithm ( SharedFD  fd)

◆ UpdateSecurityAlgorithmMain()

int cuttlefish::anonymous_namespace{main.cc}::UpdateSecurityAlgorithmMain ( int  argc,
char **  argv 
)

◆ WriteFiles()

std::string cuttlefish::anonymous_namespace{main.cc}::WriteFiles ( FetcherConfig  fetcher_config)

Variable Documentation

◆ kCvdEnvHelpMessage

constexpr char cuttlefish::anonymous_namespace{main.cc}::kCvdEnvHelpMessage[]
constexpr

◆ kFallbackErrorBit

constexpr int cuttlefish::anonymous_namespace{main.cc}::kFallbackErrorBit = 1 << 2
constexpr

◆ kServiceControlEnvProxy

constexpr char cuttlefish::anonymous_namespace{main.cc}::kServiceControlEnvProxy[] = "ControlEnvProxyService"
constexpr