5 #define VERSION ((0<<8)|1)
11 int UDI_Install(char **Arguments);
12 int UDI_LoadDriver(void *Base);
15 MODULE_DEFINE(0, VERSION, UDI, UDI_Install, NULL, NULL);
19 * \fn int UDI_Install(char **Arguments)
20 * \brief Stub intialisation routine
22 int UDI_Install(char **Arguments)
28 * \fn int UDI_LoadDriver(void *Base)
30 int UDI_LoadDriver(void *Base)
33 char *udiprops = NULL;
38 Log("UDI_LoadDriver: (Base=%p)", Base);
40 if( Binary_FindSymbol(Base, "udi_init_info", (Uint*)&info) == 0) {
45 if( Binary_FindSymbol(Base, "_udiprops", (Uint*)&udiprops) == 0 ) {
46 Warning("[UDI ] _udiprops is not defined, this is usually bad");
49 Binary_FindSymbol(Base, "_udiprops_size", (Uint*)&udiprops_size);
52 Log("primary_init_info = %p = {", info->primary_init_info);
54 Log(" .mgmt_ops = %p = {", info->primary_init_info->mgmt_ops);
55 Log(" .usage_ind_op: %p() - 0x%02x",
56 info->primary_init_info->mgmt_ops->usage_ind_op,
57 info->primary_init_info->mgmt_op_flags[0]
59 Log(" .enumerate_req_op: %p() - 0x%02x",
60 info->primary_init_info->mgmt_ops->enumerate_req_op,
61 info->primary_init_info->mgmt_op_flags[1]
63 Log(" .devmgmt_req_op: %p() - 0x%02x",
64 info->primary_init_info->mgmt_ops->devmgmt_req_op,
65 info->primary_init_info->mgmt_op_flags[2]
67 Log(" .final_cleanup_req_op: %p() - 0x%02x",
68 info->primary_init_info->mgmt_ops->final_cleanup_req_op,
69 info->primary_init_info->mgmt_op_flags[3]
72 Log(" .mgmt_scratch_requirement = 0x%x", info->primary_init_info->mgmt_scratch_requirement);
73 Log(" .enumeration_attr_list_length = 0x%x", info->primary_init_info->enumeration_attr_list_length);
74 Log(" .rdata_size = 0x%x", info->primary_init_info->rdata_size);
75 Log(" .child_data_size = 0x%x", info->primary_init_info->child_data_size);
76 Log(" .per_parent_paths = 0x%x", info->primary_init_info->per_parent_paths);
79 Log("secondary_init_list = %p", info->secondary_init_list);
80 Log("ops_init_list = %p", info->ops_init_list);
82 for( i = 0; info->ops_init_list[i].ops_idx; i++ )
84 Log("info->ops_init_list[%i] = {", i);
85 Log(" .ops_idx = 0x%x", info->ops_init_list[i].ops_idx);
86 Log(" .meta_idx = 0x%x", info->ops_init_list[i].meta_idx);
87 Log(" .meta_ops_num = 0x%x", info->ops_init_list[i].meta_ops_num);
88 Log(" .chan_context_size = 0x%x", info->ops_init_list[i].chan_context_size);
89 Log(" .ops_vector = %p", info->ops_init_list[i].ops_vector);
90 Log(" .op_flags = %p", info->ops_init_list[i].op_flags);