Lines Matching refs:sep

759 mdb_tgt_sespec_prune_one(mdb_tgt_t *t, mdb_sespec_t *sep)  in mdb_tgt_sespec_prune_one()  argument
763 for (vep = mdb_list_next(&sep->se_velist); vep; vep = nvep) { in mdb_tgt_sespec_prune_one()
781 mdb_sespec_t *sep, *nsep; in mdb_tgt_sespec_prune_all() local
783 for (sep = mdb_list_next(&t->t_active); sep != NULL; sep = nsep) { in mdb_tgt_sespec_prune_all()
784 nsep = mdb_list_next(sep); in mdb_tgt_sespec_prune_all()
785 mdb_tgt_sespec_prune_one(t, sep); in mdb_tgt_sespec_prune_all()
794 mdb_tgt_sespec_idle_one(mdb_tgt_t *t, mdb_sespec_t *sep, int reason) in mdb_tgt_sespec_idle_one() argument
796 ASSERT(sep->se_state != MDB_TGT_SPEC_IDLE); in mdb_tgt_sespec_idle_one()
798 if (sep->se_state == MDB_TGT_SPEC_ARMED) in mdb_tgt_sespec_idle_one()
799 (void) sep->se_ops->se_disarm(t, sep); in mdb_tgt_sespec_idle_one()
801 sep->se_ops->se_dtor(t, sep); in mdb_tgt_sespec_idle_one()
802 sep->se_data = NULL; in mdb_tgt_sespec_idle_one()
804 sep->se_state = MDB_TGT_SPEC_IDLE; in mdb_tgt_sespec_idle_one()
805 sep->se_errno = reason; in mdb_tgt_sespec_idle_one()
807 mdb_list_delete(&t->t_active, sep); in mdb_tgt_sespec_idle_one()
808 mdb_list_append(&t->t_idle, sep); in mdb_tgt_sespec_idle_one()
810 mdb_tgt_sespec_prune_one(t, sep); in mdb_tgt_sespec_idle_one()
820 mdb_sespec_t *sep, *nsep; in mdb_tgt_sespec_idle_all() local
823 while ((sep = t->t_matched) != T_SE_END && clear_matched) { in mdb_tgt_sespec_idle_all()
824 for (vep = mdb_list_next(&sep->se_velist); vep != NULL; ) { in mdb_tgt_sespec_idle_all()
829 t->t_matched = sep->se_matched; in mdb_tgt_sespec_idle_all()
830 sep->se_matched = NULL; in mdb_tgt_sespec_idle_all()
831 mdb_tgt_sespec_rele(t, sep); in mdb_tgt_sespec_idle_all()
834 for (sep = mdb_list_next(&t->t_active); sep != NULL; sep = nsep) { in mdb_tgt_sespec_idle_all()
835 nsep = mdb_list_next(sep); in mdb_tgt_sespec_idle_all()
836 mdb_tgt_sespec_idle_one(t, sep, reason); in mdb_tgt_sespec_idle_all()
860 mdb_tgt_sespec_activate_one(mdb_tgt_t *t, mdb_sespec_t *sep) in mdb_tgt_sespec_activate_one() argument
862 mdb_vespec_t *vep = mdb_list_next(&sep->se_velist); in mdb_tgt_sespec_activate_one()
867 ASSERT(sep->se_state == MDB_TGT_SPEC_IDLE); in mdb_tgt_sespec_activate_one()
878 if (dup->se_ops == sep->se_ops && in mdb_tgt_sespec_activate_one()
880 ASSERT(dup != sep); in mdb_tgt_sespec_activate_one()
890 for (vep = mdb_list_next(&sep->se_velist); vep; vep = nvep) { in mdb_tgt_sespec_activate_one()
900 mdb_list_delete(&sep->se_velist, vep); in mdb_tgt_sespec_activate_one()
901 mdb_tgt_sespec_rele(t, sep); in mdb_tgt_sespec_activate_one()
909 (void *)sep, (void *)dup); in mdb_tgt_sespec_activate_one()
917 if (sep->se_ops->se_ctor(t, sep, vep->ve_args) < 0) { in mdb_tgt_sespec_activate_one()
918 sep->se_errno = errno; in mdb_tgt_sespec_activate_one()
919 sep->se_data = NULL; in mdb_tgt_sespec_activate_one()
924 for (vep = mdb_list_next(&sep->se_velist); vep; vep = nvep) { in mdb_tgt_sespec_activate_one()
928 mdb_list_delete(&t->t_idle, sep); in mdb_tgt_sespec_activate_one()
929 mdb_list_append(&t->t_active, sep); in mdb_tgt_sespec_activate_one()
930 sep->se_state = MDB_TGT_SPEC_ACTIVE; in mdb_tgt_sespec_activate_one()
931 sep->se_errno = 0; in mdb_tgt_sespec_activate_one()
948 mdb_sespec_t *sep, *nsep; in mdb_tgt_sespec_activate_all() local
951 for (sep = mdb_list_next(&t->t_idle); sep != NULL; sep = nsep) { in mdb_tgt_sespec_activate_all()
952 nsep = mdb_list_next(sep); in mdb_tgt_sespec_activate_all()
954 if (mdb_tgt_sespec_activate_one(t, sep) < 0 && in mdb_tgt_sespec_activate_all()
955 sep->se_errno != EMDB_NOOBJ) in mdb_tgt_sespec_activate_all()
968 mdb_tgt_sespec_arm_one(mdb_tgt_t *t, mdb_sespec_t *sep) in mdb_tgt_sespec_arm_one() argument
970 ASSERT(sep->se_state != MDB_TGT_SPEC_IDLE); in mdb_tgt_sespec_arm_one()
972 if (sep->se_state == MDB_TGT_SPEC_ARMED) in mdb_tgt_sespec_arm_one()
975 if (sep->se_ops->se_arm(t, sep) == -1) { in mdb_tgt_sespec_arm_one()
976 sep->se_state = MDB_TGT_SPEC_ERROR; in mdb_tgt_sespec_arm_one()
977 sep->se_errno = errno; in mdb_tgt_sespec_arm_one()
979 sep->se_state = MDB_TGT_SPEC_ARMED; in mdb_tgt_sespec_arm_one()
980 sep->se_errno = 0; in mdb_tgt_sespec_arm_one()
991 mdb_sespec_t *sep, *nsep; in mdb_tgt_sespec_arm_all() local
993 for (sep = mdb_list_next(&t->t_active); sep != NULL; sep = nsep) { in mdb_tgt_sespec_arm_all()
994 nsep = mdb_list_next(sep); in mdb_tgt_sespec_arm_all()
995 if (sep->se_matched == NULL) in mdb_tgt_sespec_arm_all()
996 mdb_tgt_sespec_arm_one(t, sep); in mdb_tgt_sespec_arm_all()
1008 mdb_sespec_t *sep; in tgt_disarm_sespecs() local
1010 for (sep = mdb_list_next(&t->t_active); sep; sep = mdb_list_next(sep)) { in tgt_disarm_sespecs()
1011 if (sep->se_state != MDB_TGT_SPEC_ARMED) in tgt_disarm_sespecs()
1014 if (sep->se_ops->se_disarm(t, sep) == -1) { in tgt_disarm_sespecs()
1015 sep->se_state = MDB_TGT_SPEC_ERROR; in tgt_disarm_sespecs()
1016 sep->se_errno = errno; in tgt_disarm_sespecs()
1018 sep->se_state = MDB_TGT_SPEC_ACTIVE; in tgt_disarm_sespecs()
1019 sep->se_errno = 0; in tgt_disarm_sespecs()
1034 mdb_sespec_t *sep; in tgt_match_sespecs() local
1036 for (sep = mdb_list_next(&t->t_active); sep; sep = mdb_list_next(sep)) { in tgt_match_sespecs()
1037 if (all == FALSE && sep->se_state != MDB_TGT_SPEC_ARMED) in tgt_match_sespecs()
1040 if (sep->se_state != MDB_TGT_SPEC_ERROR && in tgt_match_sespecs()
1041 sep->se_ops->se_match(t, sep, &t->t_status)) { in tgt_match_sespecs()
1042 mdb_dprintf(MDB_DBG_TGT, "match se %p\n", (void *)sep); in tgt_match_sespecs()
1043 mdb_tgt_sespec_hold(t, sep); in tgt_match_sespecs()
1044 sep->se_matched = t->t_matched; in tgt_match_sespecs()
1045 t->t_matched = sep; in tgt_match_sespecs()
1069 mdb_sespec_t *sep, *nsep, *matched; in tgt_continue() local
1150 for (sep = matched; sep != T_SE_END; sep = sep->se_matched) { in tgt_continue()
1151 for (vep = mdb_list_next(&sep->se_velist); vep != NULL; ) { in tgt_continue()
1160 if (sep->se_ops->se_cont(t, sep, &t->t_status) == -1) { in tgt_continue()
1180 for (sep = matched; sep != T_SE_END; sep = nsep) { in tgt_continue()
1181 nsep = sep->se_matched; in tgt_continue()
1182 sep->se_matched = NULL; in tgt_continue()
1183 mdb_tgt_sespec_rele(t, sep); in tgt_continue()
1228 for (sep = t->t_matched; sep != T_SE_END; sep = sep->se_matched) { in tgt_continue()
1238 for (vep = mdb_list_next(&sep->se_velist); in tgt_continue()
1313 mdb_sespec_t *sep; in tgt_request_continue() local
1327 for (sep = t->t_matched; sep != T_SE_END; in tgt_request_continue()
1328 sep = sep->se_matched) { in tgt_request_continue()
1331 for (vep = mdb_list_next(&sep->se_velist); vep; in tgt_request_continue()
1335 warn("%s\n", sep->se_ops->se_info(t, sep, in tgt_request_continue()
1437 mdb_sespec_t *sep; in mdb_tgt_vespec_info() local
1449 sep = vep->ve_se; in mdb_tgt_vespec_info()
1455 sp->spec_state = sep->se_state; in mdb_tgt_vespec_info()
1456 sp->spec_errno = sep->se_errno; in mdb_tgt_vespec_info()
1461 return (sep->se_ops->se_info(t, sep, vep, sp, buf, nbytes)); in mdb_tgt_vespec_info()
1488 mdb_sespec_t *sep; in mdb_tgt_vespec_iter() local
1496 for (sep = mdb_list_next(&t->t_active); sep; sep = mdb_list_next(sep)) { in mdb_tgt_vespec_iter()
1497 for (vep = mdb_list_next(&sep->se_velist); vep; vep = nvep) { in mdb_tgt_vespec_iter()
1504 for (sep = mdb_list_next(&t->t_idle); sep; sep = mdb_list_next(sep)) { in mdb_tgt_vespec_iter()
1505 for (vep = mdb_list_next(&sep->se_velist); vep; vep = nvep) { in mdb_tgt_vespec_iter()
1639 mdb_sespec_t *sep; in mdb_tgt_vespec_disable() local
1650 sep = mdb_tgt_sespec_insert(t, vep->ve_se->se_ops, &t->t_idle); in mdb_tgt_vespec_disable()
1655 mdb_list_append(&sep->se_velist, vep); in mdb_tgt_vespec_disable()
1656 mdb_tgt_sespec_hold(t, sep); in mdb_tgt_vespec_disable()
1659 vep->ve_se = sep; in mdb_tgt_vespec_disable()
1974 mdb_tgt_sespec_hold(mdb_tgt_t *t, mdb_sespec_t *sep) in mdb_tgt_sespec_hold() argument
1976 sep->se_refs++; in mdb_tgt_sespec_hold()
1977 ASSERT(sep->se_refs != 0); in mdb_tgt_sespec_hold()
1981 mdb_tgt_sespec_rele(mdb_tgt_t *t, mdb_sespec_t *sep) in mdb_tgt_sespec_rele() argument
1983 ASSERT(sep->se_refs != 0); in mdb_tgt_sespec_rele()
1985 if (--sep->se_refs == 0) { in mdb_tgt_sespec_rele()
1986 mdb_dprintf(MDB_DBG_TGT, "destroying sespec %p\n", (void *)sep); in mdb_tgt_sespec_rele()
1987 ASSERT(mdb_list_next(&sep->se_velist) == NULL); in mdb_tgt_sespec_rele()
1989 if (sep->se_state != MDB_TGT_SPEC_IDLE) { in mdb_tgt_sespec_rele()
1990 sep->se_ops->se_dtor(t, sep); in mdb_tgt_sespec_rele()
1991 mdb_list_delete(&t->t_active, sep); in mdb_tgt_sespec_rele()
1993 mdb_list_delete(&t->t_idle, sep); in mdb_tgt_sespec_rele()
1995 mdb_free(sep, sizeof (mdb_sespec_t)); in mdb_tgt_sespec_rele()
2002 mdb_sespec_t *sep = mdb_zalloc(sizeof (mdb_sespec_t), UM_SLEEP); in mdb_tgt_sespec_insert() local
2005 sep->se_state = MDB_TGT_SPEC_ACTIVE; in mdb_tgt_sespec_insert()
2007 sep->se_state = MDB_TGT_SPEC_IDLE; in mdb_tgt_sespec_insert()
2009 mdb_list_append(list, sep); in mdb_tgt_sespec_insert()
2010 sep->se_ops = ops; in mdb_tgt_sespec_insert()
2011 return (sep); in mdb_tgt_sespec_insert()
2017 mdb_sespec_t *sep; in mdb_tgt_sespec_lookup_active() local
2019 for (sep = mdb_list_next(&t->t_active); sep; sep = mdb_list_next(sep)) { in mdb_tgt_sespec_lookup_active()
2020 if (sep->se_ops == ops && sep->se_ops->se_secmp(t, sep, args)) in mdb_tgt_sespec_lookup_active()
2024 return (sep); in mdb_tgt_sespec_lookup_active()
2030 mdb_sespec_t *sep; in mdb_tgt_sespec_lookup_idle() local
2032 for (sep = mdb_list_next(&t->t_idle); sep; sep = mdb_list_next(sep)) { in mdb_tgt_sespec_lookup_idle()
2033 if (sep->se_ops == ops && sep->se_ops->se_vecmp(t, in mdb_tgt_sespec_lookup_idle()
2034 mdb_list_next(&sep->se_velist), args)) in mdb_tgt_sespec_lookup_idle()
2038 return (sep); in mdb_tgt_sespec_lookup_idle()
2092 mdb_sespec_t *sep; in mdb_tgt_vespec_insert() local
2114 sep = mdb_tgt_sespec_insert(t, ops, &t->t_idle); in mdb_tgt_vespec_insert()
2115 else if ((sep = mdb_tgt_sespec_lookup_active(t, ops, args)) == NULL && in mdb_tgt_vespec_insert()
2116 (sep = mdb_tgt_sespec_lookup_idle(t, ops, args)) == NULL) in mdb_tgt_vespec_insert()
2117 sep = mdb_tgt_sespec_insert(t, ops, &t->t_active); in mdb_tgt_vespec_insert()
2141 vep->ve_se = sep; in mdb_tgt_vespec_insert()
2147 mdb_list_append(&sep->se_velist, vep); in mdb_tgt_vespec_insert()
2148 mdb_tgt_sespec_hold(t, sep); in mdb_tgt_vespec_insert()
2158 if (sep->se_refs == 1 && sep->se_state == MDB_TGT_SPEC_ACTIVE && in mdb_tgt_vespec_insert()
2159 sep->se_ops->se_ctor(t, sep, vep->ve_args) == -1) { in mdb_tgt_vespec_insert()
2161 mdb_list_delete(&t->t_active, sep); in mdb_tgt_vespec_insert()
2162 mdb_list_append(&t->t_idle, sep); in mdb_tgt_vespec_insert()
2164 sep->se_state = MDB_TGT_SPEC_IDLE; in mdb_tgt_vespec_insert()
2165 sep->se_errno = errno; in mdb_tgt_vespec_insert()
2166 sep->se_data = NULL; in mdb_tgt_vespec_insert()
2174 if (sep->se_state == MDB_TGT_SPEC_ACTIVE && in mdb_tgt_vespec_insert()
2176 mdb_tgt_sespec_arm_one(t, sep); in mdb_tgt_vespec_insert()
2179 vep->ve_id, (void *)sep, sep->se_refs, sep->se_state); in mdb_tgt_vespec_insert()
2191 mdb_sespec_t *sep; in mdb_tgt_vespec_lookup() local
2197 for (sep = mdb_list_next(&t->t_active); sep; sep = mdb_list_next(sep)) { in mdb_tgt_vespec_lookup()
2198 for (vep = mdb_list_next(&sep->se_velist); vep; in mdb_tgt_vespec_lookup()
2205 for (sep = mdb_list_next(&t->t_idle); sep; sep = mdb_list_next(sep)) { in mdb_tgt_vespec_lookup()
2206 for (vep = mdb_list_next(&sep->se_velist); vep; in mdb_tgt_vespec_lookup()
2232 no_se_dtor(mdb_tgt_t *t, mdb_sespec_t *sep) in no_se_dtor() argument
2239 no_se_secmp(mdb_tgt_t *t, mdb_sespec_t *sep, void *args) in no_se_secmp() argument
2241 return (sep->se_data == args); in no_se_secmp()
2253 no_se_arm(mdb_tgt_t *t, mdb_sespec_t *sep) in no_se_arm() argument
2260 no_se_disarm(mdb_tgt_t *t, mdb_sespec_t *sep) in no_se_disarm() argument
2267 no_se_cont(mdb_tgt_t *t, mdb_sespec_t *sep, mdb_tgt_status_t *tsp) in no_se_cont() argument