Linux Kernel
3.7.1
Main Page
Related Pages
Modules
Namespaces
Data Structures
Files
File List
Globals
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Groups
Pages
include
linux
dmi.h
Go to the documentation of this file.
1
#ifndef __DMI_H__
2
#define __DMI_H__
3
4
#include <linux/list.h>
5
#include <
linux/mod_devicetable.h
>
6
7
/* enum dmi_field is in mod_devicetable.h */
8
9
enum
dmi_device_type
{
10
DMI_DEV_TYPE_ANY
= 0,
11
DMI_DEV_TYPE_OTHER
,
12
DMI_DEV_TYPE_UNKNOWN
,
13
DMI_DEV_TYPE_VIDEO
,
14
DMI_DEV_TYPE_SCSI
,
15
DMI_DEV_TYPE_ETHERNET
,
16
DMI_DEV_TYPE_TOKENRING
,
17
DMI_DEV_TYPE_SOUND
,
18
DMI_DEV_TYPE_PATA
,
19
DMI_DEV_TYPE_SATA
,
20
DMI_DEV_TYPE_SAS
,
21
DMI_DEV_TYPE_IPMI
= -1,
22
DMI_DEV_TYPE_OEM_STRING
= -2,
23
DMI_DEV_TYPE_DEV_ONBOARD
= -3,
24
};
25
26
enum
dmi_entry_type
{
27
DMI_ENTRY_BIOS
= 0,
28
DMI_ENTRY_SYSTEM
,
29
DMI_ENTRY_BASEBOARD
,
30
DMI_ENTRY_CHASSIS
,
31
DMI_ENTRY_PROCESSOR
,
32
DMI_ENTRY_MEM_CONTROLLER
,
33
DMI_ENTRY_MEM_MODULE
,
34
DMI_ENTRY_CACHE
,
35
DMI_ENTRY_PORT_CONNECTOR
,
36
DMI_ENTRY_SYSTEM_SLOT
,
37
DMI_ENTRY_ONBOARD_DEVICE
,
38
DMI_ENTRY_OEMSTRINGS
,
39
DMI_ENTRY_SYSCONF
,
40
DMI_ENTRY_BIOS_LANG
,
41
DMI_ENTRY_GROUP_ASSOC
,
42
DMI_ENTRY_SYSTEM_EVENT_LOG
,
43
DMI_ENTRY_PHYS_MEM_ARRAY
,
44
DMI_ENTRY_MEM_DEVICE
,
45
DMI_ENTRY_32_MEM_ERROR
,
46
DMI_ENTRY_MEM_ARRAY_MAPPED_ADDR
,
47
DMI_ENTRY_MEM_DEV_MAPPED_ADDR
,
48
DMI_ENTRY_BUILTIN_POINTING_DEV
,
49
DMI_ENTRY_PORTABLE_BATTERY
,
50
DMI_ENTRY_SYSTEM_RESET
,
51
DMI_ENTRY_HW_SECURITY
,
52
DMI_ENTRY_SYSTEM_POWER_CONTROLS
,
53
DMI_ENTRY_VOLTAGE_PROBE
,
54
DMI_ENTRY_COOLING_DEV
,
55
DMI_ENTRY_TEMP_PROBE
,
56
DMI_ENTRY_ELECTRICAL_CURRENT_PROBE
,
57
DMI_ENTRY_OOB_REMOTE_ACCESS
,
58
DMI_ENTRY_BIS_ENTRY
,
59
DMI_ENTRY_SYSTEM_BOOT
,
60
DMI_ENTRY_MGMT_DEV
,
61
DMI_ENTRY_MGMT_DEV_COMPONENT
,
62
DMI_ENTRY_MGMT_DEV_THRES
,
63
DMI_ENTRY_MEM_CHANNEL
,
64
DMI_ENTRY_IPMI_DEV
,
65
DMI_ENTRY_SYS_POWER_SUPPLY
,
66
DMI_ENTRY_ADDITIONAL
,
67
DMI_ENTRY_ONBOARD_DEV_EXT
,
68
DMI_ENTRY_MGMT_CONTROLLER_HOST
,
69
DMI_ENTRY_INACTIVE
= 126,
70
DMI_ENTRY_END_OF_TABLE
= 127,
71
};
72
73
struct
dmi_header
{
74
u8
type
;
75
u8
length
;
76
u16
handle
;
77
};
78
79
struct
dmi_device
{
80
struct
list_head
list
;
81
int
type
;
82
const
char
*
name
;
83
void
*
device_data
;
/* Type specific data */
84
};
85
86
#ifdef CONFIG_DMI
87
88
struct
dmi_dev_onboard {
89
struct
dmi_device
dev;
90
int
instance;
91
int
segment
;
92
int
bus
;
93
int
devfn
;
94
};
95
96
extern
int
dmi_check_system
(
const
struct
dmi_system_id
*
list
);
97
const
struct
dmi_system_id
*
dmi_first_match
(
const
struct
dmi_system_id
*
list
);
98
extern
const
char
*
dmi_get_system_info
(
int
field
);
99
extern
const
struct
dmi_device
*
dmi_find_device
(
int
type
,
const
char
*
name
,
100
const
struct
dmi_device
*
from
);
101
extern
void
dmi_scan_machine
(
void
);
102
extern
bool
dmi_get_date
(
int
field
,
int
*yearp,
int
*monthp,
int
*dayp);
103
extern
int
dmi_name_in_vendors
(
const
char
*
str
);
104
extern
int
dmi_name_in_serial
(
const
char
*
str
);
105
extern
int
dmi_available
;
106
extern
int
dmi_walk
(
void
(*decode)(
const
struct
dmi_header
*,
void
*),
107
void
*
private_data
);
108
extern
bool
dmi_match
(
enum
dmi_field
f
,
const
char
*
str
);
109
110
#else
111
112
static
inline
int
dmi_check_system
(
const
struct
dmi_system_id
*
list
) {
return
0; }
113
static
inline
const
char
*
dmi_get_system_info
(
int
field
) {
return
NULL
; }
114
static
inline
const
struct
dmi_device
*
dmi_find_device
(
int
type
,
const
char
*
name
,
115
const
struct
dmi_device
*
from
) {
return
NULL
; }
116
static
inline
void
dmi_scan_machine
(
void
) {
return
; }
117
static
inline
bool
dmi_get_date
(
int
field
,
int
*yearp,
int
*monthp,
int
*dayp)
118
{
119
if
(yearp)
120
*yearp = 0;
121
if
(monthp)
122
*monthp = 0;
123
if
(dayp)
124
*dayp = 0;
125
return
false
;
126
}
127
static
inline
int
dmi_name_in_vendors
(
const
char
*
s
) {
return
0; }
128
static
inline
int
dmi_name_in_serial
(
const
char
*
s
) {
return
0; }
129
#define dmi_available 0
130
static
inline
int
dmi_walk
(
void
(*decode)(
const
struct
dmi_header
*,
void
*),
131
void
*
private_data
) {
return
-1; }
132
static
inline
bool
dmi_match
(
enum
dmi_field
f
,
const
char
*
str
)
133
{
return
false
; }
134
static
inline
const
struct
dmi_system_id
*
135
dmi_first_match
(
const
struct
dmi_system_id
*
list
) {
return
NULL
; }
136
137
#endif
138
139
#endif
/* __DMI_H__ */
Generated on Thu Jan 10 2013 13:06:09 for Linux Kernel by
1.8.2