diff options
author | The Android Open Source Project <initial-contribution@android.com> | 2008-10-21 07:00:00 -0700 |
---|---|---|
committer | The Android Open Source Project <initial-contribution@android.com> | 2008-10-21 07:00:00 -0700 |
commit | a27d2baa0c1a2ec70f47ea9199b1dd6762c8a349 (patch) | |
tree | defd1cc07d16ad2f3b21154114e092d11c94c5bb /libc/kernel/common/linux/ipmi_smi.h | |
download | bionic-a27d2baa0c1a2ec70f47ea9199b1dd6762c8a349.zip bionic-a27d2baa0c1a2ec70f47ea9199b1dd6762c8a349.tar.gz bionic-a27d2baa0c1a2ec70f47ea9199b1dd6762c8a349.tar.bz2 |
Initial Contributionandroid-1.0
Diffstat (limited to 'libc/kernel/common/linux/ipmi_smi.h')
-rw-r--r-- | libc/kernel/common/linux/ipmi_smi.h | 79 |
1 files changed, 79 insertions, 0 deletions
diff --git a/libc/kernel/common/linux/ipmi_smi.h b/libc/kernel/common/linux/ipmi_smi.h new file mode 100644 index 0000000..56cc210 --- /dev/null +++ b/libc/kernel/common/linux/ipmi_smi.h @@ -0,0 +1,79 @@ +/**************************************************************************** + **************************************************************************** + *** + *** This header was automatically generated from a Linux kernel header + *** of the same name, to make information necessary for userspace to + *** call into the kernel available to libc. It contains only constants, + *** structures, and macros generated from the original header, and thus, + *** contains no copyrightable information. + *** + **************************************************************************** + ****************************************************************************/ +#ifndef __LINUX_IPMI_SMI_H +#define __LINUX_IPMI_SMI_H + +#include <linux/ipmi_msgdefs.h> +#include <linux/proc_fs.h> +#include <linux/module.h> +#include <linux/device.h> +#include <linux/platform_device.h> +#include <linux/ipmi_smi.h> + +typedef struct ipmi_smi *ipmi_smi_t; + +struct ipmi_smi_msg +{ + struct list_head link; + + long msgid; + void *user_data; + + int data_size; + unsigned char data[IPMI_MAX_MSG_LENGTH]; + + int rsp_size; + unsigned char rsp[IPMI_MAX_MSG_LENGTH]; + + void (*done)(struct ipmi_smi_msg *msg); +}; + +struct ipmi_smi_handlers +{ + struct module *owner; + + int (*start_processing)(void *send_info, + ipmi_smi_t new_intf); + + void (*sender)(void *send_info, + struct ipmi_smi_msg *msg, + int priority); + + void (*request_events)(void *send_info); + + void (*set_run_to_completion)(void *send_info, int run_to_completion); + + void (*poll)(void *send_info); + + int (*inc_usecount)(void *send_info); + void (*dec_usecount)(void *send_info); +}; + +struct ipmi_device_id { + unsigned char device_id; + unsigned char device_revision; + unsigned char firmware_revision_1; + unsigned char firmware_revision_2; + unsigned char ipmi_version; + unsigned char additional_device_support; + unsigned int manufacturer_id; + unsigned int product_id; + unsigned char aux_firmware_revision[4]; + unsigned int aux_firmware_revision_set : 1; +}; + +#define ipmi_version_major(v) ((v)->ipmi_version & 0xf) +#define ipmi_version_minor(v) ((v)->ipmi_version >> 4) + +struct ipmi_smi_msg *ipmi_alloc_smi_msg(void); + +#endif |