15 #define CAB_SIGNATURE "MSCF"
16 #define PDB_SIGNATURE "Microsoft C/C++ MSF 7.00\r\n\x1a\x44\x53\x00\x00\x00"
17 #define PDB_SIGNATURE_LEN 32
19 #define GET_BF(value, start, len) (((value) >> (start)) & ((1 << len) - 1))
struct dbi_stream_header_t RzPdbRzPdbDbiStreamHdr
RZ_API int rz_bin_pdb_omap_remap(RZ_NONNULL RzPdbOmapStream *omap_stream, int address)
return remapped symbol address
RZ_API ut64 rz_bin_pdb_get_type_val(RZ_NONNULL RzPdbTpiType *type)
Get the numeric value inside the type.
struct dbi_stream_t RzPdbDbiStream
enum pdb_stream_index_t RzRzPdbStreamIndex
RZ_API RZ_BORROW RzList * rz_bin_pdb_get_type_members(RZ_NONNULL RzPdbTpiStream *stream, RzPdbTpiType *t)
Get the RzPdbTpiType member list.
RZ_API RZ_OWN RzPdb * rz_bin_pdb_parse_from_file(RZ_NONNULL const char *filename)
Parse PDB file given the path.
#define PDB_SIGNATURE_LEN
RZ_API RZ_BORROW RzPdbTpiType * rz_bin_pdb_get_type_by_index(RZ_NONNULL RzPdbTpiStream *stream, ut32 index)
Get RzPdbTpiType that matches tpi stream index.
RZ_API RZ_OWN char * rz_bin_pdb_calling_convention_as_string(RZ_NONNULL RzPdbTpiCallingConvention idx)
Parses calling convention type as string.
RZ_API RZ_BORROW char * rz_bin_pdb_get_type_name(RZ_NONNULL RzPdbTpiType *type)
Get the name of the type.
RzPdbTpiCallingConvention
RZ_API void rz_bin_pdb_free(RzPdb *pdb)
Free PDB instance.
RZ_API RZ_OWN RzPdb * rz_bin_pdb_parse_from_buf(RZ_NONNULL const RzBuffer *buf)
Parse PDB from the buffer.
@ PDB_STREAM_SECT__HDR_ORIG
@ PDB_STREAM_TOKEN_RID_MAP
@ PDB_STREAM_OMAP_FROM_SRC
struct tpi_stream_header_t RzPdbTpiStreamHeader
RZ_API bool rz_bin_pdb_extract_in_folder(RZ_NONNULL const char *file_cab, RZ_NONNULL const char *output_dir)
Extracts compressed PDB files into a folder.
RZ_API bool rz_bin_pdb_type_is_fwdref(RZ_NONNULL RzPdbTpiType *t)
Return true if type is forward definition.
struct tpi_types RzPdbTpiType
struct tpi_stream_t RzPdbTpiStream
MSF file format header https://llvm.org/docs/PDB/MsfFile.html#the-superblock.
ut32 num_directory_bytes
The size of the stream directory, in bytes.
ut32 num_blocks
The total number of blocks in the file.
ut32 block_size
The block size of the internal file system.
ut32 block_map_addr
The index of a block within the MSF file.
ut32 free_block_map_block
The index of a block within the file, the data within that block is not used.
RzPdbRzPdbDbiStreamHdr hdr
RzPdbRzPdbDbiStreamDbgHeader dbg_hdr
RzPdbGDataStream * s_gdata
RzPdbMsfSuperBlock * super_block
RzPdbTpiStreamHeader header
ut64(WINAPI *w32_GetEnabledXStateFeatures)()