home *** CD-ROM | disk | FTP | other *** search
/ Mac Easy 2010 May / Mac Life Ubuntu.iso / casper / filesystem.squashfs / usr / src / linux-headers-2.6.28-15 / include / linux / dmi.h < prev    next >
Encoding:
C/C++ Source or Header  |  2009-09-09  |  1.8 KB  |  68 lines

  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. };
  24.  
  25. struct dmi_header {
  26.     u8 type;
  27.     u8 length;
  28.     u16 handle;
  29. };
  30.  
  31. struct dmi_device {
  32.     struct list_head list;
  33.     int type;
  34.     const char *name;
  35.     void *device_data;    /* Type specific data */
  36. };
  37.  
  38. #ifdef CONFIG_DMI
  39.  
  40. extern int dmi_check_system(const struct dmi_system_id *list);
  41. extern const char * dmi_get_system_info(int field);
  42. extern const struct dmi_device * dmi_find_device(int type, const char *name,
  43.     const struct dmi_device *from);
  44. extern void dmi_scan_machine(void);
  45. extern int dmi_get_year(int field);
  46. extern int dmi_name_in_vendors(const char *str);
  47. extern int dmi_name_in_serial(const char *str);
  48. extern int dmi_available;
  49. extern int dmi_walk(void (*decode)(const struct dmi_header *));
  50.  
  51. #else
  52.  
  53. static inline int dmi_check_system(const struct dmi_system_id *list) { return 0; }
  54. static inline const char * dmi_get_system_info(int field) { return NULL; }
  55. static inline const struct dmi_device * dmi_find_device(int type, const char *name,
  56.     const struct dmi_device *from) { return NULL; }
  57. static inline void dmi_scan_machine(void) { return; }
  58. static inline int dmi_get_year(int year) { return 0; }
  59. static inline int dmi_name_in_vendors(const char *s) { return 0; }
  60. static inline int dmi_name_in_serial(const char *s) { return 0; }
  61. #define dmi_available 0
  62. static inline int dmi_walk(void (*decode)(const struct dmi_header *))
  63.     { return -1; }
  64.  
  65. #endif
  66.  
  67. #endif    /* __DMI_H__ */
  68.