Lines Matching refs:pe
35 pe_getscn(PE *pe, size_t ndx) in pe_getscn() argument
39 if (pe == NULL || ndx < 1 || ndx > 0xFFFFU) { in pe_getscn()
44 STAILQ_FOREACH(ps, &pe->pe_scn, ps_next) { in pe_getscn()
67 pe_nextscn(PE *pe, PE_Scn *ps) in pe_nextscn() argument
70 if (pe == NULL) { in pe_nextscn()
76 ps = STAILQ_FIRST(&pe->pe_scn); in pe_nextscn()
90 pe_newscn(PE *pe) in pe_newscn() argument
94 if (pe == NULL) { in pe_newscn()
99 if (pe->pe_cmd == PE_C_READ || pe->pe_flags & LIBPE_F_FD_DONE) { in pe_newscn()
104 if ((ps = libpe_alloc_scn(pe)) == NULL) in pe_newscn()
107 if (pe->pe_flags & LIBPE_F_BAD_SEC_HEADER) { in pe_newscn()
108 STAILQ_FOREACH_SAFE(tps, &pe->pe_scn, ps_next, _tps) in pe_newscn()
110 pe->pe_flags &= ~LIBPE_F_BAD_SEC_HEADER; in pe_newscn()
113 STAILQ_INSERT_TAIL(&pe->pe_scn, ps, ps_next); in pe_newscn()
116 pe->pe_flags |= LIBPE_F_DIRTY_SEC_HEADER; in pe_newscn()
122 pe_insertscn(PE *pe, size_t ndx) in pe_insertscn() argument
126 if (pe == NULL || ndx < 1 || ndx > 0xFFFFU) { in pe_insertscn()
131 if (pe->pe_cmd == PE_C_READ || pe->pe_flags & LIBPE_F_FD_DONE) { in pe_insertscn()
136 if ((ps = libpe_alloc_scn(pe)) == NULL) in pe_insertscn()
139 if (pe->pe_flags & LIBPE_F_BAD_SEC_HEADER) { in pe_insertscn()
140 STAILQ_FOREACH_SAFE(a, &pe->pe_scn, ps_next, b) in pe_insertscn()
142 pe->pe_flags &= ~LIBPE_F_BAD_SEC_HEADER; in pe_insertscn()
146 STAILQ_FOREACH(a, &pe->pe_scn, ps_next) { in pe_insertscn()
155 STAILQ_INSERT_TAIL(&pe->pe_scn, ps, ps_next); in pe_insertscn()
161 STAILQ_INSERT_HEAD(&pe->pe_scn, ps, ps_next); in pe_insertscn()
164 STAILQ_INSERT_AFTER(&pe->pe_scn, b, ps, ps_next); in pe_insertscn()
175 pe->pe_flags |= LIBPE_F_DIRTY_SEC_HEADER; in pe_insertscn()
195 PE *pe; in pe_update_section_header() local
202 pe = ps->ps_pe; in pe_update_section_header()
204 if (pe->pe_cmd == PE_C_READ || pe->pe_flags & LIBPE_F_FD_DONE) { in pe_update_section_header()
210 pe->pe_flags |= LIBPE_F_DIRTY_SEC_HEADER; in pe_update_section_header()