Lines Matching refs:dtmpl
360 static cont_device_t *contract_device_create(ctmpl_device_t *dtmpl, dev_t dev,
468 ctmpl_device_t *dtmpl = template->ctmpl_data; in ctmpl_device_free() local
470 if (dtmpl->ctd_minor) in ctmpl_device_free()
471 kmem_free(dtmpl->ctd_minor, strlen(dtmpl->ctd_minor) + 1); in ctmpl_device_free()
473 kmem_free(dtmpl, sizeof (ctmpl_device_t)); in ctmpl_device_free()
501 ctmpl_device_t *dtmpl = tmpl->ctmpl_data; in ctmpl_device_set() local
529 dtmpl->ctd_aset = param_value; in ctmpl_device_set()
545 dtmpl->ctd_noneg = param_value; in ctmpl_device_set()
568 if (dtmpl->ctd_minor != NULL) { in ctmpl_device_set()
569 kmem_free(dtmpl->ctd_minor, in ctmpl_device_set()
570 strlen(dtmpl->ctd_minor) + 1); in ctmpl_device_set()
572 dtmpl->ctd_minor = i_ddi_strdup(str_value, KM_SLEEP); in ctmpl_device_set()
601 ctmpl_device_t *dtmpl = template->ctmpl_data; in ctmpl_device_get() local
616 *param_value = dtmpl->ctd_aset; in ctmpl_device_get()
619 *param_value = dtmpl->ctd_noneg; in ctmpl_device_get()
622 if (dtmpl->ctd_minor) { in ctmpl_device_get()
624 dtmpl->ctd_minor, param->ctpm_size); in ctmpl_device_get()
645 ctmpl_device_t *dtmpl; in ctmpl_device_create() local
657 dtmpl = template->ctmpl_data; in ctmpl_device_create()
660 if (dtmpl->ctd_minor == NULL) { in ctmpl_device_create()
666 ASSERT(strlen(dtmpl->ctd_minor) < MAXPATHLEN); in ctmpl_device_create()
667 bcopy(dtmpl->ctd_minor, buf, strlen(dtmpl->ctd_minor) + 1); in ctmpl_device_create()
1199 contract_device_create(ctmpl_device_t *dtmpl, dev_t dev, int spec_type, in contract_device_create() argument
1207 ASSERT(dtmpl != NULL); in contract_device_create()
1216 mutex_enter(&dtmpl->ctd_ctmpl.ctmpl_lock); in contract_device_create()
1217 ASSERT(strlen(dtmpl->ctd_minor) < MAXPATHLEN); in contract_device_create()
1218 bcopy(dtmpl->ctd_minor, path, strlen(dtmpl->ctd_minor) + 1); in contract_device_create()
1219 mutex_exit(&dtmpl->ctd_ctmpl.ctmpl_lock); in contract_device_create()
1265 mutex_enter(&dtmpl->ctd_ctmpl.ctmpl_lock); in contract_device_create()
1266 ctd->cond_aset = dtmpl->ctd_aset; in contract_device_create()
1267 ctd->cond_noneg = dtmpl->ctd_noneg; in contract_device_create()
1273 if (contract_ctor(&ctd->cond_contract, device_type, &dtmpl->ctd_ctmpl, in contract_device_create()
1275 mutex_exit(&dtmpl->ctd_ctmpl.ctmpl_lock); in contract_device_create()
1294 mutex_exit(&dtmpl->ctd_ctmpl.ctmpl_lock); in contract_device_create()
1327 ctmpl_device_t *dtmpl; in contract_device_open() local
1350 dtmpl = tmpl->ctmpl_data; in contract_device_open()
1357 if (dtmpl->ctd_minor != NULL) { in contract_device_open()
1360 curproc->p_pid, dtmpl->ctd_minor)); in contract_device_open()
1366 kmem_free(dtmpl->ctd_minor, strlen(dtmpl->ctd_minor) + 1); in contract_device_open()
1367 dtmpl->ctd_minor = NULL; in contract_device_open()
1383 ASSERT(dtmpl->ctd_minor == NULL); in contract_device_open()
1384 dtmpl->ctd_minor = path; in contract_device_open()
1387 ctd = contract_device_create(dtmpl, dev, spec_type, curproc, &error); in contract_device_open()
1390 ASSERT(dtmpl->ctd_minor); in contract_device_open()
1391 dtmpl->ctd_minor = NULL; in contract_device_open()