blob: bb05ac1312a0d5c6097216a6350d88a0c3bc3229 [file] [log] [blame] [edit]
// Copyright 2020 The Fuchsia Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef TOOLS_SYMBOLIZER_COMMAND_LINE_OPTIONS_H_
#define TOOLS_SYMBOLIZER_COMMAND_LINE_OPTIONS_H_
#include <optional>
#include <string>
#include <vector>
#include "tools/symbolizer/error.h"
namespace symbolizer {
struct CommandLineOptions {
std::vector<std::string> symbol_index_files;
std::vector<std::string> symbol_paths;
std::vector<std::string> build_id_dirs;
std::vector<std::string> ids_txts;
std::vector<std::string> symbol_servers;
std::optional<std::string> symbol_cache;
std::vector<std::string> build_dirs;
bool auth_mode = false;
bool requested_version = false;
// Whether to omit the "[[[ELF module..." lines in the output.
bool omit_module_lines = false;
};
// Parses the command line into options.
Error ParseCommandLine(int argc, const char* argv[], CommandLineOptions* options);
} // namespace symbolizer
#endif // TOOLS_SYMBOLIZER_COMMAND_LINE_OPTIONS_H_