2019-03-15 06:17:37 -04:00
|
|
|
#pragma once
|
2017-04-05 03:44:13 +08:00
|
|
|
|
2020-04-12 05:34:56 -07:00
|
|
|
#include <string>
|
2017-04-05 03:44:13 +08:00
|
|
|
|
2018-06-13 04:34:05 +08:00
|
|
|
#define JAVA_PACKAGE_NAME "com.topjohnwu.magisk"
|
2018-06-03 14:43:03 +08:00
|
|
|
#define SECURE_DIR "/data/adb"
|
2019-02-12 02:14:57 -05:00
|
|
|
#define MODULEROOT SECURE_DIR "/modules"
|
|
|
|
#define MODULEUPGRADE SECURE_DIR "/modules_update"
|
2018-06-03 14:43:03 +08:00
|
|
|
#define DATABIN SECURE_DIR "/magisk"
|
|
|
|
#define MAGISKDB SECURE_DIR "/magisk.db"
|
2017-10-28 16:12:01 +08:00
|
|
|
|
2020-04-12 05:34:56 -07:00
|
|
|
// tmpfs paths
|
2023-03-16 04:07:00 -07:00
|
|
|
extern std::string MAGISKTMP;
|
|
|
|
#define INTLROOT ".magisk"
|
|
|
|
#define MIRRDIR INTLROOT "/mirror"
|
|
|
|
#define PREINITMIRR INTLROOT "/preinit"
|
|
|
|
#define BLOCKDIR INTLROOT "/block"
|
|
|
|
#define PREINITDEV BLOCKDIR "/preinit"
|
|
|
|
#define WORKERDIR INTLROOT "/worker"
|
|
|
|
#define MODULEMNT INTLROOT "/modules"
|
|
|
|
#define BBPATH INTLROOT "/busybox"
|
|
|
|
#define ROOTOVL INTLROOT "/rootdir"
|
|
|
|
#define SHELLPTS INTLROOT "/pts"
|
|
|
|
#define ROOTMNT ROOTOVL "/.mount_list"
|
|
|
|
#define ZYGISKBIN INTLROOT "/zygisk"
|
|
|
|
#define SELINUXMOCK INTLROOT "/selinux"
|
2023-04-02 22:42:25 +08:00
|
|
|
#define MAIN_CONFIG INTLROOT "/config"
|
|
|
|
#define MAIN_SOCKET INTLROOT "/socket"
|
2023-10-30 03:14:25 -07:00
|
|
|
#define LOG_PIPE INTLROOT "/log"
|
2020-04-12 05:34:56 -07:00
|
|
|
|
2021-09-12 12:40:34 -07:00
|
|
|
constexpr const char *applet_names[] = { "su", "resetprop", nullptr };
|
2017-04-15 18:10:54 +08:00
|
|
|
|
2020-12-17 16:54:53 -08:00
|
|
|
#define POST_FS_DATA_WAIT_TIME 40
|
|
|
|
#define POST_FS_DATA_SCRIPT_MAX_TIME 35
|
|
|
|
|
2023-10-16 17:38:44 -07:00
|
|
|
// Unconstrained domain the daemon and root processes run in
|
|
|
|
#define SEPOL_PROC_DOMAIN "magisk"
|
|
|
|
#define MAGISK_PROC_CON "u:r:" SEPOL_PROC_DOMAIN ":s0"
|
|
|
|
// Unconstrained file type that anyone can access
|
|
|
|
#define SEPOL_FILE_TYPE "magisk_file"
|
|
|
|
#define MAGISK_FILE_CON "u:object_r:" SEPOL_FILE_TYPE ":s0"
|
|
|
|
|
2021-01-11 02:19:10 -08:00
|
|
|
extern int SDK_INT;
|
|
|
|
#define APP_DATA_DIR (SDK_INT >= 24 ? "/data/user_de" : "/data/user")
|
|
|
|
|
2017-04-05 06:08:53 +08:00
|
|
|
// Multi-call entrypoints
|
2018-09-27 18:26:41 -04:00
|
|
|
int magisk_main(int argc, char *argv[]);
|
2017-04-15 03:23:09 +08:00
|
|
|
int su_client_main(int argc, char *argv[]);
|
2017-04-05 06:08:53 +08:00
|
|
|
int resetprop_main(int argc, char *argv[]);
|
2021-01-06 22:21:17 -08:00
|
|
|
int app_process_main(int argc, char *argv[]);
|
2021-10-27 01:53:16 -07:00
|
|
|
int zygisk_main(int argc, char *argv[]);
|