Files
android_bootable_recovery/twrpApex.hpp
bigbiff cfa875c4d4 vab support: merges and unmapping super devices
- check for merges before formatting data
- add advanced option for unmapping super devices

Change-Id: I38d4d3bbdfa071969016c3e000c86a4d03c71e45
2021-08-09 23:04:33 +00:00

40 lines
869 B
C++
Executable File

#ifndef TWRPAPEX_HPP
#define TWRPAPEX_HPP
#include <string>
#include <vector>
#include <filesystem>
#include <sstream>
#include <sys/types.h>
#include <sys/stat.h>
#include <sys/ioctl.h>
#include <linux/loop.h>
#include <sys/mount.h>
#include <sys/sysmacros.h>
#include <fcntl.h>
#include <unistd.h>
#include <android-base/properties.h>
#include <ziparchive/zip_archive.h>
#include "twcommon.h"
#define APEX_DIR "/system_root/system/apex"
#define APEX_PAYLOAD "apex_payload.img"
#define LOOP_BLOCK_DEVICE_DIR "/dev/block/"
#define APEX_BASE "/apex/"
#define LOOP_CONTROL "/dev/loop-control"
class twrpApex {
public:
bool loadApexImages();
bool Unmount();
private:
std::string unzipImage(std::string file);
bool mountApexOnLoopbackDevices(std::vector<std::string> apexFiles);
bool loadApexImage(std::string fileToMount, size_t loop_device_number);
};
#endif