Lines Matching defs:addrid

406 	id_t addrid;
418 ((addrid = dam_get_addrid(mapp, address)) == 0)) {
423 passp = ddi_get_soft_state(mapp->dam_da, addrid);
430 if (DAM_IN_REPORT(mapp, addrid)) {
435 dam_addr_report_release(mapp, addrid);
442 dam_addr_report(mapp, passp, addrid, RPT_ADDR_ADD);
444 *addridp = (damap_id_t)addrid;
463 id_t addrid;
482 if (!(addrid = ddi_strid_str2id(mapp->dam_addr_hash, address))) {
486 passp = ddi_get_soft_state(mapp->dam_da, addrid);
488 if (DAM_IN_REPORT(mapp, addrid)) {
493 dam_addr_report_release(mapp, addrid);
496 dam_addr_report(mapp, passp, addrid, RPT_ADDR_DEL);
626 id_t addrid;
641 if ((addrid = dam_get_addrid(mapp, address)) == 0) {
646 passp = ddi_get_soft_state(mapp->dam_da, addrid);
648 if (DAM_IN_REPORT(mapp, addrid)) {
652 dam_addr_report_release(mapp, addrid);
658 bitset_add(&mapp->dam_report_set, addrid);
660 *ridx = (damap_id_t)addrid;
713 * addrid: address ID
719 damap_id2nvlist(damap_t *damapp, damap_id_t addrid)
724 if (mapp->dam_high && ddi_strid_id2str(mapp->dam_addr_hash, addrid)) {
725 if (pass = ddi_get_soft_state(mapp->dam_da, addrid))
735 * addrid: address ID
741 damap_id2addr(damap_t *damapp, damap_id_t addrid)
746 return (ddi_strid_id2str(mapp->dam_addr_hash, addrid));
755 * addrid: address ID
758 damap_id_rele(damap_t *damapp, damap_id_t addrid)
764 passp = ddi_get_soft_state(mapp->dam_da, (id_t)addrid);
767 addr = damap_id2addr(damapp, addrid);
778 dam_addr_release(mapp, (id_t)addrid);
787 * addrid: address ID
793 damap_id_ref(damap_t *damapp, damap_id_t addrid)
799 passp = ddi_get_soft_state(mapp->dam_da, (id_t)addrid);
814 * Returns: addrid Next ID from the list
840 * addrid: address ID
845 damap_id_priv_set(damap_t *damapp, damap_id_t addrid, void *cfg_priv)
851 passp = ddi_get_soft_state(mapp->dam_da, (id_t)addrid);
864 * addrid: address ID
869 damap_id_priv_get(damap_t *damapp, damap_id_t addrid)
876 passp = ddi_get_soft_state(mapp->dam_da, (id_t)addrid);
901 id_t addrid = 0;
909 addrid = 0;
911 addrid = ddi_strid_str2id(mapp->dam_addr_hash, address);
912 if (addrid) {
913 if (DAM_IS_STABLE(mapp, addrid)) {
914 passp = ddi_get_soft_state(mapp->dam_da, addrid);
919 addrid = 0;
922 addrid = 0;
928 char *, address, int, addrid);
929 return ((damap_id_t)addrid);
1021 dam_addr_activate(dam_t *mapp, id_t addrid)
1028 bitset_add(&mapp->dam_active_set, addrid);
1029 passp = ddi_get_soft_state(mapp->dam_da, addrid);
1035 addrstr = ddi_strid_id2str(mapp->dam_addr_hash, addrid);
1048 addrid, &passp->da_ppriv_rpt);
1056 addrid);
1064 dam_deact_cleanup(mapp, addrid, addrstr,
1077 dam_addr_deactivate(dam_t *mapp, id_t addrid)
1081 addrstr = ddi_strid_id2str(mapp->dam_addr_hash, addrid);
1089 (*mapp->dam_unconfig_cb)(mapp->dam_config_arg, mapp, addrid);
1090 dam_deact_cleanup(mapp, addrid, addrstr, DAMAP_DEACT_RSN_GONE);
1094 dam_deact_cleanup(dam_t *mapp, id_t addrid, char *addrstr,
1099 passp = ddi_get_soft_state(mapp->dam_da, addrid);
1103 ddi_strid_id2str(mapp->dam_addr_hash, addrid),
1104 addrid, passp->da_ppriv, deact_rsn);
1111 bitset_del(&mapp->dam_active_set, addrid);
1123 (void) dam_addr_release(mapp, addrid);
1248 dam_addr_release(dam_t *mapp, id_t addrid)
1255 passp = ddi_get_soft_state(mapp->dam_da, addrid);
1258 addrstr = ddi_strid_id2str(mapp->dam_addr_hash, addrid);
1277 if (DAM_IN_REPORT(mapp, addrid)) {
1284 ddi_strid_free(mapp->dam_addr_hash, addrid);
1285 ddi_soft_state_free(mapp->dam_da, addrid);
1605 dam_addr_report(dam_t *mapp, dam_da_t *passp, id_t addrid, int rpt_type)
1607 char *addrstr = damap_id2addr((damap_t *)mapp, addrid);
1614 ASSERT(!DAM_IN_REPORT(mapp, addrid));
1623 bitset_add(&mapp->dam_report_set, addrid);
1631 dam_addr_report_release(dam_t *mapp, id_t addrid)
1634 char *addrstr = damap_id2addr((damap_t *)mapp, addrid);
1641 passp = ddi_get_soft_state(mapp->dam_da, addrid);
1649 bitset_del(&mapp->dam_report_set, addrid);
1650 if (!DAM_IS_STABLE(mapp, addrid) && mapp->dam_deactivate_cb &&
1654 ddi_strid_id2str(mapp->dam_addr_hash, addrid),
1655 addrid, passp->da_ppriv_rpt, DAMAP_DEACT_RSN_UNSTBL);
1668 damap_id_t addrid;
1672 if ((addrid = ddi_strid_str2id(mapp->dam_addr_hash, address)) == 0) {
1673 if ((addrid = ddi_strid_alloc(mapp->dam_addr_hash,
1677 if (ddi_soft_state_zalloc(mapp->dam_da, addrid) !=
1679 ddi_strid_free(mapp->dam_addr_hash, addrid);
1683 if (addrid >= mapp->dam_high)
1684 mapp->dam_high = addrid + 1;
1696 passp = ddi_get_soft_state(mapp->dam_da, addrid);
1699 addrid); /* for mdb */
1701 return (addrid);