13 rz_list_foreach (
stream->ex_hdrs, it, ex_hdr) {
63 ut32 ex_size =
s->hdr.mod_info_size;
66 while (read_len < ex_size) {
116 if ((read_len % 4)) {
117 ut16 remain = 4 - (read_len % 4);
128 if (read_len != ex_size) {
168 ut64 seek =
s->hdr.section_contribution_size +
s->hdr.section_map_size +
169 s->hdr.source_info_size +
s->hdr.type_server_map_size +
170 s->hdr.ec_substream_size;
RZ_IPI bool parse_dbi_stream(RzPdb *pdb, RzPdbMsfStream *stream)
RZ_IPI void free_dbi_stream(RzPdbDbiStream *stream)
static bool parse_dbi_stream_header(RzPdbDbiStream *s, RzBuffer *buf)
static bool parse_dbi_stream_ex_header(RzPdbDbiStream *s, RzBuffer *buf)
static bool parse_dbi_stream_section_entry(RzPdbDbiStreamExHdr *hdr, RzBuffer *buf)
static bool parse_dbi_dbg_header(RzPdbDbiStream *s, RzBuffer *buf)
RZ_API void Ht_() free(HtName_(Ht) *ht)
RZ_API RZ_OWN RzList * rz_list_new(void)
Returns a new initialized RzList pointer (free method is not initialized)
RZ_API RZ_BORROW RzListIter * rz_list_append(RZ_NONNULL RzList *list, void *data)
Appends at the end of the list a new element.
RZ_API void rz_list_free(RZ_NONNULL RzList *list)
Empties the list and frees the list pointer.
RZ_API ut64 rz_buf_tell(RZ_NONNULL RzBuffer *b)
Return the current cursor position.
RZ_API st64 rz_buf_seek(RZ_NONNULL RzBuffer *b, st64 addr, int whence)
Modify the current cursor position in the buffer.
RZ_API RZ_OWN char * rz_buf_get_string(RZ_NONNULL RzBuffer *b, ut64 addr)
Get a string from the buffer.
#define rz_buf_read_le16(b, result)
Read a big endian or little endian (ut16, ut32, ut64) at the specified offset in the buffer and shift...
#define rz_buf_read_le32(b, result)
#define RZ_LOG_ERROR(fmtstr,...)
ut64(WINAPI *w32_GetEnabledXStateFeatures)()