Lines Matching refs:dtmpl
361 static cont_device_t *contract_device_create(ctmpl_device_t *dtmpl, dev_t dev,
469 ctmpl_device_t *dtmpl = template->ctmpl_data; in ctmpl_device_free() local
471 if (dtmpl->ctd_minor) in ctmpl_device_free()
472 kmem_free(dtmpl->ctd_minor, strlen(dtmpl->ctd_minor) + 1); in ctmpl_device_free()
474 kmem_free(dtmpl, sizeof (ctmpl_device_t)); in ctmpl_device_free()
502 ctmpl_device_t *dtmpl = tmpl->ctmpl_data; in ctmpl_device_set() local
531 dtmpl->ctd_aset = param_value; in ctmpl_device_set()
547 dtmpl->ctd_noneg = param_value; in ctmpl_device_set()
570 if (dtmpl->ctd_minor != NULL) { in ctmpl_device_set()
571 kmem_free(dtmpl->ctd_minor, in ctmpl_device_set()
572 strlen(dtmpl->ctd_minor) + 1); in ctmpl_device_set()
574 dtmpl->ctd_minor = i_ddi_strdup(str_value, KM_SLEEP); in ctmpl_device_set()
603 ctmpl_device_t *dtmpl = template->ctmpl_data; in ctmpl_device_get() local
618 *param_value = dtmpl->ctd_aset; in ctmpl_device_get()
621 *param_value = dtmpl->ctd_noneg; in ctmpl_device_get()
624 if (dtmpl->ctd_minor) { in ctmpl_device_get()
626 dtmpl->ctd_minor, param->ctpm_size); in ctmpl_device_get()
647 ctmpl_device_t *dtmpl; in ctmpl_device_create() local
659 dtmpl = template->ctmpl_data; in ctmpl_device_create()
662 if (dtmpl->ctd_minor == NULL) { in ctmpl_device_create()
668 ASSERT(strlen(dtmpl->ctd_minor) < MAXPATHLEN); in ctmpl_device_create()
669 bcopy(dtmpl->ctd_minor, buf, strlen(dtmpl->ctd_minor) + 1); in ctmpl_device_create()
1200 contract_device_create(ctmpl_device_t *dtmpl, dev_t dev, int spec_type, in contract_device_create() argument
1208 ASSERT(dtmpl != NULL); in contract_device_create()
1217 mutex_enter(&dtmpl->ctd_ctmpl.ctmpl_lock); in contract_device_create()
1218 ASSERT(strlen(dtmpl->ctd_minor) < MAXPATHLEN); in contract_device_create()
1219 bcopy(dtmpl->ctd_minor, path, strlen(dtmpl->ctd_minor) + 1); in contract_device_create()
1220 mutex_exit(&dtmpl->ctd_ctmpl.ctmpl_lock); in contract_device_create()
1266 mutex_enter(&dtmpl->ctd_ctmpl.ctmpl_lock); in contract_device_create()
1267 ctd->cond_aset = dtmpl->ctd_aset; in contract_device_create()
1268 ctd->cond_noneg = dtmpl->ctd_noneg; in contract_device_create()
1274 if (contract_ctor(&ctd->cond_contract, device_type, &dtmpl->ctd_ctmpl, in contract_device_create()
1276 mutex_exit(&dtmpl->ctd_ctmpl.ctmpl_lock); in contract_device_create()
1295 mutex_exit(&dtmpl->ctd_ctmpl.ctmpl_lock); in contract_device_create()
1328 ctmpl_device_t *dtmpl; in contract_device_open() local
1351 dtmpl = tmpl->ctmpl_data; in contract_device_open()
1358 if (dtmpl->ctd_minor != NULL) { in contract_device_open()
1361 curproc->p_pid, dtmpl->ctd_minor)); in contract_device_open()
1367 kmem_free(dtmpl->ctd_minor, strlen(dtmpl->ctd_minor) + 1); in contract_device_open()
1368 dtmpl->ctd_minor = NULL; in contract_device_open()
1384 ASSERT(dtmpl->ctd_minor == NULL); in contract_device_open()
1385 dtmpl->ctd_minor = path; in contract_device_open()
1388 ctd = contract_device_create(dtmpl, dev, spec_type, curproc, &error); in contract_device_open()
1391 ASSERT(dtmpl->ctd_minor); in contract_device_open()
1392 dtmpl->ctd_minor = NULL; in contract_device_open()