blob: 4e989431664a290827b68d9fbc1caad36a96d127 [file] [log] [blame]
Jiyong Park5e810232019-04-01 15:24:26 +09001/*
2 * Copyright (C) 2019 The Android Open Source Project
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16
17#pragma once
18
Jiyong Park67d661f2019-04-15 15:43:01 +090019#include <string>
20#include <vector>
21
Jiyong Park5e810232019-04-01 15:24:26 +090022namespace android {
23namespace apex {
24
25static constexpr const char* kApexDataDir = "/data/apex";
26static constexpr const char* kActiveApexPackagesDataDir = "/data/apex/active";
27static constexpr const char* kApexBackupDir = "/data/apex/backup";
Nikita Ioffe695b0a32019-12-05 17:17:41 +000028static constexpr const char* kApexHashTreeDir = "/data/apex/hashtree";
Jiyong Park5e810232019-04-01 15:24:26 +090029static constexpr const char* kApexPackageSystemDir = "/system/apex";
Jooyung Han4f51d4c2019-11-25 15:21:05 +090030static constexpr const char* kApexPackageSystemExtDir = "/system_ext/apex";
Jiyong Parkebc07c52020-02-07 14:01:52 +090031static constexpr const char* kApexPackageVendorDir = "/vendor/apex";
Jiyong Park67d661f2019-04-15 15:43:01 +090032static const std::vector<std::string> kApexPackageBuiltinDirs = {
Jooyung Hana71293d2019-11-25 10:31:04 +090033 kApexPackageSystemDir,
Jooyung Han4f51d4c2019-11-25 15:21:05 +090034 kApexPackageSystemExtDir,
Jooyung Hana71293d2019-11-25 10:31:04 +090035 "/product/apex",
Jiyong Parkebc07c52020-02-07 14:01:52 +090036 kApexPackageVendorDir,
Jooyung Hana71293d2019-11-25 10:31:04 +090037};
Jiyong Park5e810232019-04-01 15:24:26 +090038static constexpr const char* kApexRoot = "/apex";
39static constexpr const char* kStagedSessionsDir = "/data/app-staging";
40
Oli Lancd06b6b2019-12-09 12:56:37 +000041static constexpr const char* kApexDataSubDir = "apexdata";
42static constexpr const char* kApexSnapshotSubDir = "apexrollback";
Oli Lanf2083e32020-01-30 10:25:49 +000043static constexpr const char* kPreRestoreSuffix = "-prerestore";
Oli Lancd06b6b2019-12-09 12:56:37 +000044
45static constexpr const char* kDeSysDataDir = "/data/misc";
Oli Lana18705f2020-01-18 14:35:46 +000046static constexpr const char* kDeNDataDir = "/data/misc_de";
Oli Lan09622502020-01-14 20:25:09 +000047static constexpr const char* kCeDataDir = "/data/misc_ce";
Oli Lancd06b6b2019-12-09 12:56:37 +000048
Jiyong Park5e810232019-04-01 15:24:26 +090049static constexpr const char* kApexPackageSuffix = ".apex";
50
Dario Frenia277bdf2019-11-05 22:37:49 +000051static constexpr const char* kManifestFilenameJson = "apex_manifest.json";
52static constexpr const char* kManifestFilenamePb = "apex_manifest.pb";
Jiyong Park5e810232019-04-01 15:24:26 +090053} // namespace apex
54} // namespace android