59 lines
1.6 KiB
C
59 lines
1.6 KiB
C
/*Virtual A/B merge status information*/
|
|
|
|
// Spaces used by misc partition are as below:
|
|
// 0 - 2K For bootloader_message
|
|
// 2K - 16K Used by Vendor's bootloader (the 2K - 4K range may be optionally used
|
|
// as bootloader_message_ab struct)
|
|
// 16K - 32K Used by uncrypt and recovery to store wipe_package for A/B devices
|
|
// 32K - 64K System space, used for miscellanious AOSP features. See below.
|
|
// Note that these offsets are admitted by bootloader,recovery and uncrypt, so they
|
|
// are not configurable without changing all of them.
|
|
|
|
#ifndef _ANDROID_VAB_H_
|
|
#define _ANDROID_VAB_H_
|
|
|
|
#define BOOTLOADER_MESSAGE_OFFSET_IN_MISC 0
|
|
#define VENDOR_SPACE_OFFSET_IN_MISC 2 * 1024
|
|
#define WIPE_PACKAGE_OFFSET_IN_MISC 16 * 1024
|
|
#define SYSTEM_SPACE_OFFSET_IN_MISC 32 * 1024
|
|
#define SYSTEM_SPACE_SIZE_IN_MISC 32 * 1024
|
|
|
|
enum MergeStatus {
|
|
/**
|
|
* No snapshot or merge is in progress.
|
|
*/
|
|
NONE = 0,
|
|
|
|
/**
|
|
* The merge status could not be determined.
|
|
*/
|
|
UNKNOWN,
|
|
|
|
/**
|
|
* Partitions are being snapshotted, but no merge has been started.
|
|
*/
|
|
SNAPSHOTTED,
|
|
|
|
/**
|
|
* At least one partition has merge is in progress.
|
|
*/
|
|
MERGING,
|
|
|
|
/**
|
|
* A merge was in progress, but it was canceled by the bootloader.
|
|
*/
|
|
CANCELLED,
|
|
};
|
|
|
|
// Holds Virtual A/B merge status information. Current version is 1. New fields
|
|
// must be added to the end.
|
|
struct misc_virtual_ab_message {
|
|
uint8_t version;
|
|
uint32_t magic;
|
|
uint8_t merge_status; // IBootControl 1.1, MergeStatus enum.
|
|
uint8_t source_slot; // Slot number when merge_status was written.
|
|
uint8_t reserved[57];
|
|
};
|
|
|
|
#endif
|