[IBBUS] added support for creating vendor defined devices.
[mirror/winof/.git] / core / bus / kernel / bus_driver.h
index c362535..9fca6ef 100644 (file)
@@ -126,6 +126,27 @@ typedef struct _bus_fdo_ext
 }      bus_fdo_ext_t;\r
 \r
 \r
+/* Windows pnp device information */\r
+#define MAX_DEVICE_ID_LEN     200\r
+#define MAX_DEVICE_STRING_LEN          MAX_DEVICE_ID_LEN + 2   //add extra 4 bytes in case we need double NULL ending\r
+typedef struct _child_device_info {\r
+       wchar_t         device_id[MAX_DEVICE_STRING_LEN];  \r
+       uint32_t    device_id_size;\r
+       wchar_t     compatible_id[MAX_DEVICE_STRING_LEN];\r
+       uint32_t    compatible_id_size;\r
+       wchar_t     hardware_id[MAX_DEVICE_STRING_LEN];\r
+       uint32_t    hardware_id_size;\r
+       wchar_t     description[MAX_DEVICE_STRING_LEN];\r
+       uint32_t    description_size;\r
+       wchar_t     pkey[20];\r
+}  child_device_info_t;\r
+\r
+typedef struct _child_device_info_list{\r
+       child_device_info_t io_device_info;\r
+       struct _child_device_info_list *next_device_info;\r
+}child_device_info_list_t;\r
+\r
+\r
 /*\r
  * Device extension for bus driver PDOs.\r
  */\r
@@ -180,7 +201,8 @@ typedef struct _bus_pdo_ext
 \r
        /* work item for handling Power Management request */\r
        PIO_WORKITEM                    p_po_work_item;\r
-       boolean_t                           is_partition_pdo;\r
+       boolean_t                               hca_acquired;\r
+       child_device_info_t             *p_pdo_device_info;\r
 }      bus_pdo_ext_t;\r
 \r
 /* pkey configuration */\r
@@ -190,6 +212,7 @@ typedef struct _pkey_conf_t
        struct _pkey_conf_t *next_conf;\r
 }pkey_conf_t;\r
 \r
+\r
 /*\r
  * Global Driver parameters.\r
  */\r
@@ -211,6 +234,9 @@ typedef struct _bus_globals
        /* pkey array to be read */\r
        pkey_conf_t                             *p_pkey_conf;\r
 \r
+       /* saved devices info*/\r
+       child_device_info_list_t *p_device_list;\r
+\r
 }      bus_globals_t;\r
 \r
 \r