00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef C_OBJ_SMI_H
00019 #define C_OBJ_SMI_H
00020
00021
00022 #include "smbios_c/compat.h"
00023 #include "smbios_c/types.h"
00024
00025 EXTERN_C_BEGIN;
00026
00027 #define DELL_SMI_DEFAULTS 0x0000
00028 #define DELL_SMI_GET_SINGLETON 0x0001
00029 #define DELL_SMI_GET_NEW 0x0002
00030 #define DELL_SMI_UNIT_TEST_MODE 0x0004
00031 #define DELL_SMI_NO_ERR_CLEAR 0x0008
00032
00033 struct dell_smi_obj;
00034
00035
00036 DLL_SPEC struct dell_smi_obj *dell_smi_factory(int flags, ...);
00037
00038
00039 DLL_SPEC void dell_smi_obj_free(struct dell_smi_obj *);
00040
00041 DLL_SPEC const char *dell_smi_obj_strerror(struct dell_smi_obj *);
00042
00043 DLL_SPEC void dell_smi_obj_set_class(struct dell_smi_obj *, u16 );
00044 DLL_SPEC void dell_smi_obj_set_select(struct dell_smi_obj *, u16 );
00045 DLL_SPEC void dell_smi_obj_set_arg(struct dell_smi_obj *, u8 argno, u32 value);
00046 DLL_SPEC u32 dell_smi_obj_get_res(struct dell_smi_obj *, u8 argno);
00047 DLL_SPEC u8 *dell_smi_obj_make_buffer_frombios_auto(struct dell_smi_obj *, u8 argno, size_t size);
00048 DLL_SPEC u8 *dell_smi_obj_make_buffer_frombios_withheader(struct dell_smi_obj *, u8 argno, size_t size);
00049 DLL_SPEC u8 *dell_smi_obj_make_buffer_frombios_withoutheader(struct dell_smi_obj *, u8 argno, size_t size);
00050 DLL_SPEC u8 *dell_smi_obj_make_buffer_tobios(struct dell_smi_obj *, u8 argno, size_t size);
00051 DLL_SPEC int dell_smi_obj_execute(struct dell_smi_obj *);
00052
00053 EXTERN_C_END;
00054
00055 #endif