Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
poclass.h
00001 /* 00002 * poclass.h 00003 * 00004 * Power policy driver interface 00005 * 00006 * This file is part of the w32api package. 00007 * 00008 * Contributors: 00009 * Created by Casper S. Hornstrup <chorns@users.sourceforge.net> 00010 * 00011 * THIS SOFTWARE IS NOT COPYRIGHTED 00012 * 00013 * This source code is offered for use in the public domain. You may 00014 * use, modify or distribute it freely. 00015 * 00016 * This code is distributed in the hope that it will be useful but 00017 * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY 00018 * DISCLAIMED. This includes but is not limited to warranties of 00019 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 00020 * 00021 */ 00022 00023 #ifndef __POCLASS_H 00024 #define __POCLASS_H 00025 00026 #if __GNUC__ >=3 00027 #pragma GCC system_header 00028 #endif 00029 00030 #ifdef __cplusplus 00031 extern "C" { 00032 #endif 00033 00034 #include "ntddk.h" 00035 #include "batclass.h" 00036 00037 DEFINE_GUID(GUID_CLASS_INPUT, 00038 0x4D1E55B2L, 0xF16F, 0x11CF, 0x88, 0xCB, 0x00, 0x11, 0x11, 0x00, 0x00, 0x30); 00039 00040 DEFINE_GUID(GUID_DEVICE_LID, 00041 0x4AFA3D52L, 0x74A7, 0x11d0, 0xbe, 0x5e, 0x00, 0xA0, 0xC9, 0x06, 0x28, 0x57); 00042 00043 DEFINE_GUID(GUID_DEVICE_MEMORY, 00044 0x3fd0f03dL, 0x92e0, 0x45fb, 0xb7, 0x5c, 0x5e, 0xd8, 0xff, 0xb0, 0x10, 0x21); 00045 00046 DEFINE_GUID(GUID_DEVICE_MESSAGE_INDICATOR, 00047 0XCD48A365L, 0xfa94, 0x4ce2, 0xa2, 0x32, 0xa1, 0xb7, 0x64, 0xe5, 0xd8, 0xb4); 00048 00049 DEFINE_GUID(GUID_DEVICE_PROCESSOR, 00050 0x97fadb10L, 0x4e33, 0x40ae, 0x35, 0x9c, 0x8b, 0xef, 0x02, 0x9d, 0xbd, 0xd0); 00051 00052 DEFINE_GUID(GUID_DEVICE_SYS_BUTTON, 00053 0x4AFA3D53L, 0x74A7, 0x11d0, 0xbe, 0x5e, 0x00, 0xA0, 0xC9, 0x06, 0x28, 0x57); 00054 00055 DEFINE_GUID(GUID_DEVICE_THERMAL_ZONE, 00056 0x4AFA3D51L, 0x74A7, 0x11d0, 0xbe, 0x5e, 0x00, 0xA0, 0xC9, 0x06, 0x28, 0x57); 00057 00058 00059 #define IOCTL_GET_PROCESSOR_OBJ_INFO \ 00060 CTL_CODE(FILE_DEVICE_BATTERY, 0x60, METHOD_BUFFERED, FILE_READ_ACCESS) 00061 00062 #define IOCTL_GET_SYS_BUTTON_CAPS \ 00063 CTL_CODE(FILE_DEVICE_BATTERY, 0x50, METHOD_BUFFERED, FILE_READ_ACCESS) 00064 00065 #define IOCTL_GET_SYS_BUTTON_EVENT \ 00066 CTL_CODE(FILE_DEVICE_BATTERY, 0x51, METHOD_BUFFERED, FILE_READ_ACCESS) 00067 00068 #define IOCTL_SET_SYS_MESSAGE_INDICATOR \ 00069 CTL_CODE(FILE_DEVICE_BATTERY, 0x70, METHOD_BUFFERED, FILE_WRITE_ACCESS) 00070 00071 #define IOCTL_NOTIFY_SWITCH_EVENT \ 00072 CTL_CODE(FILE_DEVICE_BATTERY, 0x40, METHOD_BUFFERED, FILE_READ_ACCESS) 00073 00074 #define IOCTL_THERMAL_QUERY_INFORMATION \ 00075 CTL_CODE(FILE_DEVICE_BATTERY, 0x20, METHOD_BUFFERED, FILE_READ_ACCESS) 00076 00077 #define IOCTL_THERMAL_SET_COOLING_POLICY \ 00078 CTL_CODE(FILE_DEVICE_BATTERY, 0x21, METHOD_BUFFERED, FILE_WRITE_ACCESS) 00079 00080 #define IOCTL_QUERY_LID \ 00081 CTL_CODE(FILE_DEVICE_BATTERY, 0x30, METHOD_BUFFERED, FILE_READ_ACCESS) 00082 00083 #define IOCTL_RUN_ACTIVE_COOLING_METHOD \ 00084 CTL_CODE(FILE_DEVICE_BATTERY, 0x22, METHOD_BUFFERED, FILE_WRITE_ACCESS) 00085 00086 #define SYS_BUTTON_POWER 0x00000001 00087 #define SYS_BUTTON_SLEEP 0x00000002 00088 #define SYS_BUTTON_LID 0x00000004 00089 #define SYS_BUTTON_WAKE 0x80000000 00090 00091 #define MAX_ACTIVE_COOLING_LEVELS 10 00092 #define ACTIVE_COOLING 0 00093 #define PASSIVE_COOLING 1 00094 00095 typedef struct _THERMAL_INFORMATION { 00096 ULONG ThermalStamp; 00097 ULONG ThermalConstant1; 00098 ULONG ThermalConstant2; 00099 KAFFINITY Processors; 00100 ULONG SamplingPeriod; 00101 ULONG CurrentTemperature; 00102 ULONG PassiveTripPoint; 00103 ULONG CriticalTripPoint; 00104 UCHAR ActiveTripPointCount; 00105 ULONG ActiveTripPoint[MAX_ACTIVE_COOLING_LEVELS]; 00106 } THERMAL_INFORMATION, *PTHERMAL_INFORMATION; 00107 00108 typedef struct _PROCESSOR_OBJECT_INFO { 00109 ULONG PhysicalID; 00110 ULONG PBlkAddress; 00111 UCHAR PBlkLength; 00112 } PROCESSOR_OBJECT_INFO, *PPROCESSOR_OBJECT_INFO; 00113 00114 #ifdef __cplusplus 00115 } 00116 #endif 00117 00118 #endif /* __POCLASS_H */
Generated on Tue Jul 12 2022 19:59:55 by
