/**************************************************************************** Copyright (c) 1996 Microsoft Corporation Module Name: hctioctl.h Abstract: This header file is used both by ring3 app and ring0 driver. Environment: Kernel & user mode Revision History: 8-20-96 : created ****************************************************************************/ // //Values for IOCTL_ACPI_GET_CAPABILITIES // #define SYSTEM_S1_BIT 0 #define SYSTEM_S1 (1 << SYSTEM_S1_BIT) #define SYSTEM_S2_BIT 1 #define SYSTEM_S2 (1 << SYSTEM_S2_BIT) #define SYSTEM_S3_BIT 2 #define SYSTEM_S3 (1 << SYSTEM_S3_BIT) #define CPU_C1_BIT 3 #define CPU_C1 (1 << CPU_C1_BIN) #define CPU_C2_BIT 4 #define CPU_C2 (1 << CPU_C2_BIT) #define CPU_C3_BIT 5 #define CPU_C3 (1 << CPU_C3_BIT) // //Processor States // #define CPU_STATE_C1 1 #define CPU_STATE_C2 2 #define CPU_STATE_C3 3 // //Fan States // #define FAN_OFF 0 #define FAN_ON 1 // // IOCTL info // #define ACPIHCT_IOCTL_INDEX 80 // //The input buffer must contain a ULONG pointer to one of the // SYSTEM_POWER_STATE enum values. // #define IOCTL_ACPI_SET_SYSTEM_STATE CTL_CODE(FILE_DEVICE_UNKNOWN, \ ACPIHCT_IOCTL_INDEX+0, \ METHOD_BUFFERED, \ FILE_ANY_ACCESS) // //The input buffer must contain a ULONG pointer to one of the // Processor States. // #define IOCTL_ACPI_SET_PROCESSOR_STATE CTL_CODE(FILE_DEVICE_UNKNOWN, \ ACPIHCT_IOCTL_INDEX+1, \ METHOD_BUFFERED, \ FILE_ANY_ACCESS) // //The input buffer must contain a ULONG pointer to on of the Fan // States. // #define IOCTL_ACPI_SET_FAN_STATE CTL_CODE(FILE_DEVICE_UNKNOWN, \ ACPIHCT_IOCTL_INDEX+2, \ METHOD_BUFFERED, \ FILE_ANY_ACCESS) // //The output buffer must contain a ULONG pointer. The ACPI driver will // fill this buffer with the capabilities of the machine. // #define IOCTL_ACPI_GET_CAPABILITIES CTL_CODE(FILE_DEVICE_UNKNOWN, \ ACPIHCT_IOCTL_INDEX+3, \ METHOD_BUFFERED, \ FILE_ANY_ACCESS) // //The input buffer must contain a ULONG pointer to a percentage (a // number between 1 and 100). // #define IOCTL_ACPI_SET_CPU_DUTY_CYCLE CTL_CODE(FILE_DEVICE_UNKNOWN, \ ACPIHCT_IOCTL_INDEX+4, \ METHOD_BUFFERED, \ FILE_ANY_ACCESS) // //The input buffer must contain a point to a TIME_FIELDS structure // #define IOCTL_ACPI_SET_RTC_WAKE CTL_CODE(FILE_DEVICE_UNKNOWN, \ ACPIHCT_IOCTL_INDEX+5, \ METHOD_BUFFERED, \ FILE_ANY_ACCESS) // //The output buffer points to a structure that will receive a // TIME_FIELDS structure // #define IOCTL_ACPI_GET_RTC_WAKE CTL_CODE(FILE_DEVICE_UNKNOWN, \ ACPIHCT_IOCTL_INDEX+6, \ METHOD_BUFFERED, \ FILE_ANY_ACCESS) #define IOCTL_ACPI_GET_TEMPERATURE CTL_CODE(FILE_DEVICE_UNKNOWN, \ ACPIHCT_IOCTL_INDEX+7, \ METHOD_BUFFERED, \ FILE_ANY_ACCESS)