summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2022-10-09 03:26:27 +0000
committerbors <bors@rust-lang.org>2022-10-09 03:26:27 +0000
commit96c85c1b913604fb5b1eb8822e344b7c08bcd6b9 (patch)
tree63ac5378324a1e39b201fd5f1e2e930498bd8349
parent8501d724da7859275f405d0effb76f570456b4f3 (diff)
parentb94ddf955e5726b4ec356228bd37c40caab58869 (diff)
downloadrust-libc-96c85c1b913604fb5b1eb8822e344b7c08bcd6b9.tar.gz
Auto merge of #2946 - devnexen:os_log_macos, r=JohnTitor
os_log/signpost for apple api subset
-rw-r--r--libc-test/build.rs1
-rw-r--r--libc-test/semver/apple.txt17
-rw-r--r--src/unix/bsd/apple/mod.rs24
3 files changed, 42 insertions, 0 deletions
diff --git a/libc-test/build.rs b/libc-test/build.rs
index 5376c46860..3611ae0923 100644
--- a/libc-test/build.rs
+++ b/libc-test/build.rs
@@ -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",
diff --git a/libc-test/semver/apple.txt b/libc-test/semver/apple.txt
index 83cd77d9a2..7235418174 100644
--- a/libc-test/semver/apple.txt
+++ b/libc-test/semver/apple.txt
@@ -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
@@ -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
diff --git a/src/unix/bsd/apple/mod.rs b/src/unix/bsd/apple/mod.rs
index 0662e81fc6..ed30286953 100644
--- a/src/unix/bsd/apple/mod.rs
+++ b/src/unix/bsd/apple/mod.rs
@@ -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;
@@ -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;
@@ -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,