Lines Matching refs: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);
81 symit_free(si);
91 symit_data_t *si = NULL;
109 if ((si = symit_new(elf, file)) == NULL) {
114 td = ctf_load(file, ctfdata->d_buf, ctfdata->d_size, si, label);
117 symit_free(si);
344 symit_data_t *si;
351 si = xcalloc(sizeof (symit_data_t));
354 gelf_getshdr(scn, &si->si_shdr) == NULL ||
355 (si->si_symd = elf_getdata(scn, NULL)) == NULL)
358 if ((scn = elf_getscn(elf, si->si_shdr.sh_link)) == NULL ||
359 (si->si_strd = elf_getdata(scn, NULL)) == NULL)
362 si->si_nument = si->si_shdr.sh_size / si->si_shdr.sh_entsize;
364 return (si);
368 symit_free(symit_data_t *si)
370 free(si);
374 symit_reset(symit_data_t *si)
376 si->si_next = 0;
380 symit_curfile(symit_data_t *si)
382 return (si->si_curfile);
386 symit_next(symit_data_t *si, int type)
391 for (; si->si_next < si->si_nument; si->si_next++) {
392 gelf_getsym(si->si_symd, si->si_next, &si->si_cursym);
393 gelf_getsym(si->si_symd, si->si_next, &sym);
394 si->si_curname = (caddr_t)si->si_strd->d_buf + sym.st_name;
397 si->si_curfile = si->si_curname;
403 if (check_sym && ignore_symbol(&sym, si->si_curname))
406 si->si_next++;
408 return (&si->si_cursym);
415 symit_name(symit_data_t *si)
417 return (si->si_curname);