Lines Matching refs:dmi
104 struct dm_ioctl *dmi;
116 if (!(dmi = dm_malloc(DMI_SIZE)))
119 memset(dmi, 0, DMI_SIZE);
121 dmi->open_count = libdm_task_get_open_num(task);
122 dmi->event_nr = libdm_task_get_event_num(task);
123 dmi->flags = libdm_task_get_flags(task);
124 dmi->target_count = libdm_task_get_target_num(task);
129 dmi->dev = MKDEV(major, minor);
131 dmi->dev = 0;
138 strlcpy(dmi->name, name, DM_NAME_LEN);
140 dmi->name[0] = '\0';
143 strlcpy(dmi->uuid, uuid, DM_UUID_LEN);
145 dmi->uuid[0] = '\0';
147 /* dmi parsing values, size of dmi block and offset to data. */
148 dmi->data_size = DMI_SIZE;
149 dmi->data_start = sizeof(struct dm_ioctl);
151 libdm_task_get_cmd_version(task, dmi->version, 3);
156 r = dm_list_versions(task, dmi);
158 dmi->target_count = r;
162 r = dm_list_devices(task, dmi);
164 dmi->target_count = r;
168 r = dm_table_status(task, dmi);
170 dmi->target_count = r;
174 r = dm_dev_deps(task, dmi);
176 dmi->target_count = r;
180 return dmi;
190 dm_list_versions(libdm_task_t task, struct dm_ioctl *dmi)
206 dmtv = (struct dm_target_versions *)((uint8_t *)dmi + dmi->data_start);
208 /* printf("dmi: vers: %d.%d.%d data_size: %d data_start: %d name: %s t_count: %d\n",
209 dmi->version[0],dmi->version[1],dmi->version[2],dmi->data_size,dmi->data_start,
210 dmi->name,dmi->target_count);
212 printf("dmi: size: %d -- %p --- %p \n",sizeof(struct dm_ioctl),dmi,dmi+dmi->data_start);
213 printf("dmtv: size: %p --- %p\n",dmtv,(struct dm_target_versions *)(dmi+312));*/
229 if (rec_size > dmi->data_size)
254 dm_list_devices(libdm_task_t task, struct dm_ioctl *dmi)
275 dml = (struct dm_name_list *)((uint8_t *)dmi + dmi->data_start);
291 if (rec_size > dmi->data_size)
316 dm_table_status(libdm_task_t task, struct dm_ioctl *dmi)
333 dmts = (struct dm_target_spec *)((uint8_t *)dmi + dmi->data_start);
361 if (rec_size > dmi->data_size) {
396 dm_dev_deps(libdm_task_t task, struct dm_ioctl *dmi)
427 dmtd = (struct dm_target_deps *)((uint8_t *)dmi + dmi->data_start);