Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

at v5.14 73 lines 1.5 kB view raw
1/* SPDX-License-Identifier: GPL-2.0-or-later */ 2 3#ifndef _THINK_LMI_H_ 4#define _THINK_LMI_H_ 5 6#include <linux/types.h> 7 8#define TLMI_SETTINGS_COUNT 256 9#define TLMI_SETTINGS_MAXLEN 512 10#define TLMI_PWD_BUFSIZE 129 11#define TLMI_LANG_MAXLEN 4 12 13/* Possible error values */ 14struct tlmi_err_codes { 15 const char *err_str; 16 int err_code; 17}; 18 19enum encoding_option { 20 TLMI_ENCODING_ASCII, 21 TLMI_ENCODING_SCANCODE, 22}; 23 24/* password configuration details */ 25struct tlmi_pwdcfg { 26 uint32_t password_mode; 27 uint32_t password_state; 28 uint32_t min_length; 29 uint32_t max_length; 30 uint32_t supported_encodings; 31 uint32_t supported_keyboard; 32}; 33 34/* password setting details */ 35struct tlmi_pwd_setting { 36 struct kobject kobj; 37 bool valid; 38 char password[TLMI_PWD_BUFSIZE]; 39 const char *pwd_type; 40 const char *role; 41 int minlen; 42 int maxlen; 43 enum encoding_option encoding; 44 char kbdlang[TLMI_LANG_MAXLEN]; 45}; 46 47/* Attribute setting details */ 48struct tlmi_attr_setting { 49 struct kobject kobj; 50 int index; 51 char display_name[TLMI_SETTINGS_MAXLEN]; 52 char *possible_values; 53}; 54 55struct think_lmi { 56 struct wmi_device *wmi_device; 57 58 int settings_count; 59 bool can_set_bios_settings; 60 bool can_get_bios_selections; 61 bool can_set_bios_password; 62 bool can_get_password_settings; 63 bool pending_changes; 64 65 struct tlmi_attr_setting *setting[TLMI_SETTINGS_COUNT]; 66 struct device *class_dev; 67 struct kset *attribute_kset; 68 struct kset *authentication_kset; 69 struct tlmi_pwd_setting *pwd_admin; 70 struct tlmi_pwd_setting *pwd_power; 71}; 72 73#endif /* !_THINK_LMI_H_ */