0001
0002
0003
0004
0005
0006
0007 #ifndef _UAPI_LINUX_WMI_H
0008 #define _UAPI_LINUX_WMI_H
0009
0010 #include <linux/ioctl.h>
0011 #include <linux/types.h>
0012
0013
0014 #define WMI_IOC 'W'
0015
0016
0017
0018
0019 struct wmi_ioctl_buffer {
0020 __u64 length;
0021 __u8 data[];
0022 };
0023
0024
0025
0026
0027 struct calling_interface_buffer {
0028 __u16 cmd_class;
0029 __u16 cmd_select;
0030 volatile __u32 input[4];
0031 volatile __u32 output[4];
0032 } __packed;
0033
0034 struct dell_wmi_extensions {
0035 __u32 argattrib;
0036 __u32 blength;
0037 __u8 data[];
0038 } __packed;
0039
0040 struct dell_wmi_smbios_buffer {
0041 __u64 length;
0042 struct calling_interface_buffer std;
0043 struct dell_wmi_extensions ext;
0044 } __packed;
0045
0046
0047 #define CLASS_TOKEN_READ 0
0048 #define CLASS_TOKEN_WRITE 1
0049 #define SELECT_TOKEN_STD 0
0050 #define SELECT_TOKEN_BAT 1
0051 #define SELECT_TOKEN_AC 2
0052 #define CLASS_FLASH_INTERFACE 7
0053 #define SELECT_FLASH_INTERFACE 3
0054 #define CLASS_ADMIN_PROP 10
0055 #define SELECT_ADMIN_PROP 3
0056 #define CLASS_INFO 17
0057 #define SELECT_RFKILL 11
0058 #define SELECT_APP_REGISTRATION 3
0059 #define SELECT_DOCK 22
0060
0061
0062 #define CAPSULE_EN_TOKEN 0x0461
0063 #define CAPSULE_DIS_TOKEN 0x0462
0064 #define WSMT_EN_TOKEN 0x04EC
0065 #define WSMT_DIS_TOKEN 0x04ED
0066
0067
0068 #define DELL_WMI_SMBIOS_CMD _IOWR(WMI_IOC, 0, struct dell_wmi_smbios_buffer)
0069
0070 #endif