Lines Matching defs:si
53 symit_data_t *si;
55 if ((si = symit_new(elf, file)) == NULL)
58 while (symit_next(si, STT_FILE) != NULL) {
59 char *name = symit_name(si);
82 symit_free(si);
92 symit_data_t *si = NULL;
110 if ((si = symit_new(elf, file)) == NULL) {
115 td = ctf_load(file, ctfdata->d_buf, ctfdata->d_size, si, label);
118 symit_free(si);
345 symit_data_t *si;
352 si = xcalloc(sizeof (symit_data_t));
355 gelf_getshdr(scn, &si->si_shdr) == NULL ||
356 (si->si_symd = elf_getdata(scn, NULL)) == NULL)
359 if ((scn = elf_getscn(elf, si->si_shdr.sh_link)) == NULL ||
360 (si->si_strd = elf_getdata(scn, NULL)) == NULL)
363 si->si_nument = si->si_shdr.sh_size / si->si_shdr.sh_entsize;
365 return (si);
369 symit_free(symit_data_t *si)
371 free(si);
375 symit_reset(symit_data_t *si)
377 si->si_next = 0;
381 symit_curfile(symit_data_t *si)
383 return (si->si_curfile);
387 symit_next(symit_data_t *si, int type)
393 for (; si->si_next < si->si_nument; si->si_next++) {
394 gelf_getsym(si->si_symd, si->si_next, &si->si_cursym);
395 gelf_getsym(si->si_symd, si->si_next, &sym);
396 si->si_curname = (caddr_t)si->si_strd->d_buf + sym.st_name;
399 bname = strrchr(si->si_curname, '/');
400 si->si_curfile = bname == NULL ? si->si_curname : bname + 1;
407 if (check_sym && ignore_symbol(&sym, si->si_curname))
410 si->si_next++;
412 return (&si->si_cursym);
419 symit_name(symit_data_t *si)
421 return (si->si_curname);