blob: 66ce8cb29e02c8e97229d013cd642d478950881f [file] [log] [blame]
/*
* Copyright (C) 2021 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.
*/
//! Common items used by CompOS server and/or clients
pub mod binder;
pub mod compos_client;
pub mod odrefresh;
pub mod timeouts;
/// Special CID indicating "any".
pub const VMADDR_CID_ANY: u32 = -1i32 as u32;
/// VSock port that the CompOS server listens on for RPC binder connections. This should be out of
/// future port range (if happens) that microdroid may reserve for system components.
pub const COMPOS_VSOCK_PORT: u32 = 6432;
/// The root directory where the CompOS APEX is mounted (read only).
pub const COMPOS_APEX_ROOT: &str = "/apex/com.android.compos";
/// The root of the data directory available for private use by the CompOS APEX.
pub const COMPOS_DATA_ROOT: &str = "/data/misc/apexdata/com.android.compos";
/// The sub-directory where we store information relating to the pending instance
/// of CompOS (based on staged APEXes).
pub const PENDING_INSTANCE_DIR: &str = "pending";
/// The sub-directory where we store information relating to the current instance
/// of CompOS (based on active APEXes).
pub const CURRENT_INSTANCE_DIR: &str = "current";
/// The sub-directory where we store information relating to the instance of CompOS used for
/// tests.
pub const TEST_INSTANCE_DIR: &str = "test";
/// The file that holds the encrypted private key for a CompOS instance.
pub const PRIVATE_KEY_BLOB_FILE: &str = "key.blob";
/// The file that holds the public key for a CompOS instance.
pub const PUBLIC_KEY_FILE: &str = "key.pubkey";
/// The file that holds the instance image for a CompOS instance.
pub const INSTANCE_IMAGE_FILE: &str = "instance.img";
/// The file that holds the idsig for the CompOS Payload APK.
pub const IDSIG_FILE: &str = "idsig";
/// The file that holds the idsig for the build manifest APK (that makes enumerated files from
/// /system available in CompOS).
pub const IDSIG_MANIFEST_APK_FILE: &str = "idsig_manifest_apk";
/// The path within our config APK of our default VM configuration file, used at boot time.
pub const DEFAULT_VM_CONFIG_PATH: &str = "assets/vm_config.json";
/// The path within our config APK of the VM configuration file we use when compiling staged
/// APEXes before reboot.
pub const PREFER_STAGED_VM_CONFIG_PATH: &str = "assets/vm_config_staged.json";