1 /**************************************************************************** 2 **************************************************************************** 3 *** 4 *** This header was automatically generated from a Linux kernel header 5 *** of the same name, to make information necessary for userspace to 6 *** call into the kernel available to libc. It contains only constants, 7 *** structures, and macros generated from the original header, and thus, 8 *** contains no copyrightable information. 9 *** 10 *** To edit the content of this header, modify the corresponding 11 *** source file (e.g. under external/kernel-headers/original/) then 12 *** run bionic/libc/kernel/tools/update_all.py 13 *** 14 *** Any manual change here will be lost the next time this script will 15 *** be run. You've been warned! 16 *** 17 **************************************************************************** 18 ****************************************************************************/ 19 #ifndef __LINUX_IPMI_SMI_H 20 #define __LINUX_IPMI_SMI_H 21 #include <linux/ipmi_msgdefs.h> 22 #include <linux/proc_fs.h> 23 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 24 #include <linux/module.h> 25 #include <linux/device.h> 26 #include <linux/platform_device.h> 27 #include <linux/ipmi_smi.h> 28 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 29 typedef struct ipmi_smi *ipmi_smi_t; 30 struct ipmi_smi_msg 31 { 32 struct list_head link; 33 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 34 long msgid; 35 void *user_data; 36 int data_size; 37 unsigned char data[IPMI_MAX_MSG_LENGTH]; 38 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 39 int rsp_size; 40 unsigned char rsp[IPMI_MAX_MSG_LENGTH]; 41 void (*done)(struct ipmi_smi_msg *msg); 42 }; 43 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 44 struct ipmi_smi_handlers 45 { 46 struct module *owner; 47 int (*start_processing)(void *send_info, 48 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 49 ipmi_smi_t new_intf); 50 void (*sender)(void *send_info, 51 struct ipmi_smi_msg *msg, 52 int priority); 53 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 54 void (*request_events)(void *send_info); 55 void (*set_run_to_completion)(void *send_info, int run_to_completion); 56 void (*poll)(void *send_info); 57 int (*inc_usecount)(void *send_info); 58 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 59 void (*dec_usecount)(void *send_info); 60 }; 61 struct ipmi_device_id { 62 unsigned char device_id; 63 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 64 unsigned char device_revision; 65 unsigned char firmware_revision_1; 66 unsigned char firmware_revision_2; 67 unsigned char ipmi_version; 68 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 69 unsigned char additional_device_support; 70 unsigned int manufacturer_id; 71 unsigned int product_id; 72 unsigned char aux_firmware_revision[4]; 73 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 74 unsigned int aux_firmware_revision_set : 1; 75 }; 76 #define ipmi_version_major(v) ((v)->ipmi_version & 0xf) 77 #define ipmi_version_minor(v) ((v)->ipmi_version >> 4) 78 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 79 struct ipmi_smi_msg *ipmi_alloc_smi_msg(void); 80 #endif 81