Main Page | Modules | Data Structures | File List | Data Fields | Globals | Related Pages

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 /* 21 */,
00026 
00027   /* add new entries _here_! */
00028 
00029   he_nomask,
00030 
00031   /* if he_nomask exceeds 31, adjust entry_mask_t & hddb_entry_mask_t */
00032 
00033   he_class_id = he_nomask, he_driver_module_insmod, he_driver_module_modprobe,
00034   he_driver_module_config, he_driver_xfree, he_driver_xfree_config,
00035   he_driver_mouse, he_driver_display, he_driver_any
00036 } hddb_entry_t;
00037 
00038 static hddb_entry_t hddb_is_numeric[] = {
00039   he_bus_id, he_baseclass_id, he_subclass_id, he_progif_id, he_vendor_id,
00040   he_device_id, he_subvendor_id, he_subdevice_id, he_rev_id
00041 };
00042 
00043 static char *hddb_entry_strings[] = {
00044   "other", "bus.id", "baseclass.id", "subclass.id", "progif.id",
00045   "vendor.id", "device.id", "subvendor.id", "subdevice.id", "rev.id",
00046   "bus.name", "baseclass.name", "subclass.name", "progif.name",
00047   "vendor.name", "device.name", "subvendor.name", "subdevice.name",
00048   "rev.name", "serial", "driver", "requires",
00049   "class.id", "driver.module.insmod", "driver.module.modprobe",
00050   "driver.module.config", "driver.xfree", "driver.xfree.config",
00051   "driver.mouse", "driver.display", "driver.any"
00052 };
00053