1 /* 2 * This header was generated from the Linux kernel headers by update_headers.py, 3 * to provide necessary information from kernel to userspace, such as constants, 4 * structures, and macros, and thus, contains no copyrightable information. 5 */ 6 #ifndef _UAPI_LINUX_WMI_H 7 #define _UAPI_LINUX_WMI_H 8 #include <linux/ioctl.h> 9 #include <linux/types.h> 10 #define WMI_IOC 'W' 11 struct wmi_ioctl_buffer { 12 __u64 length; 13 __u8 data[]; 14 }; 15 struct calling_interface_buffer { 16 __u16 cmd_class; 17 __u16 cmd_select; 18 volatile __u32 input[4]; 19 volatile __u32 output[4]; 20 } __packed; 21 struct dell_wmi_extensions { 22 __u32 argattrib; 23 __u32 blength; 24 __u8 data[]; 25 } __packed; 26 struct dell_wmi_smbios_buffer { 27 __u64 length; 28 struct calling_interface_buffer std; 29 struct dell_wmi_extensions ext; 30 } __packed; 31 #define CLASS_TOKEN_READ 0 32 #define CLASS_TOKEN_WRITE 1 33 #define SELECT_TOKEN_STD 0 34 #define SELECT_TOKEN_BAT 1 35 #define SELECT_TOKEN_AC 2 36 #define CLASS_FLASH_INTERFACE 7 37 #define SELECT_FLASH_INTERFACE 3 38 #define CLASS_ADMIN_PROP 10 39 #define SELECT_ADMIN_PROP 3 40 #define CLASS_INFO 17 41 #define SELECT_RFKILL 11 42 #define SELECT_APP_REGISTRATION 3 43 #define SELECT_DOCK 22 44 #define CAPSULE_EN_TOKEN 0x0461 45 #define CAPSULE_DIS_TOKEN 0x0462 46 #define WSMT_EN_TOKEN 0x04EC 47 #define WSMT_DIS_TOKEN 0x04ED 48 #define DELL_WMI_SMBIOS_CMD _IOWR(WMI_IOC, 0, struct dell_wmi_smbios_buffer) 49 #endif 50