Magisk/native/jni/zygisk/deny/deny.hpp

55 lines
786 B
C++
Raw Normal View History

2021-09-12 19:40:34 +00:00
#pragma once
#include <pthread.h>
#include <string_view>
#include <functional>
#include <map>
2021-09-16 12:27:34 +00:00
#include <atomic>
2021-09-12 19:40:34 +00:00
#include <daemon.hpp>
#define ISOLATED_MAGIC "isolated"
2022-03-01 10:13:18 +00:00
namespace DenyRequest {
enum : int {
2022-02-12 15:43:36 +00:00
ENFORCE,
DISABLE,
ADD,
REMOVE,
LIST,
STATUS,
END
};
2022-03-01 10:13:18 +00:00
}
2022-02-12 15:43:36 +00:00
2022-03-01 10:13:18 +00:00
namespace DenyResponse {
enum : int {
2022-02-12 15:43:36 +00:00
OK,
ENFORCED,
NOT_ENFORCED,
ITEM_EXIST,
ITEM_NOT_EXIST,
INVALID_PKG,
NO_NS,
ERROR,
END
};
2022-03-01 10:13:18 +00:00
}
2022-02-12 15:43:36 +00:00
2021-09-12 19:40:34 +00:00
// CLI entries
2022-03-01 10:13:18 +00:00
int enable_deny();
int disable_deny();
int add_list(int client);
int rm_list(int client);
2021-09-12 19:40:34 +00:00
void ls_list(int client);
// Utility functions
bool is_deny_target(int uid, std::string_view process);
2021-10-27 10:54:48 +00:00
void revert_unmount();
2021-09-12 19:40:34 +00:00
2022-01-18 03:54:33 +00:00
extern std::atomic<bool> denylist_enforced;
extern std::atomic<int> cached_manager_app_id;