X-Git-Url: https://git.saurik.com/apple/libc.git/blobdiff_plain/b5d655f7532a546b54809da387f7467d128a756b..refs/heads/master:/include/libkern/OSThermalNotification.h?ds=inline diff --git a/include/libkern/OSThermalNotification.h b/include/libkern/OSThermalNotification.h index da74a59..beeed58 100644 --- a/include/libkern/OSThermalNotification.h +++ b/include/libkern/OSThermalNotification.h @@ -25,6 +25,7 @@ #define _OSTHERMALNOTIFICATION_H_ #include +#include /* ** OSThermalNotification.h @@ -37,15 +38,67 @@ __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