49 int Main(
int argc,
char* argv[]);
126 std::vector<std::unique_ptr<Task>>& tasks);
133 std::vector<std::unique_ptr<Task>>
tasks_;
141 bool ReadFile(
const std::string& name, std::vector<char>* out)
const override;
150 bool ReadFile(
const std::string& name, std::vector<char>* out)
const override;
157void do_flash(
const char* pname,
const char* fname,
const bool apply_vbmeta,
160 const std::function<
void(
const std::string&)>& func,
bool force_slot);
161std::string
find_item(
const std::string& item);
168 uint32_t host_tool_version);
170 const std::vector<std::string>& parts);
172 const std::vector<std::string>& parts);
174 const std::vector<std::string>& parts);
176 const std::vector<std::string>& command);
179 const std::vector<std::string>& file);
191std::vector<SparsePtr>
resparse_file(sparse_file* s, int64_t max_size);
196 const std::string& type_override,
const std::string& size_override,
Definition: fastboot.h:148
unique_fd OpenFile(const std::string &name) const override
Definition: fastboot.cpp:2025
bool ReadFile(const std::string &name, std::vector< char > *out) const override
Definition: fastboot.cpp:2017
Protocol
Definition: socket.h:48
Definition: fastboot.h:138
ZipImageSource(unique_zip_t &zip)
Definition: fastboot.h:140
unique_zip_t & zip_
Definition: fastboot.h:145
bool ReadFile(const std::string &name, std::vector< char > *out) const override
Definition: fastboot.cpp:1996
unique_fd OpenFile(const std::string &name) const override
Definition: fastboot.cpp:2000
Definition: unique_fd.h:61
Definition: fastboot_driver_interface.h:35
ImageType
Definition: fastboot.h:70
std::pair< const Image *, std::string > ImageEntry
Definition: fastboot.h:89
std::unique_ptr< zip_t, decltype(&zip_close)> unique_zip_t
Definition: fastboot.h:45
bool is_userspace_fastboot()
Definition: fastboot.cpp:1610
bool is_logical(const std::string &partition)
Definition: fastboot.cpp:1217
std::string find_item(const std::string &item)
Definition: fastboot.cpp:192
void reboot_to_userspace_fastboot()
Definition: fastboot.cpp:1615
std::unique_ptr< RebootTask > ParseRebootCommand(const FlashingPlan *fp, const std::vector< std::string > &parts)
Definition: fastboot.cpp:1692
void flash_partition_files(const std::string &partition, const std::vector< SparsePtr > &files)
Definition: fastboot.cpp:1300
std::unique_ptr< Task > ParseFastbootInfoLine(const FlashingPlan *fp, const std::vector< std::string > &command)
Definition: fastboot.cpp:1713
bool AddResizeTasks(const FlashingPlan *fp, std::vector< std::unique_ptr< Task > > &tasks)
void do_flash(const char *pname, const char *fname, const bool apply_vbmeta, const FlashingPlan *fp)
Definition: fastboot.cpp:1564
bool supports_AB(fastboot::IFastBootDriver *fb)
Definition: fastboot.cpp:1357
std::vector< std::unique_ptr< Task > > ParseFastbootInfo(const FlashingPlan *fp, const std::vector< std::string > &file)
Definition: fastboot.cpp:1807
bool CheckFastbootInfoRequirements(const std::vector< std::string > &command, uint32_t host_tool_version)
Definition: fastboot.cpp:1777
int64_t get_sparse_limit(int64_t size, const FlashingPlan *fp)
Definition: fastboot.cpp:1071
void fb_perform_format(const std::string &partition, int skip_if_not_supported, const std::string &type_override, const std::string &size_override, const unsigned fs_options, const FlashingPlan *fp)
Definition: fastboot.cpp:2073
fb_buffer_type
Definition: fastboot.h:56
@ FB_BUFFER_SPARSE
Definition: fastboot.h:58
@ FB_BUFFER_FD
Definition: fastboot.h:57
bool should_flash_in_userspace(const ImageSource *source, const std::string &partition_name)
Definition: fastboot.cpp:2162
void do_for_partitions(const std::string &part, const std::string &slot, const std::function< void(const std::string &)> &func, bool force_slot)
Definition: fastboot.cpp:1457
std::string get_current_slot()
Definition: fastboot.cpp:1340
void syntax_error(const char *fmt,...)
Definition: fastboot.cpp:529
char * get_android_product_out()
Definition: fastboot.cpp:176
Result< NetworkSerial, FastbootError > ParseNetworkSerial(const std::string &serial)
Definition: fastboot.cpp:308
std::unique_ptr< WipeTask > ParseWipeCommand(const FlashingPlan *fp, const std::vector< std::string > &parts)
Definition: fastboot.cpp:1703
std::string GetPartitionName(const ImageEntry &entry, const std::string ¤t_slot_)
Definition: fastboot.cpp:1646
std::vector< SparsePtr > resparse_file(sparse_file *s, int64_t max_size)
Definition: fastboot.cpp:1026
std::unique_ptr< FlashTask > ParseFlashCommand(const FlashingPlan *fp, const std::vector< std::string > &parts)
Definition: fastboot.cpp:1660
static const char * serial
Definition: fastboot.cpp:96
static std::vector< Image > images
Definition: fastboot.cpp:115
fastboot::FastBootDriver * fb
Definition: fastboot.cpp:113
uint32_t size
Definition: io.h:2
Definition: fastboot.h:91
std::string current_slot
Definition: fastboot.h:108
bool exclude_dynamic_partitions
Definition: fastboot.h:104
bool skip_secondary
Definition: fastboot.h:100
unsigned fs_options
Definition: fastboot.h:92
bool skip_reboot
Definition: fastboot.h:98
std::string secondary_slot
Definition: fastboot.h:109
bool wants_set_active
Definition: fastboot.h:99
bool force_flash
Definition: fastboot.h:101
bool should_optimize_flash_super
Definition: fastboot.h:102
bool wants_wipe
Definition: fastboot.h:97
uint64_t sparse_limit
Definition: fastboot.h:105
bool should_use_fastboot_info
Definition: fastboot.h:103
fastboot::IFastBootDriver * fb
Definition: fastboot.h:111
std::string slot_override
Definition: fastboot.h:107
std::unique_ptr< ImageSource > source
Definition: fastboot.h:96
Definition: fastboot.h:79
bool IsSecondary() const
Definition: fastboot.h:86
std::string nickname
Definition: fastboot.h:80
std::string part_name
Definition: fastboot.h:83
ImageType type
Definition: fastboot.h:85
std::string sig_name
Definition: fastboot.h:82
bool optional_if_no_image
Definition: fastboot.h:84
std::string img_name
Definition: fastboot.h:81
Definition: fastboot.h:181
Socket::Protocol protocol
Definition: fastboot.h:182
int port
Definition: fastboot.h:184
std::string address
Definition: fastboot.h:183
Definition: fastboot.h:61
unique_fd fd
Definition: fastboot.h:66
std::vector< SparsePtr > files
Definition: fastboot.h:64
fb_buffer_type file_type
Definition: fastboot.h:63
int64_t sz
Definition: fastboot.h:65
int64_t image_size
Definition: fastboot.h:67
fb_buffer_type type
Definition: fastboot.h:62