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 he_detail_ccw_data_cu_model, he_hwclass ,
00027
00028
00029
00030 he_nomask,
00031
00032
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