Lines Matching refs:kprop
636 dld_ioc_macprop_t *kprop;
646 * including the data into kprop down below.
657 if ((kprop = kmem_alloc(dsize, KM_NOSLEEP)) == NULL)
660 if (ddi_copyin((void *)arg, kprop, dsize, mode) != 0) {
665 linkid = kprop->pr_linkid;
689 if (!mac_prop_check_size(kprop->pr_num, kprop->pr_valsize,
690 kprop->pr_flags & DLD_PROP_POSSIBLE)) {
695 switch (kprop->pr_num) {
698 dld_ioc_zid_t *dzp = (dld_ioc_zid_t *)kprop->pr_val;
706 kprop->pr_perm_flags = MAC_PROP_PERM_RW;
707 (*(zoneid_t *)kprop->pr_val) = dls_devnet_getzid(dlh);
711 struct dlautopush *dlap = (struct dlautopush *)kprop->pr_val;
714 if (kprop->pr_valsize != 0)
719 if (kprop->pr_valsize == 0)
722 kprop->pr_perm_flags = MAC_PROP_PERM_RW;
729 link_tagmode_t mode = *(link_tagmode_t *)kprop->pr_val;
739 *(link_tagmode_t *)kprop->pr_val = dlp->dl_tagmode;
740 kprop->pr_perm_flags = MAC_PROP_PERM_RW;
751 err = mac_set_prop(dlp->dl_mh, kprop->pr_num,
752 kprop->pr_name, kprop->pr_val, kprop->pr_valsize);
762 kprop->pr_perm_flags = MAC_PROP_PERM_RW;
764 if (kprop->pr_flags & DLD_PROP_POSSIBLE) {
765 rangep = (mac_propval_range_t *)kprop->pr_val;
772 } else if (kprop->pr_flags & DLD_PROP_DEFAULT) {
773 default_val = kprop->pr_val;
774 default_size = kprop->pr_valsize;
781 err = mac_prop_info(dlp->dl_mh, kprop->pr_num, kprop->pr_name,
782 default_val, default_size, rangep, &kprop->pr_perm_flags);
787 err = mac_get_prop(dlp->dl_mh, kprop->pr_num,
788 kprop->pr_name, kprop->pr_val, kprop->pr_valsize);
794 if (!set && ddi_copyout(kprop, (void *)arg, dsize, mode) != 0)
818 if (kprop != NULL)
819 kmem_free(kprop, dsize);