#pragma once #include struct SpecializeAppProcessArgs { jint &uid; jint &gid; jintArray &gids; jint &runtime_flags; jint &mount_external; jstring &se_info; jstring &nice_name; jstring &instruction_set; jstring &app_data_dir; /* Optional */ jboolean *is_child_zygote = nullptr; jboolean *is_top_app = nullptr; jobjectArray *pkg_data_info_list = nullptr; jobjectArray *whitelisted_data_info_list = nullptr; jboolean *mount_data_dirs = nullptr; jboolean *mount_storage_dirs = nullptr; SpecializeAppProcessArgs( jint &uid, jint &gid, jintArray &gids, jint &runtime_flags, jint &mount_external, jstring &se_info, jstring &nice_name, jstring &instruction_set, jstring &app_data_dir) : uid(uid), gid(gid), gids(gids), runtime_flags(runtime_flags), mount_external(mount_external), se_info(se_info), nice_name(nice_name), instruction_set(instruction_set), app_data_dir(app_data_dir) {} }; struct ForkSystemServerArgs { jint &uid; jint &gid; jintArray &gids; jint &runtime_flags; jlong &permitted_capabilities; jlong &effective_capabilities; ForkSystemServerArgs( jint &uid, jint &gid, jintArray &gids, jint &runtime_flags, jlong &permitted_capabilities, jlong &effective_capabilities) : uid(uid), gid(gid), gids(gids), runtime_flags(runtime_flags), permitted_capabilities(permitted_capabilities), effective_capabilities(effective_capabilities) {} };