Lines Matching refs:dhp

139 dis_set_data(dis_handle_t *dhp, void *data)  in dis_set_data()  argument
141 dhp->dh_data = data; in dis_set_data()
145 dis_flags_set(dis_handle_t *dhp, int f) in dis_flags_set() argument
147 dhp->dh_flags |= f; in dis_flags_set()
151 dis_flags_clear(dis_handle_t *dhp, int f) in dis_flags_clear() argument
153 dhp->dh_flags &= ~f; in dis_flags_clear()
157 dis_handle_destroy(dis_handle_t *dhp) in dis_handle_destroy() argument
159 if (dhp->dh_arch->da_handle_detach != NULL) in dis_handle_destroy()
160 dhp->dh_arch->da_handle_detach(dhp); in dis_handle_destroy()
162 dis_free(dhp, sizeof (dis_handle_t)); in dis_handle_destroy()
169 dis_handle_t *dhp; in dis_handle_create() local
185 if ((dhp = dis_zalloc(sizeof (dis_handle_t))) == NULL) { in dis_handle_create()
189 dhp->dh_arch = arch; in dis_handle_create()
190 dhp->dh_lookup = lookup_func; in dis_handle_create()
191 dhp->dh_read = read_func; in dis_handle_create()
192 dhp->dh_flags = flags; in dis_handle_create()
193 dhp->dh_data = data; in dis_handle_create()
200 arch->da_handle_attach(dhp) != 0) { in dis_handle_create()
201 dis_free(dhp, sizeof (dis_handle_t)); in dis_handle_create()
206 return (dhp); in dis_handle_create()
210 dis_disassemble(dis_handle_t *dhp, uint64_t addr, char *buf, size_t buflen) in dis_disassemble() argument
212 return (dhp->dh_arch->da_disassemble(dhp, addr, buf, buflen)); in dis_disassemble()
222 dis_generic_previnstr(dis_handle_t *dhp, uint64_t pc, int n) in dis_generic_previnstr() argument
231 if (dhp->dh_lookup(dhp->dh_data, pc, NULL, 0, &start, NULL) != 0 || in dis_generic_previnstr()
237 for (cur = 0, nseen = 0, addr = start; addr < pc; addr = dhp->dh_addr) { in dis_generic_previnstr()
243 if (dis_disassemble(dhp, addr, NULL, 0) != 0) in dis_generic_previnstr()
271 dis_previnstr(dis_handle_t *dhp, uint64_t pc, int n) in dis_previnstr() argument
273 if (dhp->dh_arch->da_previnstr == NULL) in dis_previnstr()
274 return (dis_generic_previnstr(dhp, pc, n)); in dis_previnstr()
276 return (dhp->dh_arch->da_previnstr(dhp, pc, n)); in dis_previnstr()
280 dis_min_instrlen(dis_handle_t *dhp) in dis_min_instrlen() argument
282 return (dhp->dh_arch->da_min_instrlen(dhp)); in dis_min_instrlen()
286 dis_max_instrlen(dis_handle_t *dhp) in dis_max_instrlen() argument
288 return (dhp->dh_arch->da_max_instrlen(dhp)); in dis_max_instrlen()
292 dis_generic_instrlen(dis_handle_t *dhp, uint64_t pc) in dis_generic_instrlen() argument
294 if (dis_disassemble(dhp, pc, NULL, 0) != 0) in dis_generic_instrlen()
297 return (dhp->dh_addr - pc); in dis_generic_instrlen()
301 dis_instrlen(dis_handle_t *dhp, uint64_t pc) in dis_instrlen() argument
303 if (dhp->dh_arch->da_instrlen == NULL) in dis_instrlen()
304 return (dis_generic_instrlen(dhp, pc)); in dis_instrlen()
306 return (dhp->dh_arch->da_instrlen(dhp, pc)); in dis_instrlen()