00001
00002
00003
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
00017 #define FLAG_CONT 8
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
00027
00028
00029 he_nomask,
00030
00031
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