SMBIOS Library
Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
libraries
smi
SmiLowLevel.h
Go to the documentation of this file.
1
// vim:expandtab:autoindent:tabstop=4:shiftwidth=4:filetype=c:
2
/*
3
* Copyright (C) 2005 Dell Inc.
4
* by Michael Brown <Michael_E_Brown@dell.com>
5
* Licensed under the Open Software License version 2.1
6
*
7
* Alternatively, you can redistribute it and/or modify
8
* it under the terms of the GNU General Public License as published
9
* by the Free Software Foundation; either version 2 of the License,
10
* or (at your option) any later version.
11
12
* This program is distributed in the hope that it will be useful, but
13
* WITHOUT ANY WARRANTY; without even the implied warranty of
14
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
15
* See the GNU General Public License for more details.
16
*/
17
18
19
#ifndef SMILOWLEVEL_H
20
#define SMILOWLEVEL_H
21
22
#include "
smbios/types.h
"
23
24
// abi_prefix should be last header included before declarations
25
#include "
smbios/config/abi_prefix.hpp
"
26
27
namespace
smi
28
{
29
#if defined(_MSC_VER)
30
#pragma pack(push,1)
31
#endif
32
33
34
/* cut and paste from kernel sources */
35
struct
callintf_cmd
36
{
37
u32
magic
;
38
u32
ebx
;
39
u32
ecx
;
40
u16
command_address
;
41
u8
command_code
;
42
u8
reserved
;
43
/*this should be 'u8 command_buffer[]', but it is not supported in VC6
44
therefore, we just hack it, I guess. Remember to subtract this from
45
the size when taking the sizeof this struct
46
*/
47
u8
command_buffer_start
;
48
}
49
LIBSMBIOS_PACKED_ATTR
;
50
51
#define KERNEL_SMI_MAGIC_NUMBER (0x534D4931)
/* "SMI1" */
52
#define DELL_CALLINTF_SMI_MAGIC_NUMBER (0x42534931)
/* "BSI1" */
53
54
struct
calling_interface_command_buffer
55
{
56
u16
smiClass
;
57
u16
smiSelect
;
58
union
{
/* to match BIOS docs, can use exact arg names specified in doc */
59
u32
inputArgs
[4];
60
struct
61
{
62
u32
cbARG1
;
63
u32
cbARG2
;
64
u32
cbARG3
;
65
u32
cbARG4
;
66
};
67
};
68
union
{
/* to match BIOS docs, can use exact res names specified in doc */
69
u32
outputRes
[4];
70
struct
71
{
72
s32
cbRES1
;
73
s32
cbRES2
;
74
s32
cbRES3
;
75
s32
cbRES4
;
76
};
77
};
78
}
79
LIBSMBIOS_PACKED_ATTR
;
80
81
enum
82
{
83
class_user_password
= 9,
84
class_admin_password
= 10,
85
};
86
87
88
#if defined(_MSC_VER)
89
#pragma pack(pop)
90
#endif
91
}
92
93
// always should be last thing in header file
94
#include "
smbios/config/abi_suffix.hpp
"
95
96
#endif
/* SMILOWLEVEL_H */
Generated on Thu Mar 27 2014 09:27:18 for SMBIOS Library by
1.8.1.2