0d4277d7b3
This patch adds the following new commands to fastbootd: getvar is_logical:<partition> create-logical-logical-partition <partition> <size> delete-logical-partition <partition> resize-logicallogical-partition <partition> <size> All of these commands operate on logical partitions only, and require a properly configured "super" partition to operate. Bug: 78793464 Test: fastboot create-logical-partition example 4096 fastboot create-logical-partition example 4096 returns error fastboot getvar is-logical:example returns "yes" fastboot getvar partition-size:example returns "1000" fastboot resize-logicalpartition example 8000 fastboot getvar partition-size:example returns "2000" fastboot delete-logical-partition example fastboot getvar is-logical:example returns error fastboot getvar is-logical:system_a returns "no" Change-Id: Iff323eabcf5c559fa04c7c92574650b01803eb1f
46 lines
2 KiB
C++
46 lines
2 KiB
C++
/*
|
|
* Copyright (C) 2018 The Android Open Source Project
|
|
*
|
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
* you may not use this file except in compliance with the License.
|
|
* You may obtain a copy of the License at
|
|
*
|
|
* http://www.apache.org/licenses/LICENSE-2.0
|
|
*
|
|
* Unless required by applicable law or agreed to in writing, software
|
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
* See the License for the specific language governing permissions and
|
|
* limitations under the License.
|
|
*/
|
|
#pragma once
|
|
|
|
#include <functional>
|
|
#include <string>
|
|
#include <vector>
|
|
|
|
class FastbootDevice;
|
|
|
|
enum class FastbootResult {
|
|
OKAY,
|
|
FAIL,
|
|
INFO,
|
|
DATA,
|
|
};
|
|
|
|
// Execute a command with the given arguments (possibly empty).
|
|
using CommandHandler = std::function<bool(FastbootDevice*, const std::vector<std::string>&)>;
|
|
|
|
bool DownloadHandler(FastbootDevice* device, const std::vector<std::string>& args);
|
|
bool SetActiveHandler(FastbootDevice* device, const std::vector<std::string>& args);
|
|
bool ShutDownHandler(FastbootDevice* device, const std::vector<std::string>& args);
|
|
bool RebootHandler(FastbootDevice* device, const std::vector<std::string>& args);
|
|
bool RebootBootloaderHandler(FastbootDevice* device, const std::vector<std::string>& args);
|
|
bool RebootFastbootHandler(FastbootDevice* device, const std::vector<std::string>& args);
|
|
bool RebootRecoveryHandler(FastbootDevice* device, const std::vector<std::string>& args);
|
|
bool GetVarHandler(FastbootDevice* device, const std::vector<std::string>& args);
|
|
bool EraseHandler(FastbootDevice* device, const std::vector<std::string>& args);
|
|
bool FlashHandler(FastbootDevice* device, const std::vector<std::string>& args);
|
|
bool CreatePartitionHandler(FastbootDevice* device, const std::vector<std::string>& args);
|
|
bool DeletePartitionHandler(FastbootDevice* device, const std::vector<std::string>& args);
|
|
bool ResizePartitionHandler(FastbootDevice* device, const std::vector<std::string>& args);
|