]> git.saurik.com Git - apple/libpthread.git/blobdiff - pthread/qos.h
libpthread-330.201.1.tar.gz
[apple/libpthread.git] / pthread / qos.h
index fa0f832f7e61c85a177f6c4ac7c7224544f8ba38..9c1bfd8a2bbf45994ad1bed87ac4f5b55713cb8f 100644 (file)
@@ -25,6 +25,8 @@
 #define _PTHREAD_QOS_H
 
 #include <sys/cdefs.h>
+#include <sys/_pthread/_pthread_attr_t.h> /* pthread_attr_t */
+#include <sys/_pthread/_pthread_t.h>      /* pthread_t */
 #include <Availability.h>
 
 #if __DARWIN_C_LEVEL >= __DARWIN_C_FULL
@@ -33,6 +35,9 @@
 
 #ifndef KERNEL
 
+#if __has_feature(assume_nonnull)
+_Pragma("clang assume_nonnull begin")
+#endif
 __BEGIN_DECLS
 
 /*!
@@ -73,7 +78,7 @@ __BEGIN_DECLS
  * @return
  * Zero if successful, otherwise an errno value.
  */
-__OSX_AVAILABLE_STARTING(__MAC_10_10, __IPHONE_8_0)
+__API_AVAILABLE(macos(10.10), ios(8.0))
 int
 pthread_attr_set_qos_class_np(pthread_attr_t *__attr,
                qos_class_t __qos_class, int __relative_priority);
@@ -104,11 +109,11 @@ pthread_attr_set_qos_class_np(pthread_attr_t *__attr,
  * @return
  * Zero if successful, otherwise an errno value.
  */
-__OSX_AVAILABLE_STARTING(__MAC_10_10, __IPHONE_8_0)
+__API_AVAILABLE(macos(10.10), ios(8.0))
 int
 pthread_attr_get_qos_class_np(pthread_attr_t * __restrict __attr,
-               qos_class_t * __restrict __qos_class,
-               int * __restrict __relative_priority);
+               qos_class_t * _Nullable __restrict __qos_class,
+               int * _Nullable __restrict __relative_priority);
 
 /*!
  * @function pthread_set_qos_class_self_np
@@ -145,7 +150,7 @@ pthread_attr_get_qos_class_np(pthread_attr_t * __restrict __attr,
  * @return
  * Zero if successful, otherwise an errno value.
  */
-__OSX_AVAILABLE_STARTING(__MAC_10_10, __IPHONE_8_0)
+__API_AVAILABLE(macos(10.10), ios(8.0))
 int
 pthread_set_qos_class_self_np(qos_class_t __qos_class,
                int __relative_priority);
@@ -176,11 +181,11 @@ pthread_set_qos_class_self_np(qos_class_t __qos_class,
  * @return
  * Zero if successful, otherwise an errno value.
  */
-__OSX_AVAILABLE_STARTING(__MAC_10_10, __IPHONE_8_0)
+__API_AVAILABLE(macos(10.10), ios(8.0))
 int
 pthread_get_qos_class_np(pthread_t __pthread,
-               qos_class_t * __restrict __qos_class,
-               int * __restrict __relative_priority);
+               qos_class_t * _Nullable __restrict __qos_class,
+               int * _Nullable __restrict __relative_priority);
 
 /*!
  * @typedef pthread_override_t
@@ -255,7 +260,7 @@ typedef struct pthread_override_s* pthread_override_t;
  * A newly allocated override object if successful, or NULL if the override
  * could not be started.
  */
-__OSX_AVAILABLE_STARTING(__MAC_10_10, __IPHONE_8_0)
+__API_AVAILABLE(macos(10.10), ios(8.0))
 pthread_override_t
 pthread_override_qos_class_start_np(pthread_t __pthread,
                qos_class_t __qos_class, int __relative_priority);
@@ -283,11 +288,14 @@ pthread_override_qos_class_start_np(pthread_t __pthread,
  * @return
  * Zero if successful, otherwise an errno value.
  */
-__OSX_AVAILABLE_STARTING(__MAC_10_10, __IPHONE_8_0)
+__API_AVAILABLE(macos(10.10), ios(8.0))
 int
 pthread_override_qos_class_end_np(pthread_override_t __override);
 
 __END_DECLS
+#if __has_feature(assume_nonnull)
+_Pragma("clang assume_nonnull end")
+#endif
 
 #endif // KERNEL