summaryrefslogtreecommitdiffhomepage
path: root/include/ntapi/nt_pnp.h
diff options
context:
space:
mode:
authormidipix <writeonce@midipix.org>2015-07-27 04:01:18 -0400
committermidipix <writeonce@midipix.org>2015-07-27 04:01:18 -0400
commitdd89bb8ad4fe184a34b5dbdda237e640fc82121b (patch)
tree5e80d2da35f5892f92be29f57982b2708e6bd99b /include/ntapi/nt_pnp.h
parentdcdadc2702712fa750ed255ed1dfa354522797a0 (diff)
downloadntapi-dd89bb8ad4fe184a34b5dbdda237e640fc82121b.tar.bz2
ntapi-dd89bb8ad4fe184a34b5dbdda237e640fc82121b.tar.xz
entered advanced internal development stage.
Diffstat (limited to 'include/ntapi/nt_pnp.h')
-rw-r--r--include/ntapi/nt_pnp.h326
1 files changed, 326 insertions, 0 deletions
diff --git a/include/ntapi/nt_pnp.h b/include/ntapi/nt_pnp.h
new file mode 100644
index 0000000..e806baf
--- /dev/null
+++ b/include/ntapi/nt_pnp.h
@@ -0,0 +1,326 @@
+#ifndef _NT_PNP_H_
+#define _NT_PNP_H_
+
+#include <psxtypes/psxtypes.h>
+#include "nt_object.h"
+
+typedef enum _nt_latency_time {
+ NT_LT_DONT_CARE,
+ NT_LT_LOWEST_LATENCY
+} nt_latency_time;
+
+
+typedef enum _nt_device_power_state {
+ NT_POWER_DEVICE_UNSPECIFIED,
+ NT_POWER_DEVICE_D0,
+ NT_POWER_DEVICE_D1,
+ NT_POWER_DEVICE_D2,
+ NT_POWER_DEVICE_D3
+} nt_device_power_state;
+
+
+typedef enum _nt_power_action {
+ NT_POWER_ACTION_NONE,
+ NT_POWER_ACTION_RESERVED,
+ NT_POWER_ACTION_SLEEP,
+ NT_POWER_ACTION_HIBERNATE,
+ NT_POWER_ACTION_SHUTDOWN,
+ NT_POWER_ACTION_SHUTDOWN_RESET,
+ NT_POWER_ACTION_SHUTDOWN_OFF,
+} nt_power_action;
+
+
+typedef enum _nt_system_power_state {
+ NT_POWER_SYSTEM_UNSPECIFIED,
+ NT_POWER_SYSTEM_WORKING,
+ NT_POWER_SYSTEM_SLEEPING1,
+ NT_POWER_SYSTEM_SLEEPING2,
+ NT_POWER_SYSTEM_SLEEPING3,
+ NT_POWER_SYSTEM_HIBERNATE,
+ NT_POWER_SYSTEM_SHUTDOWN
+} nt_system_power_state;
+
+
+typedef enum _nt_power_info_level {
+ NT_SYSTEM_POWER_POLICY_AC,
+ NT_SYSTEM_POWER_POLICY_DC,
+ NT_VERIFY_SYSTEM_POLICY_AC,
+ NT_VERIFY_SYSTEM_POLICY_DC,
+ NT_SYSTEM_POWER_CAPABILITIES,
+ NT_SYSTEM_BATTERY_STATE,
+ NT_SYSTEM_POWER_STATE_HANDLER,
+ NT_PROCESSOR_STATE_HANDLER,
+ NT_SYSTEM_POWER_POLICY_CURRENT,
+ NT_ADMINISTRATOR_POWER_POLICY,
+ NT_SYSTEM_RESERVE_HIBER_FILE,
+ NT_PROCESSOR_INFORMATION,
+ NT_SYSTEM_POWER_INFORMATION
+} nt_power_info_level;
+
+
+/* execution state bits */
+#define NT_ES_SYSTEM_REQUIRED (0x00000001)
+#define NT_ES_DISPLAY_REQUIRED (0x00000002)
+#define NT_ES_USER_PRESENT (0x00000004)
+#define NT_ES_AWAYMODE_REQUIRED (0x00000040)
+#define NT_ES_CONTINUOUS (0x80000000)
+
+
+/* power action flag bits */
+#define NT_POWER_ACTION_QUERY_ALLOWED (0x00000001)
+#define NT_POWER_ACTION_UI_ALLOWED (0x00000002)
+#define NT_POWER_ACTION_OVERRIDE_APPS (0x00000004)
+#define NT_POWER_ACTION_LIGHTEST_FIRST (0x10000000)
+#define NT_POWER_ACTION_LOCK_CONSOLE (0x20000000)
+#define NT_POWER_ACTION_DISABLE_WAKES (0x40000000)
+#define NT_POWER_ACTION_CRITICAL (0x80000000)
+
+
+/* power state event codes */
+#define NT_POWER_LEVEL_USER_NOTIFY_TEXT (0x00000001)
+#define NT_POWER_LEVEL_USER_NOTIFY_SOUND (0x00000002)
+#define NT_POWER_LEVEL_USER_NOTIFY_EXEC (0x00000004)
+#define NT_POWER_USER_NOTIFY_BUTTON (0x00000008)
+#define NT_POWER_USER_NOTIFY_SHUTDOWN (0x00000010)
+#define NT_POWER_FORCE_TRIGGER_RESET (0x80000000)
+
+/* system power policy */
+#define NT_NUM_DISCHARGE_POLICIES (0x00000004)
+
+
+
+typedef struct _nt_power_action_policy {
+ nt_power_action action;
+ uint32_t action_flags;
+ uint32_t event_code;
+} nt_power_action_policy;
+
+
+typedef struct _nt_system_power_level {
+ unsigned char enable;
+ unsigned char padding[3];
+ uint32_t battery_level;
+ nt_power_action_policy power_policy;
+ nt_system_power_state min_system_state;
+} nt_system_power_level;
+
+
+typedef struct _nt_system_power_policy {
+ uint32_t revision;
+ nt_power_action_policy power_button;
+ nt_power_action_policy sleep_button;
+ nt_power_action_policy lid_close;
+ nt_system_power_state lid_open_wake;
+ uint32_t reserved_1st;
+ nt_power_action_policy idle;
+ uint32_t idle_timeout;
+ unsigned char idle_sensitivity;
+ unsigned char dynamic_throttle;
+ unsigned char padding[2];
+ nt_system_power_state min_sleep;
+ nt_system_power_state max_sleep;
+ nt_system_power_state reduced_latency_sleep;
+ uint32_t win_logon_flags;
+ uint32_t reserved_2nd;
+ uint32_t doze_s4_timeout;
+ uint32_t broadcast_capacity_resolution;
+ nt_system_power_level discharge_policy[NT_NUM_DISCHARGE_POLICIES];
+ uint32_t video_timeout;
+ unsigned char video_dim_display;
+ uint32_t video_reserved[3];
+ uint32_t spindown_timeout;
+ unsigned char optimize_for_power;
+ unsigned char fan_throttle_tolerance;
+ unsigned char forced_throttle;
+ unsigned char min_throttle;
+ nt_power_action_policy over_throttled;
+} nt_system_power_policy;
+
+
+typedef struct _nt_system_battery_state {
+ unsigned char ac_on_line;
+ unsigned char battery_present;
+ unsigned char charging;
+ unsigned char discharging;
+ unsigned char padding[4];
+ uint32_t max_capacity;
+ uint32_t remaining_capacity;
+ uint32_t rate;
+ uint32_t estimated_time;
+ uint32_t default_alert1;
+ uint32_t default_alert2;
+} nt_system_battery_state;
+
+
+typedef struct _nt_battery_reporting_scale {
+ uint32_t granularity;
+ uint32_t capacity;
+} nt_battery_reporting_scale;
+
+
+typedef struct _nt_system_power_capabilities {
+ unsigned char power_button_present;
+ unsigned char sleep_button_present;
+ unsigned char lid_present;
+ unsigned char system_s1;
+ unsigned char system_s2;
+ unsigned char system_s3;
+ unsigned char system_s4;
+ unsigned char system_s5;
+ unsigned char hiber_file_present;
+ unsigned char full_wake;
+ unsigned char video_dim_present;
+ unsigned char apm_present;
+ unsigned char ups_present;
+ unsigned char thermal_control;
+ unsigned char processor_throttle;
+ unsigned char processor_min_throttle;
+ unsigned char processor_max_throttle;
+ unsigned char fast_system_s4;
+ unsigned char hiber_boot;
+ unsigned char wake_alarm_present;
+ unsigned char ao_ac;
+ unsigned char disk_spin_down;
+ unsigned char padding[8];
+ unsigned char system_batteries_present;
+ unsigned char batteries_are_short_term;
+ nt_battery_reporting_scale battery_scale[3];
+ nt_system_power_state ac_on_line_wake;
+ nt_system_power_state soft_lid_wake;
+ nt_system_power_state rtc_wake;
+ nt_system_power_state min_device_wake_state;
+ nt_system_power_state default_low_latency_wake;
+} nt_system_power_capabilities;
+
+
+typedef struct _nt_system_power_information {
+ uint32_t max_idleness_allowed;
+ uint32_t idleness;
+ uint32_t time_remaining;
+ unsigned char cooling_mode;
+} nt_system_power_information;
+
+
+typedef struct _nt_system_power_status {
+ unsigned char ac_line_status;
+ unsigned char battery_flag;
+ unsigned char battery_life_percent;
+ unsigned char reserved;
+ uint32_t battery_life_time;
+ uint32_t battery_full_life_time;
+} nt_system_power_status;
+
+
+typedef struct _nt_administrator_power_policy {
+ nt_system_power_state min_sleep;
+ nt_system_power_state max_sleep;
+ uint32_t min_video_timeout;
+ uint32_t max_video_timeout;
+ uint32_t min_spindown_timeout;
+ uint32_t max_spindown_timeout;
+} nt_administrator_power_policy;
+
+
+typedef struct _nt_user_power_policy {
+ uint32_t revision;
+ nt_power_action_policy idle_ac;
+ nt_power_action_policy idle_dc;
+ uint32_t idle_timeout_ac;
+ uint32_t idle_timeout_dc;
+ unsigned char idle_sensitivity_ac;
+ unsigned char idle_sensitivity_dc;
+ unsigned char throttle_policy_ac;
+ unsigned char throttle_policy_dc;
+ nt_system_power_state max_sleep_ac;
+ nt_system_power_state max_sleep_dc;
+ uint32_t reserved[2];
+ uint32_t video_timeout_ac;
+ uint32_t video_timeout_dc;
+ uint32_t spindown_timeout_ac;
+ uint32_t spindown_timeout_dc;
+ unsigned char optimize_for_power_ac;
+ unsigned char optimize_for_power_dc;
+ unsigned char fan_throttle_tolerance_ac;
+ unsigned char fan_throttle_tolerance_dc;
+ unsigned char forced_throttle_ac;
+ unsigned char forced_throttle_dc;
+} nt_user_power_policy;
+
+
+typedef struct _nt_processor_power_information {
+ uint32_t number;
+ uint32_t max_mhz;
+ uint32_t current_mhz;
+ uint32_t mhz_limit;
+ uint32_t max_idle_state;
+ uint32_t current_idle_state;
+} nt_processor_power_information;
+
+
+typedef struct _nt_plug_play_notification_header {
+ uint16_t version;
+ uint16_t size;
+ nt_guid event;
+} nt_plug_play_notification_header;
+
+
+/* ZwRequestWakeupLatency: no longer present */
+typedef int32_t __stdcall ntapi_zw_request_wakeup_latency(
+ __in nt_latency_time latency);
+
+
+/* ZwRequestDeviceWakeup: no longer present */
+typedef int32_t __stdcall ntapi_zw_request_device_wakeup(
+ __in void * hdevice);
+
+
+/* ZwCancelDeviceWakeupRequest: no longer present */
+typedef int32_t __stdcall ntapi_zw_cancel_device_wakeup_request(
+ __in void * hdevice);
+
+
+typedef int32_t __stdcall ntapi_zw_is_system_resume_automatic(void);
+
+
+typedef int32_t __stdcall ntapi_zw_set_thread_execution_state(
+ __in uint32_t execution_state,
+ __out uint32_t * prev_execution_state);
+
+
+typedef int32_t __stdcall ntapi_zw_get_device_power_state(
+ __in void * hdevice,
+ __out nt_device_power_state * device_power_state);
+
+
+typedef int32_t __stdcall ntapi_zw_set_system_power_state(
+ __in nt_power_action system_action,
+ __in nt_system_power_state min_system_state,
+ __in uint32_t system_power_state_flags);
+
+
+typedef int32_t __stdcall ntapi_zw_initiate_power_action(
+ __in nt_power_action system_action,
+ __in nt_system_power_state min_system_statem,
+ __in uint32_t system_power_state_flags,
+ __in unsigned char async);
+
+typedef int32_t __stdcall ntapi_zw_power_information(
+ __in nt_power_info_level power_info_level,
+ __in void * input_buffer __optional,
+ __in uint32_t input_buffer_length,
+ __out void * output_buffer __optional,
+ __in uint32_t output_buffer_length);
+
+
+typedef int32_t __stdcall ntapi_zw_plug_play_control(
+ __in uint32_t pnp_control_code,
+ __in_out void * buffer,
+ __in uint32_t buffer_length);
+
+typedef int32_t __stdcall ntapi_zw_get_plug_play_event(
+ __in uint32_t reserved_1st,
+ __in uint32_t reserved_2nd,
+ __out void * buffer,
+ __in uint32_t buffer_length);
+
+#endif