Add daemon response code

This commit is contained in:
topjohnwu
2017-05-05 16:13:26 +08:00
parent d66c284bed
commit 58849f28a8
8 changed files with 59 additions and 28 deletions

View File

@@ -19,7 +19,7 @@ int add_list(char *proc) {
char *line;
struct vector *new_list = xmalloc(sizeof(*new_list));
if (new_list == NULL)
return HIDE_ERROR;
return DAEMON_ERROR;
vec_init(new_list);
vec_for_each(hide_list, line) {
@@ -47,10 +47,10 @@ int add_list(char *proc) {
pthread_mutex_lock(&file_lock);
if (vector_to_file(HIDELIST, hide_list)) {
pthread_mutex_unlock(&file_lock);
return HIDE_ERROR;
return DAEMON_ERROR;
}
pthread_mutex_unlock(&file_lock);
return HIDE_SUCCESS;
return DAEMON_SUCCESS;
}
int rm_list(char *proc) {
@@ -59,7 +59,7 @@ int rm_list(char *proc) {
return HIDE_NOT_ENABLED;
}
hide_ret ret = HIDE_ERROR;
daemon_response ret = DAEMON_ERROR;
char *line;
int do_rm = 0;
struct vector *new_list = xmalloc(sizeof(*new_list));
@@ -87,10 +87,10 @@ int rm_list(char *proc) {
hide_list = new_list;
pthread_mutex_unlock(&hide_lock);
ret = HIDE_SUCCESS;
ret = DAEMON_SUCCESS;
pthread_mutex_lock(&file_lock);
if (vector_to_file(HIDELIST, hide_list))
ret = HIDE_ERROR;
ret = DAEMON_ERROR;
pthread_mutex_unlock(&file_lock);
} else {
ret = HIDE_ITEM_NOT_EXIST;

View File

@@ -1,8 +1,6 @@
/* magiskhide.c - initialize the environment for Magiskhide
*/
// TODO: Functions to modify hiding list
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
@@ -88,7 +86,7 @@ void launch_magiskhide(int client) {
pthread_mutex_init(&hide_lock, NULL);
pthread_mutex_init(&file_lock, NULL);
write_int(client, HIDE_SUCCESS);
write_int(client, DAEMON_SUCCESS);
close(client);
// Get thread reference
@@ -99,7 +97,7 @@ void launch_magiskhide(int client) {
error:
hideEnabled = 0;
write_int(client, HIDE_ERROR);
write_int(client, DAEMON_ERROR);
close(client);
if (hide_pid != -1) {
int kill = -1;
@@ -125,7 +123,7 @@ void stop_magiskhide(int client) {
setprop("persist.magisk.hide", "0");
pthread_kill(proc_monitor_thread, SIGUSR1);
write_int(client, HIDE_SUCCESS);
write_int(client, DAEMON_SUCCESS);
close(client);
}
@@ -133,7 +131,7 @@ int magiskhide_main(int argc, char *argv[]) {
if (argc < 2) {
usage(argv[0]);
}
client_request req;
client_request req = DO_NOTHING;
if (strcmp(argv[1], "--enable") == 0) {
req = LAUNCH_MAGISKHIDE;
} else if (strcmp(argv[1], "--disable") == 0) {
@@ -156,13 +154,16 @@ int magiskhide_main(int argc, char *argv[]) {
if (req == ADD_HIDELIST || req == RM_HIDELIST) {
write_string(fd, argv[2]);
}
hide_ret code = read_int(fd);
daemon_response code = read_int(fd);
close(fd);
switch (code) {
case HIDE_ERROR:
case DAEMON_ERROR:
fprintf(stderr, "Error occured in daemon...\n");
break;
case HIDE_SUCCESS:
case DAEMON_SUCCESS:
break;
case ROOT_REQUIRED:
fprintf(stderr, "Root is required for this operation\n");
break;
case HIDE_NOT_ENABLED:
fprintf(stderr, "Magisk hide is not enabled yet\n");

View File

@@ -6,15 +6,6 @@
#define HIDELIST "/magisk/.core/magiskhide/hidelist"
#define DUMMYPATH "/dev/magisk/dummy"
typedef enum {
HIDE_ERROR = -1,
HIDE_SUCCESS = 0,
HIDE_IS_ENABLED,
HIDE_NOT_ENABLED,
HIDE_ITEM_EXIST,
HIDE_ITEM_NOT_EXIST
} hide_ret;
// Kill process
void kill_proc(int pid);