]> git.saurik.com Git - apple/libc.git/blobdiff - include/libkern/OSThermalNotification.h
Libc-1439.100.3.tar.gz
[apple/libc.git] / include / libkern / OSThermalNotification.h
index da74a597406d419614e890dd69c1241769a2fcaa..beeed587d196fcc72a4c9a2a44ba730e2029eae9 100644 (file)
@@ -25,6 +25,7 @@
 #define _OSTHERMALNOTIFICATION_H_
 
 #include <sys/cdefs.h>
+#include <Availability.h>
 
 /*
 **  OSThermalNotification.h
 
 __BEGIN_DECLS
 
+/* Define pressure levels usable by OSThermalPressureLevel */
+typedef enum {
+#if TARGET_OS_OSX || TARGET_OS_MACCATALYST
+       kOSThermalPressureLevelNominal = 0,
+       kOSThermalPressureLevelModerate,
+       kOSThermalPressureLevelHeavy,
+       kOSThermalPressureLevelTrapping,
+       kOSThermalPressureLevelSleeping
+#else
+       kOSThermalPressureLevelNominal = 0,
+       kOSThermalPressureLevelLight = 10,
+       kOSThermalPressureLevelModerate = 20,
+       kOSThermalPressureLevelHeavy = 30,
+       kOSThermalPressureLevelTrapping = 40,
+       kOSThermalPressureLevelSleeping = 50
+#endif
+} OSThermalPressureLevel;
+
+/*
+ ** External notify(3) string for thermal pressure level notification
+ */
+__OSX_AVAILABLE_STARTING(__MAC_10_10, __IPHONE_7_0)
+extern const char * const kOSThermalNotificationPressureLevelName;
+
+
+#if defined(__IPHONE_OS_VERSION_MIN_REQUIRED) && \
+       __IPHONE_OS_VERSION_MIN_REQUIRED >= __IPHONE_2_0
+
 typedef enum {
        OSThermalNotificationLevelAny      = -1,
        OSThermalNotificationLevelNormal   =  0,
-       OSThermalNotificationLevel70PercentBacklight  =  3,
-       OSThermalNotificationLevel50PercentBacklight  =  5,
-       OSThermalNotificationLevelAppTerminate  =  12,
-       OSThermalNotificationLevelDeviceRestart = 16
 } OSThermalNotificationLevel;
 
+extern OSThermalNotificationLevel _OSThermalNotificationLevelForBehavior(int) __OSX_AVAILABLE_STARTING(__MAC_NA, __IPHONE_4_2);
+extern void _OSThermalNotificationSetLevelForBehavior(int, int) __OSX_AVAILABLE_STARTING(__MAC_NA, __IPHONE_4_2);
+
+enum {
+       kOSThermalMitigationNone,
+       kOSThermalMitigation70PercentTorch,
+       kOSThermalMitigation70PercentBacklight,
+       kOSThermalMitigation50PercentTorch,
+       kOSThermalMitigation50PercentBacklight,
+       kOSThermalMitigationDisableTorch,
+       kOSThermalMitigation25PercentBacklight,
+       kOSThermalMitigationDisableMapsHalo,
+       kOSThermalMitigationAppTerminate,
+       kOSThermalMitigationDeviceRestart,
+       kOSThermalMitigationThermalTableReady,
+       kOSThermalMitigationCount
+};
+
+#define OSThermalNotificationLevel70PercentTorch _OSThermalNotificationLevelForBehavior(kOSThermalMitigation70PercentTorch)
+#define OSThermalNotificationLevel70PercentBacklight _OSThermalNotificationLevelForBehavior(kOSThermalMitigation70PercentBacklight)
+#define OSThermalNotificationLevel50PercentTorch _OSThermalNotificationLevelForBehavior(kOSThermalMitigation50PercentTorch)
+#define OSThermalNotificationLevel50PercentBacklight _OSThermalNotificationLevelForBehavior(kOSThermalMitigation50PercentBacklight)
+#define OSThermalNotificationLevelDisableTorch _OSThermalNotificationLevelForBehavior(kOSThermalMitigationDisableTorch)
+#define OSThermalNotificationLevel25PercentBacklight _OSThermalNotificationLevelForBehavior(kOSThermalMitigation25PercentBacklight)
+#define OSThermalNotificationLevelDisableMapsHalo _OSThermalNotificationLevelForBehavior(kOSThermalMitigationDisableMapsHalo)
+#define OSThermalNotificationLevelAppTerminate _OSThermalNotificationLevelForBehavior(kOSThermalMitigationAppTerminate)
+#define OSThermalNotificationLevelDeviceRestart _OSThermalNotificationLevelForBehavior(kOSThermalMitigationDeviceRestart)
+
 /* Backwards compatibility */
 #define OSThermalNotificationLevelWarning OSThermalNotificationLevel70PercentBacklight
 #define OSThermalNotificationLevelUrgent OSThermalNotificationLevelAppTerminate
@@ -54,14 +107,28 @@ typedef enum {
 /*
 ** Simple polling interface to detect current thermal level
 */
-
-OSThermalNotificationLevel OSThermalNotificationCurrentLevel(void);
+__OSX_AVAILABLE_STARTING(__MAC_NA, __IPHONE_2_0)
+extern OSThermalNotificationLevel OSThermalNotificationCurrentLevel(void);
 
 /*
 ** External notify(3) string for manual notification setup
 */
+__OSX_AVAILABLE_STARTING(__MAC_NA, __IPHONE_2_0)
+extern const char * const kOSThermalNotificationName;
+
+/*
+** External notify(3) string for alerting user of a thermal condition
+*/
+__OSX_AVAILABLE_STARTING(__MAC_NA, __IPHONE_6_0)
+extern const char * const kOSThermalNotificationAlert;
+
+/*
+** External notify(3) string for notifying system the options taken to resolve thermal condition
+*/
+__OSX_AVAILABLE_STARTING(__MAC_NA, __IPHONE_6_0)
+extern const char * const kOSThermalNotificationDecision;
 
-extern const char *kOSThermalNotificationName;
+#endif // __IPHONE_OS_VERSION_MIN_REQUIRED
 
 __END_DECLS