mirror of
https://github.com/c3lang/c3c.git
synced 2026-02-27 03:51:18 +00:00
* Change context destruction order. * enable emulated tls on termux * Fix stdlib on android * Add a CI workflow for android termux * update release notes * use the new unified CI tests on android --------- Co-authored-by: Christoffer Lerno <christoffer@aegik.com>
70 lines
2.7 KiB
Plaintext
70 lines
2.7 KiB
Plaintext
module std::os::android @if(env::ANDROID);
|
|
|
|
|
|
enum AndroidLogPriority : (CInt val)
|
|
{
|
|
ANDROID_LOG_UNKNOWN = 0,
|
|
ANDROID_LOG_DEFAULT = 1,
|
|
ANDROID_LOG_VERBOSE = 2,
|
|
ANDROID_LOG_DEBUG = 3,
|
|
ANDROID_LOG_INFO = 4,
|
|
ANDROID_LOG_WARN = 5,
|
|
ANDROID_LOG_ERROR = 6,
|
|
ANDROID_LOG_FATAL = 7,
|
|
ANDROID_LOG_SILENT = 8
|
|
}
|
|
|
|
enum AndroidLogId : (CInt val)
|
|
{
|
|
LOG_ID_MIN = 0,
|
|
LOG_ID_MAIN = 0,
|
|
LOG_ID_RADIO = 1,
|
|
LOG_ID_EVENTS = 2,
|
|
LOG_ID_SYSTEM = 3,
|
|
LOG_ID_CRASH = 4,
|
|
LOG_ID_STATS = 5,
|
|
LOG_ID_SECURITY = 6,
|
|
LOG_ID_KERNEL = 7,
|
|
LOG_ID_MAX = 7,
|
|
LOG_ID_DEFAULT = 0x7FFFFFFF
|
|
}
|
|
|
|
struct AndroidLogMessage @packed
|
|
{
|
|
usz struct_size;
|
|
CInt buffer_id;
|
|
CInt priority;
|
|
ZString tag;
|
|
ZString file;
|
|
CUInt line;
|
|
ZString message;
|
|
}
|
|
|
|
extern fn CInt log_write(AndroidLogPriority prio, ZString tag, ZString text) @cname("__android_log_write");
|
|
extern fn CInt log_print(AndroidLogPriority prio, ZString tag, ZString fmt, ...) @cname("__android_log_print");
|
|
extern fn void log_assert(ZString cond, ZString tag, ZString fmt, ...) @cname("__android_log_assert");
|
|
|
|
fn bool log_id_is_valid(AndroidLogId id)
|
|
{
|
|
return id >= LOG_ID_MIN && id < LOG_ID_MAX;
|
|
}
|
|
|
|
extern fn CInt log_buf_write(CInt bufID, CInt prio, ZString tag, ZString text) @cname("__android_log_buf_write");
|
|
extern fn CInt log_buf_print(CInt bufID, CInt prio, ZString tag, ZString fmt, ...) @cname("__android_log_buf_print");
|
|
|
|
alias LoggerFunction = fn void(AndroidLogMessage* log_message);
|
|
alias AborterFunction = fn void(ZString abort_message);
|
|
|
|
extern fn void log_write_log_message(AndroidLogMessage log_message) @cname("__android_log_write_log_message");
|
|
extern fn void log_set_logger(LoggerFunction logger) @cname("__android_log_set_logger");
|
|
extern fn void log_logd_logger(AndroidLogMessage log_message) @cname("__android_log_logd_logger");
|
|
extern fn void log_stderr_logger(AndroidLogMessage log_message) @cname("__android_log_stderr_logger");
|
|
extern fn void log_set_aborter(AborterFunction aborter) @cname("__android_log_set_aborter");
|
|
extern fn void log_call_aborter(ZString abort_message) @cname("__android_log_call_aborter");
|
|
extern fn void log_default_aborter(ZString abort_message) @cname("__android_log_default_aborter");
|
|
extern fn CInt log_is_loggable(CInt prio, ZString tag, CInt default_prio) @cname("__android_log_is_loggable");
|
|
extern fn CInt log_is_loggable_len(CInt prio, ZString tag, isz len, CInt default_prio) @cname("__android_log_is_loggable_len");
|
|
extern fn CInt log_set_minimum_priority(CInt priority) @cname("__android_log_set_minimum_priority");
|
|
extern fn CInt log_get_minimum_priority() @cname("__android_log_get_minimum_priority");
|
|
extern fn void log_set_default_tag(ZString tag) @cname("__android_log_set_default_tag");
|