Commit f86f531e9c
Changed files (1)
lib
std
lib/std/c/darwin.zig
@@ -853,6 +853,21 @@ pub const EAI = enum(c_int) {
pub const EAI_MAX = 15;
+pub const qos_class_t = enum(c_uint) {
+ /// highest priority QOS class for critical tasks
+ QOS_CLASS_USER_INTERACTIVE = 0x21,
+ /// slightly more moderate priority QOS class
+ QOS_CLASS_USER_INITIATED = 0x19,
+ /// default QOS class when none is set
+ QOS_CLASS_DEFAULT = 0x15,
+ /// more energy efficient QOS class than default
+ QOS_CLASS_UTILITY = 0x11,
+ /// QOS class more appropriate for background tasks
+ QOS_CLASS_BACKGROUND = 0x09,
+ /// QOS class as a return value
+ QOS_CLASS_UNSPECIFIED = 0x00,
+};
+
pub const pthread_mutex_t = extern struct {
__sig: c_long = 0x32AAABA7,
__opaque: [__PTHREAD_MUTEX_SIZE__]u8 = [_]u8{0} ** __PTHREAD_MUTEX_SIZE__,
@@ -877,6 +892,10 @@ pub const pthread_attr_t = extern struct {
pub extern "c" fn pthread_threadid_np(thread: ?std.c.pthread_t, thread_id: *u64) c_int;
pub extern "c" fn pthread_setname_np(name: [*:0]const u8) E;
pub extern "c" fn pthread_getname_np(thread: std.c.pthread_t, name: [*:0]u8, len: usize) E;
+pub extern "c" fn pthread_attr_set_qos_class_np(attr: *pthread_attr_t, qos_class: qos_class_t, relative_priority: c_int) c_int;
+pub extern "c" fn pthread_attr_get_qos_class_np(attr: *pthread_attr_t, qos_class: *qos_class_t, relative_priority: *c_int) c_int;
+pub extern "c" fn pthread_set_qos_class_self_np(qos_class: qos_class_t, relative_priority: c_int) c_int;
+pub extern "c" fn pthread_get_qos_class_np(pthread: std.c.pthread_t, qos_class: *qos_class_t, relative_priority: *c_int) c_int;
pub extern "c" fn arc4random_buf(buf: [*]u8, len: usize) void;