dam
damap_free(struct dam *dam, void **kdamda, int kdamda_n)
if (dam) {
ss = (struct i_ddi_soft_state *)dam->dam_da;
bitset_free(&dam->dam_report_set, 1);
bitset_free(&dam->dam_stable_set, 1);
bitset_free(&dam->dam_active_set, 1);
local_strfree(dam->dam_name);
mdb_free(dam, sizeof (*dam));
struct dam *
struct dam kdam;
struct dam *dam = NULL;
dam = mdb_zalloc(sizeof (*dam), UM_SLEEP);
*dam = kdam;
dam->dam_name = NULL;
dam->dam_active_set.bs_set = NULL;
dam->dam_stable_set.bs_set = NULL;
dam->dam_report_set.bs_set = NULL;
dam->dam_da = NULL;
dam->dam_name = local_strdup(kstring);
bs = bitset_get(damaddr + (offsetof(struct dam, dam_active_set)));
dam->dam_active_set = *bs;
bs = bitset_get(damaddr + (offsetof(struct dam, dam_stable_set)));
dam->dam_stable_set = *bs;
bs = bitset_get(damaddr + (offsetof(struct dam, dam_report_set)));
dam->dam_report_set = *bs;
dam->dam_da = ss;
return (dam);
err: damap_free(dam, kssarray, array_sz / sizeof (void *));
damap_print(struct dam *dam, void **kdamda, int kdamda_n)
mdb_printf("%s:\n", dam->dam_name);
ss = (struct i_ddi_soft_state *)dam->dam_da;
if (BT_TEST(dam->dam_active_set.bs_set, i))
if (BT_TEST(dam->dam_stable_set.bs_set, i))
if (BT_TEST(dam->dam_report_set.bs_set, i))
struct dam *dam;
dam = damap_get(addr, &kdamda, &kdamda_n);
if (dam == NULL)
damap_print(dam, kdamda, kdamda_n);
damap_free(dam, kdamda, kdamda_n);
typedef struct dam dam_t;