• Main Page
  • Related Pages
  • Modules
  • Data Structures
  • Files
  • File List
  • Globals

hddb_int.h

Go to the documentation of this file.
00001 /* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
00002  *
00003  * type defs for internal data base
00004  *
00005  * - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
00006 
00007 #define DATA_VALUE(a)   ((a) & ~(-1 << 28))
00008 #define DATA_FLAG(a)    (((a) >> 28) & 0xf)
00009 #define MAKE_DATA(a, b) ((a << 28) | (b))
00010 
00011 #define FLAG_ID         0
00012 #define FLAG_RANGE      1
00013 #define FLAG_MASK       2
00014 #define FLAG_STRING     3
00015 #define FLAG_REGEXP     4
00016 /* 5 - 7 reserved */
00017 #define FLAG_CONT       8       /* bit mask, _must_ be bit 31 */
00018 
00019 
00020 typedef enum hddb_entry_e {
00021   he_other, he_bus_id, he_baseclass_id, he_subclass_id, he_progif_id,
00022   he_vendor_id, he_device_id, he_subvendor_id, he_subdevice_id, he_rev_id,
00023   he_bus_name, he_baseclass_name, he_subclass_name, he_progif_name,
00024   he_vendor_name, he_device_name, he_subvendor_name, he_subdevice_name,
00025   he_rev_name, he_serial, he_driver, he_requires,
00026   he_detail_ccw_data_cu_model, he_hwclass /* 23 */,
00027 
00028   /* add new entries _here_! */
00029 
00030   he_nomask,
00031 
00032   /* if he_nomask exceeds 31, adjust entry_mask_t & hddb_entry_mask_t */
00033 
00034   he_class_id = he_nomask, he_driver_module_insmod, he_driver_module_modprobe,
00035   he_driver_module_config, he_driver_xfree, he_driver_xfree_config,
00036   he_driver_mouse, he_driver_display, he_driver_any
00037 } hddb_entry_t;
00038 
00039 static hddb_entry_t hddb_is_numeric[] = {
00040   he_bus_id, he_baseclass_id, he_subclass_id, he_progif_id, he_vendor_id,
00041   he_device_id, he_subvendor_id, he_subdevice_id, he_rev_id,
00042   he_detail_ccw_data_cu_model, he_hwclass
00043 };
00044 
00045 static char *hddb_entry_strings[] = {
00046   "other", "bus.id", "baseclass.id", "subclass.id", "progif.id",
00047   "vendor.id", "device.id", "subvendor.id", "subdevice.id", "rev.id",
00048   "bus.name", "baseclass.name", "subclass.name", "progif.name",
00049   "vendor.name", "device.name", "subvendor.name", "subdevice.name",
00050   "rev.name", "serial", "driver", "requires",
00051   "detail.ccw.data.cu_model", "hwclass",
00052   "class.id", "driver.module.insmod", "driver.module.modprobe",
00053   "driver.module.config", "driver.xfree", "driver.xfree.config",
00054   "driver.mouse", "driver.display", "driver.any"
00055 };
00056