Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

os_log/signpost for apple api subset #2946

Merged
merged 1 commit into from Oct 9, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
1 change: 1 addition & 0 deletions libc-test/build.rs
Expand Up @@ -232,6 +232,7 @@ fn test_apple(target: &str) {
"netinet/tcp.h",
"netinet/udp.h",
"os/lock.h",
"os/signpost.h",
"poll.h",
"pthread.h",
"pthread_spis.h",
Expand Down
17 changes: 17 additions & 0 deletions libc-test/semver/apple.txt
Expand Up @@ -1003,6 +1003,14 @@ OFDEL
OFILL
OLD_TIME
ONOEOT
OS_LOG_TYPE_DEBUG
OS_LOG_TYPE_DEFAULT
OS_LOG_TYPE_ERROR
OS_LOG_TYPE_FAULT
OS_LOG_TYPE_INFO
OS_SIGNPOST_EVENT
OS_SIGNPOST_INTERVAL_BEGIN
OS_SIGNPOST_INTERVAL_END
OS_UNFAIR_LOCK_INIT
OXTABS
O_ASYNC
Expand Down Expand Up @@ -1994,6 +2002,15 @@ open_memstream
open_wmemstream
openat
openpty
os_log_create
os_log_t
os_log_type_t
os_log_type_enabled
os_signpost_enabled
os_signpost_id_generate
os_signpost_id_make_with_pointer
os_signpost_id_t
os_signpost_type_t
os_unfair_lock
os_unfair_lock_s
os_unfair_lock_t
Expand Down
24 changes: 24 additions & 0 deletions src/unix/bsd/apple/mod.rs
Expand Up @@ -124,6 +124,11 @@ pub type pthread_jit_write_callback_t = ::Option<extern "C" fn(ctx: *mut ::c_voi
pub type os_unfair_lock = os_unfair_lock_s;
pub type os_unfair_lock_t = *mut os_unfair_lock;

pub type os_log_t = *mut ::c_void;
pub type os_log_type_t = u8;
pub type os_signpost_id_t = u64;
pub type os_signpost_type_t = u8;

pub type vm_statistics_t = *mut vm_statistics;
pub type vm_statistics_data_t = vm_statistics;
pub type vm_statistics64_t = *mut vm_statistics64;
Expand Down Expand Up @@ -3895,6 +3900,16 @@ pub const OS_UNFAIR_LOCK_INIT: os_unfair_lock = os_unfair_lock {
_os_unfair_lock_opaque: 0,
};

pub const OS_LOG_TYPE_DEFAULT: ::os_log_type_t = 0x00;
pub const OS_LOG_TYPE_INFO: ::os_log_type_t = 0x01;
pub const OS_LOG_TYPE_DEBUG: ::os_log_type_t = 0x02;
pub const OS_LOG_TYPE_ERROR: ::os_log_type_t = 0x10;
pub const OS_LOG_TYPE_FAULT: ::os_log_type_t = 0x11;

pub const OS_SIGNPOST_EVENT: ::os_signpost_type_t = 0x00;
pub const OS_SIGNPOST_INTERVAL_BEGIN: ::os_signpost_type_t = 0x01;
pub const OS_SIGNPOST_INTERVAL_END: ::os_signpost_type_t = 0x02;

pub const MINSIGSTKSZ: ::size_t = 32768;
pub const SIGSTKSZ: ::size_t = 131072;

Expand Down Expand Up @@ -5259,6 +5274,15 @@ extern "C" {
pub fn os_unfair_lock_assert_owner(lock: os_unfair_lock_t);
pub fn os_unfair_lock_assert_not_owner(lock: os_unfair_lock_t);

pub fn os_log_create(subsystem: *const ::c_char, category: *const ::c_char) -> ::os_log_t;
pub fn os_log_type_enabled(oslog: ::os_log_t, tpe: ::os_log_type_t) -> bool;
pub fn os_signpost_id_make_with_pointer(
log: ::os_log_t,
ptr: *const ::c_void,
) -> ::os_signpost_id_t;
pub fn os_signpost_id_generate(log: ::os_log_t) -> ::os_signpost_id_t;
pub fn os_signpost_enabled(log: ::os_log_t) -> bool;

pub fn thread_policy_set(
thread: thread_t,
flavor: thread_policy_flavor_t,
Expand Down