2017-04-06 00:12:29 +02:00
|
|
|
/* magisk.h - Top header
|
|
|
|
*/
|
|
|
|
|
2017-04-04 21:44:13 +02:00
|
|
|
#ifndef _MAGISK_H_
|
|
|
|
#define _MAGISK_H_
|
|
|
|
|
2017-09-14 15:54:56 +02:00
|
|
|
#include "logging.h"
|
2017-04-04 21:44:13 +02:00
|
|
|
|
2017-07-30 12:15:00 +02:00
|
|
|
#define MAGISK_VER_STR xstr(MAGISK_VERSION) ":MAGISK"
|
2018-07-02 16:11:28 +02:00
|
|
|
#define MAIN_SOCKET "d30138f2310a9fb9c54a3e0c21f58591"
|
|
|
|
#define LOG_SOCKET "5864cd77f2f8c59b3882e2d35dbf51e4"
|
2018-06-12 22:34:05 +02:00
|
|
|
#define JAVA_PACKAGE_NAME "com.topjohnwu.magisk"
|
2017-04-08 01:37:43 +02:00
|
|
|
|
2017-04-16 17:13:53 +02:00
|
|
|
#ifndef ARG_MAX
|
|
|
|
#define ARG_MAX 4096
|
|
|
|
#endif
|
|
|
|
|
2017-05-03 19:13:04 +02:00
|
|
|
#define LOGFILE "/cache/magisk.log"
|
|
|
|
#define UNBLOCKFILE "/dev/.magisk.unblock"
|
|
|
|
#define DISABLEFILE "/cache/.disable_magisk"
|
2017-11-22 09:04:24 +01:00
|
|
|
#define MAGISKTMP "/sbin/.core"
|
2018-07-06 19:32:58 +02:00
|
|
|
#define BLOCKDIR MAGISKTMP "/block"
|
2017-10-28 10:12:01 +02:00
|
|
|
#define MIRRDIR MAGISKTMP "/mirror"
|
2017-11-22 09:04:24 +01:00
|
|
|
#define BBPATH MAGISKTMP "/busybox"
|
2017-10-28 10:12:01 +02:00
|
|
|
#define MOUNTPOINT MAGISKTMP "/img"
|
2017-05-03 21:05:37 +02:00
|
|
|
#define COREDIR MOUNTPOINT "/.core"
|
|
|
|
#define HOSTSFILE COREDIR "/hosts"
|
2017-06-02 22:31:01 +02:00
|
|
|
#define HIDELIST COREDIR "/hidelist"
|
2018-06-03 08:43:03 +02:00
|
|
|
#define SECURE_DIR "/data/adb"
|
|
|
|
#define MAINIMG SECURE_DIR "/magisk.img"
|
|
|
|
#define DATABIN SECURE_DIR "/magisk"
|
|
|
|
#define MAGISKDB SECURE_DIR "/magisk.db"
|
|
|
|
#define SIMPLEMOUNT SECURE_DIR "/magisk_simple"
|
2017-12-15 19:02:17 +01:00
|
|
|
#define MANAGERAPK DATABIN "/magisk.apk"
|
2017-11-22 09:04:24 +01:00
|
|
|
#define MAGISKRC "/init.magisk.rc"
|
2017-10-28 10:12:01 +02:00
|
|
|
|
2017-05-03 19:13:04 +02:00
|
|
|
|
2017-11-30 20:33:25 +01:00
|
|
|
// selinuxfs paths
|
2018-06-03 08:43:03 +02:00
|
|
|
#define SELINUX_PATH "/sys/fs/selinux"
|
|
|
|
#define SELINUX_ENFORCE SELINUX_PATH "/enforce"
|
|
|
|
#define SELINUX_POLICY SELINUX_PATH "/policy"
|
|
|
|
#define SELINUX_LOAD SELINUX_PATH "/load"
|
|
|
|
#define SELINUX_CONTEXT SELINUX_PATH "/context"
|
2017-04-30 19:58:52 +02:00
|
|
|
|
2017-11-30 20:33:25 +01:00
|
|
|
// split policy paths
|
|
|
|
#define PLAT_POLICY_DIR "/system/etc/selinux/"
|
|
|
|
#define NONPLAT_POLICY_DIR "/vendor/etc/selinux/"
|
|
|
|
#define SPLIT_PLAT_CIL PLAT_POLICY_DIR "plat_sepolicy.cil"
|
|
|
|
#define SPLIT_PLAT_MAPPING PLAT_POLICY_DIR "mapping/%s.cil"
|
|
|
|
#define SPLIT_PRECOMPILE NONPLAT_POLICY_DIR "precompiled_sepolicy"
|
|
|
|
#define SPLIT_NONPLAT_VER NONPLAT_POLICY_DIR "plat_sepolicy_vers.txt"
|
|
|
|
|
2017-05-26 16:05:04 +02:00
|
|
|
#define MAGISKHIDE_PROP "persist.magisk.hide"
|
|
|
|
|
2017-04-06 00:12:29 +02:00
|
|
|
extern char *argv0; /* For changing process name */
|
2017-04-04 21:44:13 +02:00
|
|
|
|
2018-06-22 00:18:06 +02:00
|
|
|
#define applet ((char *[]) { "su", "resetprop", "magiskhide", "imgtool", NULL })
|
2017-11-27 21:43:46 +01:00
|
|
|
#define init_applet ((char *[]) { "magiskpolicy", "supolicy", NULL })
|
|
|
|
|
|
|
|
extern int (*applet_main[]) (int, char *[]), (*init_applet_main[]) (int, char *[]);
|
2017-04-15 12:10:54 +02:00
|
|
|
|
2017-09-14 15:54:56 +02:00
|
|
|
int create_links(const char *bin, const char *path);
|
|
|
|
|
2017-04-05 00:08:53 +02:00
|
|
|
// Multi-call entrypoints
|
|
|
|
int magiskhide_main(int argc, char *argv[]);
|
|
|
|
int magiskpolicy_main(int argc, char *argv[]);
|
2017-04-14 21:23:09 +02:00
|
|
|
int su_client_main(int argc, char *argv[]);
|
2017-04-05 00:08:53 +02:00
|
|
|
int resetprop_main(int argc, char *argv[]);
|
2018-06-22 00:18:06 +02:00
|
|
|
int imgtool_main(int argc, char *argv[]);
|
2017-04-05 00:08:53 +02:00
|
|
|
|
2017-04-04 21:44:13 +02:00
|
|
|
#endif
|