Linux-2.6.12-rc2
[linux-2.6.git] / include / linux / dmi.h
1 #ifndef __DMI_H__
2 #define __DMI_H__
3
4 enum dmi_field {
5         DMI_NONE,
6         DMI_BIOS_VENDOR,
7         DMI_BIOS_VERSION,
8         DMI_BIOS_DATE,
9         DMI_SYS_VENDOR,
10         DMI_PRODUCT_NAME,
11         DMI_PRODUCT_VERSION,
12         DMI_BOARD_VENDOR,
13         DMI_BOARD_NAME,
14         DMI_BOARD_VERSION,
15         DMI_STRING_MAX,
16 };
17
18 /*
19  *      DMI callbacks for problem boards
20  */
21 struct dmi_strmatch {
22         u8 slot;
23         char *substr;
24 };
25
26 struct dmi_system_id {
27         int (*callback)(struct dmi_system_id *);
28         char *ident;
29         struct dmi_strmatch matches[4];
30         void *driver_data;
31 };
32
33 #define DMI_MATCH(a,b)  { a, b }
34
35 #if defined(CONFIG_X86) && !defined(CONFIG_X86_64)
36
37 extern int dmi_check_system(struct dmi_system_id *list);
38 extern char * dmi_get_system_info(int field);
39
40 #else
41
42 static inline int dmi_check_system(struct dmi_system_id *list) { return 0; }
43 static inline char * dmi_get_system_info(int field) { return NULL; }
44
45 #endif
46
47 #endif  /* __DMI_H__ */