#ifndef _DCDBAS_H_
#define _DCDBAS_H_
#include <linux/device.h>
#include <linux/sysfs.h>
#include <linux/types.h>
#define MAX_SMI_DATA_BUF_SIZE …
#define HC_ACTION_NONE …
#define HC_ACTION_HOST_CONTROL_POWEROFF …
#define HC_ACTION_HOST_CONTROL_POWERCYCLE …
#define HC_SMITYPE_NONE …
#define HC_SMITYPE_TYPE1 …
#define HC_SMITYPE_TYPE2 …
#define HC_SMITYPE_TYPE3 …
#define ESM_APM_CMD …
#define ESM_APM_POWER_CYCLE …
#define ESM_STATUS_CMD_UNSUCCESSFUL …
#define CMOS_BASE_PORT …
#define CMOS_PAGE1_INDEX_PORT …
#define CMOS_PAGE1_DATA_PORT …
#define CMOS_PAGE2_INDEX_PORT_PIIX4 …
#define CMOS_PAGE2_DATA_PORT_PIIX4 …
#define PE1400_APM_CONTROL_PORT …
#define PCAT_APM_CONTROL_PORT …
#define PCAT_APM_STATUS_PORT …
#define PE1300_CMOS_CMD_STRUCT_PTR …
#define PE1400_CMOS_CMD_STRUCT_PTR …
#define MAX_SYSMGMT_SHORTCMD_PARMBUF_LEN …
#define MAX_SYSMGMT_LONGCMD_SGENTRY_NUM …
#define TIMEOUT_USEC_SHORT_SEMA_BLOCKING …
#define EXPIRED_TIMER …
#define SMI_CMD_MAGIC …
#define SMM_EPS_SIG …
#define DCDBAS_DEV_ATTR_RW(_name) …
#define DCDBAS_DEV_ATTR_RO(_name) …
#define DCDBAS_DEV_ATTR_WO(_name) …
#define DCDBAS_BIN_ATTR_RW(_name) …
struct smi_cmd { … } __attribute__ ((packed));
struct apm_cmd { … } __attribute__ ((packed));
int dcdbas_smi_request(struct smi_cmd *smi_cmd);
struct smm_eps_table { … } __packed;
struct smi_buffer { … };
int dcdbas_smi_alloc(struct smi_buffer *smi_buffer, unsigned long size);
void dcdbas_smi_free(struct smi_buffer *smi_buffer);
#endif